基于apache的web服务-实验报告

  1. 实验环境: fedora 10

  2. 前期准备

      安装apache及其附属的包,在我的系统下分别为:

      httpd-2.2.10-2.i386.rpm

      httpd-manual-2.2.10-2.i386.rpm

      httpd-tools-2.2.10-2.i386.rpm

  3. 配置一个基于IP的虚拟主机

      第一步:当前的网络增加一个虚拟IP地址。使用命令:ifconfig wlan0:0 192.169.0.35 netmask 255.255.255.0 。这样当前主机使用了两个逻辑ip分别为 192.168.0.32192.168.0.35

      第二步:配置,在"/etc/httpd/conf/httpd.conf"最后加入如下内容:

<VirtualHost 192.168.0.32:80> #指定IP和端口号

ServerAdmin rexchenhan@gmail.com

DocumentRoot /var/www/html/www.rex.com #这里是存放该网站的目录

ServerName www.rex.com

ErrorLog logs/dummy-host.www.rex.com-error_log  #日志的位置

CustomLog logs/dummy-host.www.rex.com-access_log common

</VirtualHost>

<VirtualHost 192.168.0.35:80>

ServerAdmin rexchenhan@gmail.com

DocumentRoot /var/www/html/auto.rex.com

ServerName auto.rex.com

ErrorLog logs/dummy-host.auto.rex.com-error_log

CustomLog logs/dummy-host.auto.rex.com-access_log common

</VirtualHost>

第三步:在/var/www/html下创建网站对应目录。

      www.rex.com auto.rex.com
      分别创建对应的index.html用于测试,并且给两个目录所属組改为apache。 最后使用links 访问以上两个ip地址,可见分别访问到了两个不同网站。

   4. 配置一个基于端口的虚拟主机

第一步:修改主配置文件,加入一个监听的端口,这里我们指定为8080
      Listen 8080

      第二步:修改增加一个虚拟主机记录

<VirtualHost 192.168.0.32:8080> #注意这里端口号改为了8080

ServerAdmin rexchenhan@gmail.com

DocumentRoot /var/www/html/auto.rex.com

ServerName auto.rex.com

ErrorLog logs/dummy-host.auto.rex.com-error_log

CustomLog logs/dummy-host.auto.rex.com-access_log common

</VirtualHost>

第三步:测试同一个地址的两个端口:80和8080

links访问192.168.0.32192.168.0.32:8080发现分别访问了两个不同的页面。

  1. 配置一个基于域名的虚拟主机
    第一步:修改主配置文件。把之前做的几个虚拟主机配置全部注释掉(基于域名和基于
    IP或端口的方式是冲突的),并且打开NameVirtualHost *:80 这个选项。把两个之前做好的开头修改为:
    <virtualHost :80>

    第二步:这里我的
    dns里已经把auto.rex.comwww.rex.com部配置好,所以我直接启动dns服务,并把自己的dns解析地址指向自己的主机。

    第三步:用
    links打开两个域名最好使用 http://auto.rex.com 这样的地址。否则若是当前目录下有auto.rex.com这个目录,links会优先打开这个目录。(迷惑了我很久,刚发现)

  2. 配置访问授权
    一些网站打开后会跳出对话框需要输入用户名和密码,这里也做一个这样的授权。

    第一步:在需要加入访问控制的虚拟主机配置下加入一些配置。

    <Directory "/var/www/html/www.rex.com"> #注意这里目录和需要配置的主机目录相同

          AllowOverride AuthConfig

          Order allow,deny

          Allow from all

    </Directory>

    第二步:在www.rex.com目录下创建文件.htaccess 增加如下内容:

Authtype Basic

AuthName "www.rex.com Auth page"

AuthUserFile /etc/httpd/conf/passwd #密码文件地址

require valid-user

require user rexchenhan #允许访问的用户名

    第三步:创建密码文件
    htpasswd -dc /etc/httpd/conf/passwd rexchenhan

        这条命令同时创建密码文件

        最后,重启服务,测试。

  1. 排错的日志文件目录

      /var/log/httpd/,这个目录下记录了对应与每个虚拟主机的日志和主错误日志


posted @ 2009-04-29 22:07  Hello! Linux 博客  Views(1969)  Comments(0Edit  收藏  举报