先說點廢話:
俗話說新豬上任三把火,總要燒燒的,今天我也火上澆油一把。關於寫本文的目的可不是為了揚名海內外,主要是看到BSD版絕大部分都是FreeBSD和OpenBSD的帖子,而NetBSD少的是可憐兮兮,再加上阿明斑竹的煽動才鼓起勇氣在眾高手面前板門弄斧一下,還望多多指教。
看完本教程你將學會:
1、利用SSH遠程登錄進行管理
2、pkg、源代碼包的安裝方法
3、利用VI編輯器修改配置文檔
4、通過修改系統文件自啟動服務
5、初級安全知識
一、前期軟件准備:
由於個人網絡環境因素,是先將pkg和源代碼包從單位下載回家做的,所以第一步先下載相關軟件:apache-2.0.54nb1.tgz、mysql-server-4.1.12nb1.tgz、mysql-client-4.1.12.tgz、perl-5.8.6nb4.tgz、expat-1.95.8nb2.tgz、apr-0.9.6.2.0.54nb1.tgz,以上軟件可以從ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD-2.0/i386/All/ 下載到。另外還需php-4.4.0.tar.bz2源代碼包(www.php.net);F-Secure SSH(google一下吧)
二、設置SSH
1、編輯rc.conf開啟ssh
#echo sshd=YES >;>; /etc/rc.conf
#echo sendmail=NO >;>; /etc/rc.conf
2、編輯sshd_config允許root帳號登陸
#vi /etc/ssh/sshd_config
找到#PermitRootLogin yes將#去掉保存並退出
重啟後ssh隨即生效。
3、修改網卡IP地址
新建一個ifconfig.pcn0的文件。(pcn0為服務器網卡的類型,可通過ifconfig -a查看到)
#echo 192.168.112.10 netmask 255.255.255.0 >;>; /etc/ifconfig.pcn0
注意客戶機的IP也應該為192.168.112.*,運行F-Secure SSH client登陸上去,利用file transfer將必要的安裝包拷貝至/usr下。
三、安裝軟件及手工啟動
1、安裝perl
#pkg_add /usr/perl-5.8.6nb4.tgz
不用多說這個是必裝的。
2、安裝apache
#pkg_add /usr/apache-2.0.54nb1.tgz
============ 手工啟動apache ============
# cd /usr/pkg/sbin
#./apachectl start
如果報錯,根據提示進行修改即可,一般會提示"using 127.0.0.1 for ServerName",這個時候只需要:
#hostname 127.0.0.1
#./apachectl start 就應該能啟動了。//此時打開ff(討厭用IE)看看是否正常
---------------------------------------------------------------------
============ 設置apache自啟動 ============
#cp /usr/pkg/share/examples/rc.d/apache /etc/rc.d
#echo apache=YES >;>; /etc/rc.conf
#echo hostname="127.0.0.1" >;>; /etc/rc.conf
---------------------------------------------------------------------
3、安裝mysql
#cd /usr
#pkg_add mysql-server-4.1.12nb1.tgz //安裝前最好將所需文件都放至同一目錄
============ mysql的手工啟動方法 ============
#cd /usr/pkg/share/examples/rc.d/
#./mysqld start
#mysql
>;show databases;
>;create database bbs; //為論壇創建bbs數據庫
>;exit
---------------------------------------------------------------------
============ 設置mysql自啟動 ============
#cp /usr/pkg/share/examples/rc.d/mysqld /etc/rc.d
#echo mysqld=YES >;>; /etc/rc.conf
---------------------------------------------------------------------
============ 修改mysql默認密碼 ============
#cd /usr/pkg/bin
#./mysqladmin -u root password '111111' //111111為root密碼,這裡要設置更復雜一些
//連接本地數據庫的方法:#./mysql -uroot -p
//出於安全還應該禁止遠程訪問3306端口(修改my.cnf),改變數據庫root的登陸名等等。
---------------------------------------------------------------------
4、安裝php
#cd /usr
#tar zxvf php-4.4.0.tar.gz
#cd php-4.4.0.tar.gz
#./configure --with-mysql --with-apxs2=/usr/pkg/sbin/apxs --enable-safe-mode
#make; make install; make clean
//zend不需要另行安裝
5、修改httpd.conf
安裝完PHP後,還需要手工配置一下httpd.conf文件才能正常解析php文件
============ 配置httpd.conf ============
#vi /usr/pkg/etc/httpd/httpd.conf
進入vi後,輸入/AddType後回車(通過輸入n可以向下尋找),找到不帶#開頭的後輸入命令o,即可往下面添加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .inc
AddType application/x-httpd-php .class //以上兩行是為了防止代碼洩露
保存並退出
#/usr/pkg/sbin/apachectl restart
//注意:如果此文檔配置出錯,apache將不能正常啟動!
//為了防范腳本攻擊和SQL注入還可以添加mod_security.c模塊並進行合理設置
//尋找Options Indexes,將Indexes去掉,可以不讓別人索引你的的站點目錄
//設置ServerSignature 為off
//關閉CGI,注釋掉:
ScriptAlias /cgi-bin/ "/usr/pkg/libexec/cgi-bin/" 以及下一段
<Directory "/usr/pkg/libexec/cgi-bin">; AllowOverride None Options None Order allow,deny Allow from all </Directory>;
//由於本文不是專門針對apache的,所以很多配置項請參考其它文章
---------------------------------------------------------------------
6、修改php.ini
============ 設置php.ini ============
#cd /usr/php-4.4.0
#cp php.ini-dist /usr/local/lib/php.ini
編輯此文檔:
safe_mode=on //增加了許多限制能使php更加安全
register_global=off //關閉全局變量
open_basedir= /usr/pkg/share/httpd/htdocs //限制用戶訪問路徑為站點目錄
disable_function=phpinfo,get_cfg_var //防止洩露必要的信息
display_errors=off //php的所有錯誤和警告都不會顯示
---------------------------------------------------------------------
三、安裝論壇
略,詳細的步驟看動畫。論壇一定要到官方站點下載,安裝完後一定要打上最新的補丁。
四、最後
最後不要忘了關閉ssh,或者采用密鑰登陸。
最好在服務器上開啟防火牆,過濾沒必要的端口或者防范端口掃描。
將常用的系統命令top等最好備份到軟盤上。
本文存在的一些不足:
1、沒有對系統作針對性的優化
2、軟件安裝沒有采用通常建議的ports方式
3、沒有對apache(httpd.conf)、php(php.ini)、mysql(my.cnf)進行更加深入更全面的設置和講解
如何進一步提高自己的水平:
1、學習如何優化系統
2、學習ports的安裝方式
3、學習SSH的密鑰登陸方式
4、學習關於www服務器的安全(知識較多、較難也比較碎,例如jail和chroot等)
5、學習關於www服務器的性能測試
6、學會仔細看幫助文檔