sNews1.7在wamp上的部署及執行
安裝前的準備
- Apache Server 必須開啟 mod_rewrite 模組
- MySQL 資料庫版本在 4.x以上
- PHP: >= 4.x 並且 <=5.6
1.我使用的是wampsever,需要所有服務正常執行即圖示綠色,如下圖
2.開啟mod_rewrite模組(一般在 wamp安裝路徑\bin\apache\apache版本號\conf\httpd.conf。比如我的是 F:\wamp64\bin\apache\apache2.4.37\conf\httpd.conf)
如果有這句話 LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的#,如果沒有就加上這句話。
安裝步驟
1.設定資料庫
如果安裝路徑下有snews.sql檔案(在SQL資料夾裡),可以直接把查詢放到自己的資料庫裡執行。如果沒有就得自己寫一個,如下:
開啟mysql的命令列
一般情況下,新安裝的wamp資料庫使用者名稱是root,沒有密碼,直接回車就可進入
CREATE DATABASE snew; //建立一個數據庫,資料庫名稱可以更改,這裡以snew為例 USE DATABASE snew; CREATE TABLE `articles` ( `id` int(11) primary key auto_increment, `title` varchar(100) default NULL, `seftitle` varchar(100) default NULL, `text` longtext, `date` datetime default NULL, `category` int(8) NOT NULL default '0', `position` int(6) default NULL, `extraid` varchar(8) default NULL, `page_extra` varchar(8) default NULL, `displaytitle` char(3) NOT NULL default 'YES', `displayinfo` char(3) NOT NULL default 'YES', `commentable` varchar(5) NOT NULL default '', `published` int(3) NOT NULL default '1', `description_meta` varchar(255) default NULL, `keywords_meta` varchar(255) default NULL, `show_on_home` enum('YES','NO') default 'YES', `show_in_subcats` enum('YES','NO') default 'NO', `artorder` smallint(6) NOT NULL default '0', `visible` varchar(6) default 'YES', `default_page` varchar(6) default 'NO' );
INSERT INTO `articles` VALUES (1, 'Welcome to sNews 1.7', 'welcome-to-snews-17', ' If you're seeing this article, you have installed sNews 1.7 and are connected to the database. rnrn It is strongly suggested that you login right away, the default username and password is "test" and "test", then go to the page "settings". At the bottom of that page you'll find "Change Username and Password". Do it and make the password hard to guess. rnrn After doing that, feel free to delete this article & start building your site. rnrn If you stumble along the way, check the Troubleshooting and FAQ page. If you're still having trouble search the sNews CMS Forum before posting your question, it may already be answered. Still lost? We'll be there to assist you in any way we can. rnrn Thank you for choosing sNews. We hope you enjoy it as much as we do. ', NOW(), 1, 1, '', '', 'YES', 'YES', 'NO', 1, '', '', 'YES', 'NO', '1', 'YES', 'NO'); CREATE TABLE `extras` ( `id` int(8) primary key auto_increment, `name` varchar(40) NOT NULL, `seftitle` varchar(100) default NULL, `description` varchar(100) NOT NULL ); INSERT INTO `extras` VALUES (1, 'Extra', 'extra', 'The default extra'); CREATE TABLE `categories` ( `id` int(8) primary key auto_increment, `name` varchar(100) NOT NULL, `seftitle` varchar(100) NOT NULL, `description` varchar(255) NOT NULL, `published` varchar(4) NOT NULL default 'YES', `catorder` smallint(6) NOT NULL default '0', `subcat` int(8) NOT NULL default '0' ); INSERT INTO `categories` VALUES ('1', 'Uncategorized', 'uncategorized', '', 'YES', '1', '0'); CREATE TABLE `comments` ( `id` int(11) primary key auto_increment, `articleid` int(11) default '0', `name` varchar(50), `url` varchar(100) NOT NULL, `comment` text, `time` datetime NOT NULL default '0000-00-00 00:00:00', `approved` varchar(5) NOT NULL default 'True' ); CREATE TABLE `settings` ( `id` int(8) primary key auto_increment, `name` varchar(20) NOT NULL, `value` varchar(255) NOT NULL ); INSERT INTO `settings` VALUES (1, 'website_title', 'sNews 1.7'); INSERT INTO `settings` VALUES (2, 'home_sef', 'home'); INSERT INTO `settings` VALUES (3, 'website_description', 'sNews CMS'); INSERT INTO `settings` VALUES (4, 'website_keywords', 'new, site, snews'); INSERT INTO `settings` VALUES (5, 'website_email', '[email protected]'); INSERT INTO `settings` VALUES (6, 'contact_subject', 'Contact Form'); INSERT INTO `settings` VALUES (7, 'language', 'EN'); INSERT INTO `settings` VALUES (8, 'charset', 'UTF-8'); INSERT INTO `settings` VALUES (9, 'date_format', 'd.m.Y. H:i'); INSERT INTO `settings` VALUES (10, 'article_limit', '3'); INSERT INTO `settings` VALUES (11, 'rss_limit', '5'); INSERT INTO `settings` VALUES (12, 'display_page', ''); INSERT INTO `settings` VALUES (13, 'display_new_on_home', ''); INSERT INTO `settings` VALUES (14, 'display_pagination', ''); INSERT INTO `settings` VALUES (15, 'num_categories', 'on'); INSERT INTO `settings` VALUES (16, 'show_cat_names', ''); INSERT INTO `settings` VALUES (17, 'approve_comments', ''); INSERT INTO `settings` VALUES (18, 'mail_on_comments', ''); INSERT INTO `settings` VALUES (19, 'comment_repost_timer', '20'); INSERT INTO `settings` VALUES (20, 'comments_order', 'ASC'); INSERT INTO `settings` VALUES (21, 'comment_limit', '30'); INSERT INTO `settings` VALUES (22, 'enable_comments', 'NO'); INSERT INTO `settings` VALUES (23, 'freeze_comments', 'NO'); INSERT INTO `settings` VALUES (24, 'word_filter_enable', ''); INSERT INTO `settings` VALUES (25, 'word_filter_file', ''); INSERT INTO `settings` VALUES (26, 'word_filter_change', ''); INSERT INTO `settings` VALUES (27, 'username', '098f6bcd4621d373cade4e832627b4f6'); INSERT INTO `settings` VALUES (28, 'password', '098f6bcd4621d373cade4e832627b4f6'); INSERT INTO `settings` VALUES (29, 'enable_extras', 'NO'); INSERT INTO `settings` VALUES (30, 'last_date', NOW()); INSERT INTO `settings` VALUES (31, 'file_extensions', 'phps,php,txt,inc,htm,html'); INSERT INTO `settings` VALUES (32, 'allowed_files', 'php,htm,html,txt,inc,css,js,swf'); INSERT INTO `settings` VALUES (33, 'allowed_images', 'gif,jpg,jpeg,png'); -- SPECIAL KEYS ALTER TABLE `articles` ADD INDEX ( `show_on_home` ); ALTER TABLE `comments` ADD INDEX ( `articleid` );
上述程式碼建立時,
`time` datetime NOT NULL default '0000-00-00 00:00:00',
可能會報錯ERROR 1067 (42000): Invalid default value for 'add_time',
CREATE TABLE `comments` ( `id` int(11) primary key auto_increment, `articleid` int(11) default '0', `name` varchar(50), `url` varchar(100) NOT NULL, `comment` text, `time` datetime NOT NULL default '0000-00-00 00:00:00',//在這裡 `approved` varchar(5) NOT NULL default 'True' );
原因是不滿足sql_mode中的NO_ZERO_DATE 和 NO_ZERO_IN_DATE。
1. 修改sql_mode,去掉NO_ZERO_IN_DATE,NO_ZERO_DATE
2. 修改表的default值,去掉default。
3.我是直接改成了`time` datetime DEFAULT NULL COMMENT '0000-00-00 00:00:00',
修改程式碼後建立表,沒有錯誤。
2.修改設定
編輯 安裝路徑下的"snews.php" 並且 在此檔案中根據自己的需求更改 :
MySQL 本地伺服器:
'dbhost' => 'localhost',
資料庫名字: 之前建立的資料庫是snew
'dbname' => 'snew',
資料庫使用者名稱: 可自行選擇,我選擇的是超級使用者
'dbuname' => 'root',
資料庫密碼: 初始密碼為空,我也沒有做任何更改
'dbpass' => '',
資料庫字首: 必須以下劃線結尾 (例如: 'snews_');
'prefix' => ''
資料庫表字首-如果資料庫中的所有sNews表被放置在資料庫中,並且需要對其進行唯一命名,以免與資料庫中的其他表衝突,則在這些表的名稱之前新增一個字首。可以將字首新增到SQL指令碼中的表名中(如上所述)。以snews_為例,articles表名(及其關聯的資料插入字串)加上字首後:snews_articles,並且此處的字首值還將帶有一個下劃線(例如:'snews_'),該名稱通過phpmyadmin或類似名稱建立的資料庫編輯器,通常在託管公司僅提供一個數據庫時使用。
登入時預設的使用者名稱是test,密碼是test。
&n