实验要求:

1.编译安装httpd服务器

2.构建基于域名的虚拟web主机

3.部署AWStats分析系统

4.实现httpd服务的访问控制




wKiom1gizl-iEYFhAACg6LZvGe4370.png





1.编译安装httpd服务器

wKiom1gizl-xVHOYAAAMpONkftY095.png

使用tar命令解包


wKioL1gizmDAtckZAAAIC8G_J6c121.png

配置、编译、安装

命令:./configure配置

选项:--prefix:指定httpd服务程序的安装路径

  --enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力。

  --enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。

  --enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。

  --enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力。

可以执行./configure --help命令获取各种配置选项及含义。

注意:这里,分别使用&&来连接makemake install,表示配置、编译、安装这三个配置过程按照顺序自动执行。

 

wKiom1gizmCR9lTFAAATwYe40_0244.png

确认安装结果

主要子目录的用途:

bin:存放httpd服务的各种执行程序文件,包括主程序httpd、服务控制工具apachectl

conf:存放httpd服务的各种配置文件,包括主配置文件httpd.con、增强配置子目录extra

htdocs:存放网页文档,包括默认首页文件indexhtml

logs:存放httpd服务的日志文件

modules:存放httpd服务的各种模块文件

cgi-bin:存放各种CGI程序文件。


wKioL1gizmCwT2VXAAACtWbTNKc493.png

优化执行路径

注意:通过源码编译安装的httpd服务,程序路径并不在默认的搜索路径中,为了使该服务在使用时更加方便,可以为相关程序添加符号链接。例如:当执行httpd -v命令相当于执行/usr/local/httpd/bin/httpd -v命令。

 

添加httpd系统服务:

wKioL1gizmDSnT-EAAADXzUJIYU102.png

apachectl脚本复制为/etc/init.d/httpd


wKiom1gizmHRfoSXAAACSMcf2Io087.png

wKioL1gizmGhSZqeAAAEezUDhNE275.png

修改配置文件httpd,在文件开头添加chkconfig识别配置。这三个选项含义:

#/bin/bash   使用/bin/bash来解释执行

# chkconfig     服务识别参数,在级别35中启动;启动和关闭的顺序分别为8521

# description:  服务描述信息


wKioL1gizmHSwDnHAAACH5uUS1g196.png

httpd添加为系统服务


wKiom1gizmKSG-kdAAAD2E_n6v0752.png

查看httpd服务的自启动状态

 

2.构建基于域名的虚拟web主机

wKiom1giz_STy2p6AAAB62_ItlI628.png

wKioL1giz_STg324AAAGOO14EaQ321.png

wKiom1giz_TTUfB6AAAB97nlkrM393.png

wKioL1giz_WxsrREAAAJHjV1NVk092.png

wKiom1giz_Xx5C99AAAB5oh0C1Y404.png

wKioL1giz_XSgYY2AAAJKSyO4Bo063.png

DNS服务器中添加benet.comaccp.com两个域,并配置区域文件,能够正确解析www.benet.comwww.accp.com


wKioL1giz4vgLjaMAAAB6XVpU5s782.png

更改Web服务器的名称为www.benet.com


wKiom1giz4vTz5hpAAADEyzYwS4466.png

更改Web服务器的首选DNS服务器为192.168.1.3


wKiom1giz4vBY-PpAAADPYGl61U565.png

为虚拟Web主机准备网站目录


wKioL1giz4yjEztDAAADfoYoKIg306.png

wKioL1giz4zy7tZ9AAADZKSIybE331.png

为虚拟Web主机准备网页文档


wKiom1giz4yTO0keAAAFNs12CF4143.png

创建独立的虚拟主机配置文件,减少对httpd.con文件的改动,方便配置内容的维护。


wKiom1giz4zz__DeAAAB56j9Uc4077.png

设置虚拟机主机监听地址


wKioL1giz4yi21mFAAAD5fRssV8503.png

设置目录访问权限

Order  allow,deny  仅允许

Allow  from  地址,可以接IP地址、网络地址、主机名或域名          all表示任意地址,即允许所有。

Order  deny,allow  仅拒绝

deny  from

 

wKiom1giz42DA39nAAAdaLIk6iA770.png

虚拟主机的配置文件选项与httpd.conf主配置文件的配置项类似,这些配置项含义在附录中有详细介绍。


wKioL1giz42jTIc8AAACkR6l5Hk082.png

wKiom1gi0OWgXKnrAAACJL0ZVMc376.png

修改httpd.conf主配置文件,加载独立配置文件


wKioL1gi0OWxY2bhAAACLlYx0fU663.png

启动httpd服务,可以先执行httpd -t检查配置是否正确。


wKioL1gi0OaAGaI5AAA17jO3QBo235.png

wKiom1gi0OeBVQmJAAA5r2i8iKA162.png


在测试客户机上,配置真确的IP地址和DNS服务器就可以访问网站了。


补充:

基于IP地址的虚拟主机(例)

<VirtualHost 220.181.120.61>

    DocumentRoot /var/www/html/bdqncn

    ServerName www.bdqn.cn

    ……

</VirtualHost>

<VirtualHost 122.115.32.133>

    DocumentRoot /var/www/html/jbitcn

    ServerName www.jbit.cn

    ……

</VirtualHost>

 

基于端口的虚拟主机(例)

<VirtualHost 173.17.17.11:80>

    DocumentRoot /var/www/html/accpcom

    ServerName www.accp.com

    … …

</VirtualHost>

[root@www ~]# vi /usr/local/httpd/conf/httpd.conf

… …

Include conf/extra/httpd-vhosts.conf

Listen 173.17.17.11:80

Listen 173.17.17.11:8353


3.部署AWStats分析系统

wKioL1gi0VWRzFGpAAADFfiBHw0864.png

只需要将AWStats的软件包解压到/usr/local/目录下即可。


wKiom1gi0VbRLA_cAAADlkDt-oc954.png

可以将其目录改名,方便输入。


wKioL1gi0Vbhosa8AAAEwEnQ2jY668.png

借助awsatats_configure.pl脚本简化创建过程


wKiom1gi0VaDJKrUAAAuZihk8kQ273.png

指定httpd主配置文件的路径,配置脚本将自动查找并识别httpd服务的主配置文件,自动添加相关配置内容。


wKioL1gi0VeCWoPrAAADOa9eKrI191.png

设置日志类型,将httpd服务器的日志记录格式改为combined,记录更加详细的web访问信息。


wKiom1gi0VeQlQs_AAAEOyAsias706.png

确认创建新的站点配置文件


wKioL1gi0Vfw_Yf0AAADFShZAxw676.png

指定要统计的目标网站名称


wKiom1gi0Vig_XbEAAADHtCxrV4921.png

直接回车接受默认配置,接下来自动重启httpd服务


wKioL1gi0ViiETTQAAACw7xphpM063.png

修改站点统计配置文件


wKiom1gi0ViR33SpAAADBTyegLo816.png

(第50

指定要分析的web日志文件(这里分析www.benet.com网站的访问情况)

 

wKiom1gi0qTR8OfAAAAB5qaNcsA493.png

(第203

指定存放统计数据的目录


wKioL1gi0qfgWo1NAAACUXiUheo663.png

这个目录需要手动创建


wKiom1gi0qiBscb9AAADUs5hE2w176.png

使用awstats_uptateall.pl脚本,来更新所有站点的日志统计数据,系统会自动分析新增的日志内容,并将结果更新到统计数据库中。


wKiom1gi0qjxM--BAAABpey8NO8721.png

wKioL1gi0qmCA7UkAAACsnMVRew667.png

wKiom1gi0qqj_7k6AAACKuoEa3g788.png

因为,web日志内容不断更新,所以可是设置任务计划,自动执行该任务。


wKioL1gi0q3Bl16OAAEFHnWnZOU215.png

在测试客户机上,访问该域名,既可以查看到指定网站的访问统计信息。该网站并不是所有人都能登录的,所以要设置访问控制。


4.实现httpd服务的访问控制

wKioL1gi0q6gsFULAAAM0dduJ8o375.png

创建用户认证数据文件

工具程序:htpasswd用于创建授权用户数据文件,需要指定用户数据文件的位置。

选项:-c表示新建文件,省略-c表示向原有数据文件添加新用户或修改现有用户。

这里,新建的数据文件是.awspwd,用户名是webadmin

 

wKiom1gi0q7zqKYKAAACpFnIRVs588.png

wKioL1gi0q6R3pReAAAIiCqmIcE287.png

修改主配置文件,添加用户授权配置。

Directory  指定了需要添加授权配置的网站的站点(更改路径从而针对不同的网站)。

Authname 定义受保护领域的名称,在浏览器弹出的认证对话框中显示。

Authtype  设置认证类型,basic表示基本认证。

Authuserfile 设置用户保存用户账号、密码的认证文件路径。

Require valid-user 表示只有认证文件中的合法用户才能访问,若之授权给单个用户,使用命令:require user 用户名


wKiom1gi1AqxLtARAAACOEtEZvk044.png

重启服务使配置生效


wKiom1gi1A-jBfrWAAEXHoZn-M0354.png

可以发现,再次访问awstats系统时,需要输入用户名和密码。