本文討論如何安裝支持mod_perl、mod_ssl及php的apache web服務(wù)器,并安裝webalizer實(shí)現(xiàn)對web訪進(jìn)行日志分析。手把手引導(dǎo)初學(xué)者編輯一個安全、功能完備的web服務(wù)器系統(tǒng)。
所需軟件
apache_1.3.20.tar.gz 主頁: http://www.apache.org本地下載地址
mod_perl-1.26.tar.gz 主頁: http://perl.apache.org本地下載地址
openssl-0.9.6b.tar.gz 主頁: http://www.openssl.org本地下載地址
mod_ssl-2.8.4-1.3.20.tar.gz 主頁: http://www.modssl.org本地下載地址
php-4.0.6.tar.gz主頁: http://php.apache.org本地下載地址
webalizer-2.01-06-src.tgz 主頁: http://www.mrunix.net/webalizer本地下載地址
gd-1.8.4.tar.gz 主頁: http://www.boutell.com/gd本地下載地址
除此以外還需要系統(tǒng)安裝有如下幾個rpm包:
libpng libpng-devel zlib zlib-devel libjpeg libjpeg-devel
可以通過rpm -qa|grep libpnp命令來檢測系統(tǒng)是否安裝有這些rpm包。如果沒有安裝,則加載redhat安裝光盤,在/mnt/cdrom/RedHat/RPMS下安裝這些rpm包。
第一步:安裝openssl
1、解壓軟件:
# tar xvfz openssl-0.9.6b.tar.gz
2、安裝
# cd openssl-0.9.6b# ./config# make# make test# make install
第二步:安裝mod_ssl
1、解壓mod_ssl
# tar xvfz apache_1.3.20.tar.gz# tar xvfz mod_ssl-2.8.4-1.3.20.tar.gz
2、安裝mod_ssl
# cd mod_ssl-2.8.4-1.3.20# ./configure --with-apache=../apache_1.3.20
第三步:安裝mod_perl
1、解壓
# tar xvfz mod_perl-1.26.tar.gz
2、安裝
$ perl Makefile.PL EVERYTHING=1 APACHE_SRC=../apache_1.3.20/src USE_APACI=1 PREP_HTTPD=1 DO_HTTPD=1 $ make $ make install
第四步:配置apache
# cd apache_1.3.20# ./configure
五步:安裝php
1、解壓
# tar xvfz php-4.0.6.tar.gz
2、安裝
# cd php-4.0.6# CFLAGS='-O2 -I/usr/local/ssl/include/openssl'# ./configure --with-apache=../apache_1.3.20 --with-mysql --with-gd=../gd-1.8.4 --enable-memory-limit=yes --enable-debug=no # gmake# gmake install
第六步:安裝apache
# SSL_BASE=../openssl-0.9.6b# ./configure --enable-module=ssl --activate-module=src/modules/perl/libperl.a --enable-module=perl --activate-module=src/modules/php4/libphp4.a --enable-module=php4 # make# make certificate # make install
第七步:安裝gd
# make all# cp libgd.a /usr/lib# cp gd*.h /usr/include/
第八步:安裝webalizer
1、解壓
# tar xvfI webalizer-2.01-06-src.tar.bz2
2、安裝
# cd webalizer-2.01-06# ./configure# make# make install
3、配置
將/etc/下的webalizer.conf.sample改名為webalizer.conf。
根據(jù)服務(wù)器實(shí)際修改其中的以下內(nèi)容:
LogFile /usr/local/apache/logs/access_log
設(shè)定www訪問日志文件位置
OutputDir /usr/local/apache/htdocs/usage
設(shè)定web訪問統(tǒng)計(jì)輸出目錄
HistoryName webalizer.hist
Incremental yes
HostName www.test.com
PageType htm*PageType cgiPageType phtmlPageType php3PageType plPageType jsp
4、設(shè)定cron任務(wù)
在/etc/crontab文件最后添加如下內(nèi)容:
02 4 * * * root /usr/local/bin/webalizer
即可
5、創(chuàng)建輸出目錄
#mkdir /usr/local/apache/htdocs/usage
第九步:保護(hù)訪問統(tǒng)計(jì)數(shù)據(jù)不被非法訪問
我們肯定不會希望自己網(wǎng)站訪問統(tǒng)計(jì)信息隨意被別人瀏覽,因此需要將usage目錄保護(hù)起來,只允許合法用戶訪問。
一、條件
www.test.com的站點(diǎn)對"/"有設(shè)置為:DocumentRoot /usr/local/apache/htdocsAccessFileName .htaccessAllowOverride All
二、需求
需求:限制/usr/local/apache/htdocs/usage/目錄的訪問,只允許用戶"admin"以口令"12345678"訪問此目錄。
三、使用htpasswd建立用戶文件
htpasswd -c /usr/local/apache/.htpasswd admin
此程序會詢問用戶"admin"的口令,你輸入"12345678",兩次生效。
四、建立.htaccess文件
用vi在/usr/local/apache/htdocs/usage/目錄下建立一個文件.htaccess,寫入以下幾行:
AuthName admin-onlyAuthType BasicAuthUserFile /usr/local/apache/.htpasswdrequire user admin
五、測試
這時候通過瀏覽器訪問http://www.test.com/usage就會彈出框請求輸入用戶名和口令,這時候輸入admin、12345678就可以才可以訪問該目錄。