FreeBSD
注意:在進行這步操作前建議把squid關掉,因為在進行主頁更新測試時squid的cache會使更新後的主頁不能及時反映出來
為了不使用squid,除了關掉squid外,還要刪除ipfw的透明代理端口轉發語句:
# cd /usr/local/etc/rc.d
# ./squid.sh stop
# mv squid.sh squid.sh.bak
# ipfw del 500 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any 80
本web服務器的其本組成為:
Apache 1.3.27
modssl
mod_php4
mod_gzip
mod_fastcgi
mod_perl
mysql3.23
為了簡化安裝過程並發揮FreeBSD安裝軟件的優勢,本文後續部分將采用ports安裝。Ports 使在FreeBSD下安裝各種軟件變得很輕松。
首先安裝ports:(如果已經有/usr/ports目錄則證明已經安裝過了)
# /stand/sysinstall
選Configure—Distributions—ports,ports將被安裝在/usr/ports目錄中。
下面安裝apache1.3.27 + modssl :
# cd /usr/ports/www/apache13-modssl
# make install
系統會自動下載安裝包並安裝完畢。
安裝後系統會自動產生啟動腳本apache.sh,在/usr/local/etc/rc.d目錄中。可以通過運行
apache.sh start|stop來啟動或停止apache。
安裝mysql3.23:
# cd /usr/ports/databases/mysql323-server
# make install
安裝後產生啟動腳本/usr/local/etc/rc.d/mysql-server.sh
安裝apache模塊mod_php4:
# cd /usr/ports/www/mod_php4
首先編輯scripts目錄下的configure.php文件,加入對OpenSSL的支持
# vi scripts/configure.php
找到下面一句
OpenSSL "OpenSSL support" ON
改成
OpenSSL "OpenSSL support" YES
# make install
出現對話框時直接選ok繼續
安裝完成後編輯apache的配制文件/usr/local/etc/apache/httpd.conf ,添加如下內容:
# 設置默認可以使用的主頁名稱,這句系統一般已經有了,不用添加了
DirectoryIndex index.php index.html
# 這2句需要手工添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
安裝其他Apache常用模塊 mod_gzip + mod_fastcgi + mod_perl:
# cd /usr/ports/www/mod_gzip
# make install
# cd /usr/ports/www/mod_fastcgi
# make install
編輯/usr/local/etc/apache/httpd.conf文件
添加下面一句
AddHandler fastcgi-script fcgi fcgi fpl
# cd /usr/ports/www/mod_perl
# make install
重新啟動讓所有軟件自動運行。
測試:
首先以root身份執行線程察看命令top,列表中應該有下面幾個線程正在運行:
PID USERNAME PRI NICE SIZE RES STATE COMMAND
69 root 2 0 440K 296K select natd # 網絡地址轉換進程
132 root 2 0 3692K 3052K select httpd # apache進程
166 mysql 2 0 27480K 4824K poll mysqld # mysql進程
在浏覽器地址欄輸入http://192.168.0.1 ,如果顯示apache的歡迎頁面,證明web服務器安裝成功!web頁面文件存放在/usr/local/www/data目錄中,你可以把自己的網頁拷貝到這個目錄,就可以訪問自己的主頁了!
鍵入命令:
# mysql
出現下面顯示證明mysql安裝成功!
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 3.23.52
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
鍵入exit退出mysql。
為mysql的root用戶設置一個口令123456
# mysqladmin -u root password '123456'
現在我們來安裝一個支持php+mysql的論壇。到 http://www.faeryboard.com/showthread.php?s=&threadid=2429 去下載完美版的仙境論壇程序。將下載的rar壓縮包解開,然後使用ftp上傳到/home/ylf/app目錄。
事先備份web服務器演示頁面
# cd /usr/local/www/data
# mkdir backup
# mv * backup
將論壇程序拷貝到/usr/local/www/data目錄
# cd /home/ylf/app/vbb2.3.0final
# cp –r * /usr/local/www/data
編輯論壇配置文件:
# vi /usr/local/www/data/admin/config.php
內容如下:
^M
/////////////////////////////////////////////////////////////^M
// Please note that if you get any errors when connecting, //^M
// that you will need to email your host as we cannot tell //^M
// you what your specific values are supposed to be //^M
/////////////////////////////////////////////////////////////^M
^M
// type of database running^M
// (only mysql is supported at the moment)^M
$dbservertype='mysql';^M #數據庫類型
^M
// hostname or ip of server^M
$servername='localhost';^M #主機名
^M
// username and password to log onto db server^M
$dbusername='root';^M #登錄數據庫用戶
$dbpassword='123456';^M #密碼
^M
// name of database^M
$dbname='fin230';^M #論壇所使用的數據庫名稱
^M
// technical email address - any error messages will be emailed here^M
$technicalemail='
[email protected]';^M #管理信息
^M
// use persistant connections to the database^M
// 0 = don't use^M
// 1 = use^M
$usepconnect=1;^M
^M
?>
除了root用戶的密碼需要添入外,其他部分可以不改。
保存後,在浏覽器地址欄輸入http://192.168.0.1/admin/install.php ,根據提示一步步安裝即可。
安裝成功後,在在浏覽器地址欄輸入http://192.168.0.1 ,就可以看到論壇了!怎麼樣,挺漂亮吧!關於論壇的其他問題,請仔細看論壇安裝包裡面的說明文檔,或者到仙境論壇的主頁,那裡有仙境論壇的一切!
下一節,我們要討論關於虛擬主機的問題。
配制虛擬主機:
Apache的虛擬主機支持有兩種方式,一是基於用戶訪問Apache主機時所使用的域名,另一種是通過指定IP地址來提供。這裡我們只介紹如何通過不同的域名來實現虛擬主機的支持。
要實現基於域名的虛擬主機的前提條件是必須有兩個域名同時指向Apache主機的IP地址,這裡我們假設這兩個域名分別是www01.3322.org 和www02.3322.org ,這兩個域名的文檔都分別放置於 /home/www01 和 /home/www02這兩個目錄內,同時這兩個目錄已經設置好權限,對於目錄讓所有的人都可以讀取、運行,對於文件,讓所有的人都可以讀取。
以下是具體的配置過程:
首先到希網去注冊2個域名。然後為這2個域名分別建立文檔目錄
# mkdir /home/www01
# mkdir /home/www02
編輯apache的配制文件httpd.conf
# vi /usr/local/etc/apache/httpd.conf
在文件最後找到下面2行
在2行中間添加如下內容:
NameVirtualHost * # 指定運行虛擬主機服務的主機ip地址
# 靜態ip方式可以將*替換為你的ip地址,動態ip直接用*即可
ServerAdmin
[email protected] #指定WEB管理員的郵箱
DocumentRoot /home/www01 #指定本虛擬主機的文檔目錄
ServerName www01.3322.org #指定本虛擬主機的域名
ErrorLog /var/wwwlogs/www01.3322.org.error.log #指定錯誤記錄應該存放於那裡
CustomLog /var/wwwlogs/www01.3322.org.log common #指定常規記錄應該存放於那裡
ServerAdmin
[email protected] DocumentRoot /home/www02
ServerName www02.3322.org
ErrorLog /var/wwwlogs/www02.3322.org.error.log
CustomLog /var/wwwlogs/www02.3322.org.log common
創建/var/wwwlogs目錄
# mkdir /var/wwwlogs
重新啟動apache
# /usr/local/etc/rc.d/apache.sh stop
# /usr/local/etc/rc.d/apache.sh start
分別在/home/www01和/home/www02目錄拷入不同的網頁文件進行測試,注意主頁名稱必須是index.html或index.php
測試
確認注冊的2個域名已經指向了你的主機ip。
在浏覽器地址欄輸入域