在Linux下配置Apache服务器一、实验目的完成本次实训,将能够:●配置基本的Apache服务器●配置个人用户Web站点。
●配置虚拟目录别名功能。
●配置主机访问控制。
●配置用户身份验证功能.。
●配置基于IP地址的虚拟主机.二、实验环境1、RedHat Linux4AS.2、Apache 2.0三、实验内容1.配置基本的Apache服务器2.配置个人用户Web站点。
3.配置虚拟目录别名功能。
4.配置主机访问控制。
5.配置用户身份验证功能.。
6.配置基于IP地址的虚拟主机。
四、实验要求在Linux操作系统下配置Apache服务器。
五、注意事项1.在修配置文件下注意区分大小写、空格。
2.在每次重新开机后都必须启动Apachec服务器。
3.在每次修改完主配置文件后保存起来,必须重启Apachec服务器,如果不重启会导致配置无效,最终导致实验失败。
六、实验步骤1、检测是否安装了Apache软件包:A、首先为服务器网卡添加一个固定的IP地址。
B、在Web浏览器的地址栏中输入本机的IP地址,若出现Test Page测试页面(该网页文件的默认路径为var/www/html/index.html)如下图1所示就说明Apache已安装并已启动。
另一种方法是使用如下命令查看系统是否已经安装了Apache软件包:[root@rhe14~]# rpm –aq | grep httpdHttpd-suexec-2.0.52-9.entHttpd-manual-2.0.52-9.entSystem-config-httpd-1.3.1-1Httpd-devel-2.0.52-9.ent出现以上内容表明了系统已安装Apache软件包。
2、安装Apache软件包超级用户(root)在图形界面下选择“应用程序”|“系统设置”|“添加/删除应用程序”命令,选择“万维网服务器”软件包组,在单击“更新”按钮就可以安装与Apache相关的软件包。
3、Apache的基本配置(1)打开终端输入[root@rhe14~]# /etc/rc.d/init.d/httpd start //启动Apache 或者[root@rhe14~]# apachectl start //启动Apache[root@rhe14~]# apachectl stop //停止Apache服务[root@rhe14~]# apachectl restart //重启Apache服务[root@rhe14~]# apachectl configtest //测试Apache服务器配置语法(2)在httpd.conf将Apache的基本配置参数修改、将一些注释的语句取消注释,或将某些不需要的参数注释掉。
(3)将包括index.html在内的相关网页文件复制到指定的Web站点根目下(var/www/html/index.html)(4)重启httpd进程(5) 在Web浏览器下输入配置的ip地址出现如下图2,那表明基本配置成功了:4、配置用户个人Web站点(1)建立dxl用户,修改其默认主目录的权限,并在其下建立目录public_html.[root@rhe14 ~]# useradd dxl[root@rhe14 ~]# passwd dxl[root@rhe14 ~]# chmod 711 /home/dxl //修改权限[root@rhe14 ~]# cd /home/dxl[root@rhe14 ~]# mkdir public_html //在dxl下创建public_html文件[root@rhe14 ~]# chown dxl:dxl public_html[root@rhe14 ~]# chcon –R –h –t httpd_sys_content_t /home/*/public_html注:上面chown 是将public_html的拥有者设置为dxl用户和dxl用户组(2) 编辑文件/etc/httpd/conf/hpptd.conf,修改或添加如下语句:<IfModule mod_userdir.c>UserDir disable root //不允许root用户使用自己的站点,也将此语句注释掉UserDir public_html // 配置对每个用户Web站点目录设置<IfModule><Directory /home/*/public_html>AllowOverride FileInfo AuthConfig LimitOptions MultiView Indexes SymLinksIfOwnerMatch IncludesNoxec<Limit GET POST OPTION>Orrder allow,denyAllow from all</Limit><LimitExcept GET POST OPTION>Order deny, allowDeny from all</LimitExcept></Directory>(3)将编辑好的配置文件保存后重启httpd服务器。
(4)在Web浏览器地址栏中输入Http://192.168.204.2/~dxl/即可打开dxl用户的个人网站,如图35、别名和重定向(1)在配置文件中找到/var/www/icons(2)指定/var/tmp 目录别名为temp,并映射到文档根目录/var/www/html中,可在/etc/httpd/conf/httpd.conf文件中主服务器配置段中添加下列配置语句:Alias /temp “/var/tmp”<Directory “/var/tmp”>Options IndexesAllowOverride NoneOrrder allow,denyAllow from all</Directory>(3)保存添加的配置语句,再在终端命令窗口中执行如下命令重启httpd服务:[root@rhe14 ~]# service httpd restart(4)在Web浏览器地址栏输入Http://192.168.204.85/temp即可进入如下图4(5)将Http://192.168.204.85/temp重定向到Http://192.168.204.25/other在文件的主服务器配置段添加如下语句:Redirect 303 /temp Http://192.168.204.25/other6、用户身份验证(1) 在var/www/html创建test文件夹。
(2) 编辑Apache文件/etc/httpd/conf/hpptd.conf,在主服务器配置段修改或添加以下语句:Alias /test “/var/www/html/test<Directory “ var/www/html/test”>Options Indexes MultivewsAllowOverride Authconfig //允许在文件.htaccess中使用认证授权Order allow, denyAllow from all</Directory>(3)在test文件夹下创建一个文档命名为.htaccess(4)在.htaccess文档下添加如下语句:Authname “sunzhongxia web”Authtype Basic //设置认证类型为基本类型AuthUserFile /var/www/html/test/.htpasswd//指定验证时所采用的用户口令及位置Require Valid-user(4)创建口令验证文件要在/var/www/html/test/目录中创建一个口令文件.htpasswd,并添加一个用户szx,则在终端中进行如下操作:[root@rhe14 ~]# htpasswd –c /var/www/html/test/.htpasswd szxNew password:Re-type new password:Adding password for user szx(5) 重新启动Apache服务器在浏览器中输入http:// 192.168.204.2/test/出现如下图7、配置虚拟主机1、IP地址不同,单端口号相同的虚拟主机配置(1)在同一网卡上绑定两个IP,配置如下:[root@rhe14 ~]# ifconfig eth0 192.168.1.10 netmask 255.255.255.0[root@rhe14 ~]# ifconfig eth0 192.168.1.100 netmask 255.255.255.0(2) 编辑Apache文件/etc/httpd/conf/hpptd.conf,文件在虚拟主机配置段修改或添加下列语句:Listen 801Listen 802 //添加端口<VirtualHost 192.168.1.10:801>ServerAdmin webmaster@DocumentRoot /var/www/ipvhost1 // 文档根目录SeverName 192.168.1.10 // 服务器名Errorlog logs/192.168.1.10-error_log // 错误日志CustomLog logs/192.168.1.10-access_log common //访问日志<VirtualHost><VirtualHost 192.168.1.100:802>ServerAdmin webmaster@DocumentRoot /var/www/ipvhost2SeverName 192.168.1.100Errorlog logs/192.168.1.100-error_logCustomLog logs/192.168.1.100-access_log common<VirtualHost>(3)创建两个虚拟主机的文档根目录及相应的测试面:[root@rhe14 ~]# mkadir –p /var/www/ipvhost1[root@rhe14 ~]# mkadir –p /var/www/ipvhost2[root@rhe14 ~]# vi /avr/www/ipvhost1/index.html[root@rhe14 ~]# vi /avr/www/ipvhost2/index.html// 在/var/www/文件下创建ipvhost1,ipvhost2再在ipvhost1,ipvhost2创建网页文档并输入相应的内容(4)重启Apache服务器,然后在进行虚拟主机测试,在web浏览器地址中分别输入http://192.168.1.10和http://192.168.1.100出现如下图所示就表明配置完成:2、IP地址相同,单端口号不相同的虚拟主机配置(1)为物理网卡配置一个IP地址.[root@rhe14 ~]# ifconfig eth0 192.168.204.2 netmask 255.255.255.0(2) 编辑Apache文件/etc/httpd/conf/hpptd.conf,文件在虚拟主机配置段修改或添加如下语句:Listen 801Listen 802 //添加端口<VirtualHost 192.168.204.2:801>ServerAdmin webmaster@DocumentRoot /var/www/ipvhost3 // 文档根目录SeverName 192.168.204.2 // 服务器名Errorlog logs/192.168.204.2-801-error_log // 错误日志CustomLog logs/192.168.204.2-801-access_log common //访问日志<VirtualHost><VirtualHost 192.168.204.2:802>ServerAdmin webmaster@DocumentRoot /var/www/ipvhost4SeverName 192.168.204.2Errorlog logs/192.168.204.2-802-error_logCustomLog logs/192.168.204.2-802-access_log common<VirtualHost>(3) 创建两个虚拟主机的文档根目录及相应的测试面:[root@rhe14 ~]# mkadir –p /var/www/ipvhost3[root@rhe14 ~]# mkadir –p /var/www/ipvhost4[root@rhe14 ~]# vi /avr/www/ipvhost1/index.html[root@rhe14 ~]# vi /avr/www/ipvhost2/index.html// 在/var/www/文件下创建ipvhost1,ipvhost2再在ipvhost3,ipvhost4创建网页文档并输入相应的内容。