实验报告---apache服务器配置一、实验目的:Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web 服务器软件之一。
本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。
Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。
Apache的开发遵循GPL协议,由全球志愿者一起开发并维护。
它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
支持最新的HTTP1.1通信协议;强大的可配置性和可扩展性;提供全部源代码和不受限制的使用许可;通过第三方模块可以支持Java Servlets;广泛的应用和支持多种平台。
因此做这个实验的目的是为了熟悉apache服务器的配置,通过实验来加深对它的了解。
二、实验内容:(一)、Apache服务器的安装、启动与停止(二)、配置用户个人主页(三)、配置虚拟主机:a、创建基于IP地址的虚拟主机b、创建基于域名的虚拟主机三、实验步骤:(一)Apache服务器的安装、启动及访问1.检验apache服务的软件包是否安装,默认情况下是没有安装的,因此需安装。
# rpm -qa|grep httpd //检验软件包是否安装# mount /dev/cdrom /mnt/cdrom //加载光驱# cd /mnt/cdrom/Server //进入光盘的Server目录 # rpm -ivh postgresql-libs-8.1.18-2.e15_4.1.i386.rpm //安装所需要的RPM包# rpm -ivh apr-1.2.7-11.e15_3.1.i386.rpm# rpm -ivh apr-util-1.2.7-11.e15.i386.rpm# rpm -ivh httpd-2.0.40-21.i386.rpm注意:由于安装apache软件包有依赖关系,因此按照上述顺序进行安装2.检验网络的连通性3.再次查看apache服务的软件包是否安装,安装成功之后,启动apache服务器,然后用客户机端进行访问。
这时,客户机访问受限,无法访问。
原因在于apache 服务器端的防火墙没有关闭,因此进入服务器端,关闭防火墙,操作命令如下:Service iptables stop,然后在重启服务器,再进行访问就可以了,出现是red hat Enterprise linux的测试首页4.访问时默认出现的是red hat enterprise linux的测试页面,我们可以修改它的默认主页,在apache服务器中进入到/var/www/html下,创建一个index.html的网页,然后进行编写一些内容,重启服务器即可,再用客户端访问,就会出现如下图所示:(二)、配置用户个人主页Apache服务器可让linux计算机中的每一个用户架设自己的个人站点。
首先要修改Apache服务器的配置文件httpd.conf,允许每个用户架设个人web站点。
默认情况下用户主目录中的public_html子目录是用户个人web站点的根目录。
而public_html目录默认并不存在,因此凡是要架设个人web站点的用户都必须在其主目录中新建这个目录。
用户主目录的默认权限是"rwx------",也就是说除了用户本人之外,其他任何普通用户都不能进入此目录。
为了让用户个人web站点的内容能被浏览,必须修改用户主目录的权限,添加其他用户的执行权限。
访问用户的个人web站点时,要输入“http://IP地址|域名|~用户名”格式的URL地址。
1.建立用户lanyi,并在/home/lanyi目录下建立目录public_html,并修改目录lanyi的权限,然后在public_html目录下创建一个网页index.html [root@localhost ~]#cd /home/lanyi[root@localhost lanyi]#mkdir public_html[root@localhost lanyi]#chown lanyi:lanyi public_html[root@localhost home]#chmod 711 lanyi注意:echo “”>>index.html这条语句是创建个人主页空间的默认首页文件2.修改httpd.conf文件,设置mod_userdir.c模块的内容,允许用户架设个人web站点。
(vi中用/mod_userdir.c查找该模块)将httpd.conf文件的mod_userdir.c模块修改为:<IfModule mod_userdir.c>#Userdir is disabled by default since it can confirm the presence #of a username on the system (depending on home directory#permissions).#UserDir disable#To enable requests to /~user/ to server the user's public_html #directory,remove the "UserDir disable" line above,and#uncomment the following line intead:UserDir public_html</IfModule>去除以下内容前的“#”:<Directory /home/*/public_html>AllowOverride FileInfo AuthConfig LimitOptions MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS>Order allow,denyAllow from all</Limit><LimitExcept GET POST OPTIONS>Order deny,allowDeny from all</LimitExcept></Directory>然后退出并保存,再在客户机端进行访问,显示无权访问,解决方法如下:原因:SELLinux模式有时会阻碍客户机的访问,因此我们使用setenforce命令把SELLinux设置为允许模式,getenforce命令查看设置后的SELLinux模式。
然后重启服务,再在客户机端进行访问,显示如下:(三)、配置虚拟主机A.创建基于IP地址的虚拟主机:1.分别给网卡配置连个IP地址192.168.10.4和192.168.10.52.分别创建“/var/www/ip4”和“/var/www/ip5”两个主目录和默认首页文件。
3.在httpd.conf文件中,设置基于IP地址的虚拟主机,配置内容如下。
1.重启服务后再在客户端访问,可在客户端输入“http://IP地址”形式的URL地址访问虚拟主机,显示的内容如下:B.创建基于域名的虚拟主机配置基于域名的虚拟主机时,必须向DNS服务器注册域名,否则无法访问到虚拟主机。
1.DNS服务器(设IP地址为192.168.1.1)管理员向正向区域文件中添加A记录,说明域名和与IP地址192.168.1.10的对应关系。
@ IN SOA . .(20110522011H15M1W1D)IN NS name1 IN A 192.168.1.10name2 IN A 192.168.1.102.DNS服务器管理员向反向区域文件PTR记录,说明IP地址192.168.2.10和域名及的对应关系。
@ IN SOA . .(20110522011H15M1W1D)IN NS .10 IN PTR .10 IN PTR .3.编辑httpd.conf文件,向其添加以下内容:NameVirtualHost 192.168.1.10<VirtualHost 192.168.1.10>DocumentRoot /var/www/host-name1ServerName </VirtualHost><VirtualHost 192.168.1.10>DocumentRoot /var/www/host-name2ServerName </VirtualHost>4.在/var/www目录下分别建立host-name1和host-name2目录,并分别在两个目录中创建index.html文件。
mkdir /var/www/host-name1 /var/www/host-name2echo "this is 's web">/var/www/host-name1/index.htmlecho "this is 's web">/var/www/host-name2/index.html 5.重启httpd守护进程后,可在客户端输入“http://域名”形式的URL地址访问虚拟主机。
我在客户机上访问不了,这是在linux上访问的。
显示的内容如下:四、实验小结通过本次试验的实践和学习,掌握了在Linux下apache服务器的安装和配置方法,以及了解了apache配置文件的信息内容和功能作用,虽然在实验的过程中,有诸多不顺,但最后还是做成功了,我觉得要做成功,就一定要有耐心、还有细心,要坚持不懈。
五、实验遇到的问题1.在安装软件包是总是安装不成功,原因是apache服务的软件包的安装与软件包postgresql-libs 和 Apache服务器运行类库apr, apr-util有依赖关系。
因此先安装postgresql-libs,依次安装apr, apr-util软件包。
2.在软件包安装成功之后用客户端访问时显示无权访问,原因是没有关闭防火墙,因此首先要关闭apache服务器的防火墙,再在客户端进行访问。
3.在配置好个人用户主页之后,用客户端进行访问时也显示无权访问。
原因是SELLinux模式有时会阻碍客户机的访问,因此我们使用setenforce命令把SELLinux设置为允许模式即可。
4.我在做完基于域名的虚拟主机之后,在客户机上访问时,显示的是无法显示网页,然后我在linux上访问上了,请问老师这是什么原因。