摘要:本文讨论如何安装支持mod_perl、mod_ssl及php的apache web服务器,并安装webalizer实现对web访进行日志分析。手把手引导初学者编辑一个安全、功能完备的web服务器系统。
所需软件
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
本地下载地址
除此以外还需要系统安装有如下几个rpm包:
libpng libpng-devel zlib zlib-devel libjpeg libjpeg-devel
可以通过rpm -qa|grep libpnp命令来检测系统是否安装有这些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。
根据服务器实际修改其中的以下内容:
LogFile /usr/local/apache/logs/access_log
设定www访问日志文件位置
OutputDir /usr/local/apache/htdocs/usage
设定web访问统计输出目录
HistoryName webalizer.hist
Incremental yes
HostName www.test.com
PageType htm*
PageType cgi
PageType phtml
PageType php3
PageType pl
PageType jsp
4、设定cron任务
在/etc/crontab文件最后添加如下内容:
02 4 * * * root /usr/local/bin/webalizer
即可
5、创建输出目录
#mkdir /usr/local/apache/htdocs/usage
第九步:保护访问统计数据不被非法访问
我们肯定不会希望自己网站访问统计信息随意被别人浏览,因此需要将usage目录保护起来,只允许合法用户访问。
一、条件
www.test.com的站点对"/"有设置为:
DocumentRoot /usr/local/apache/htdocs
AccessFileName .htaccess
AllowOverride 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-only
AuthType Basic
AuthUserFile /usr/local/apache/.htpasswd
require user admin
五、测试
这时候通过浏览器访问http://www.test.com/usage就会弹出框请求输入用户名和口令,这时候输入admin、12345678就可以才可以访问该目录