歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> BSD

NetBSD2.0下架設入門級www服務器

  先說點廢話:

  俗話說新豬上任三把火,總要燒燒的,今天我也火上澆油一把。關於寫本文的目的可不是為了揚名海內外,主要是看到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、學會仔細看幫助文檔

Copyright © Linux教程網 All Rights Reserved