日期:2011-02-12  浏览次数:20501 次

三、 虚拟主机(Virtual Host)的设置

  作为系统管理员,若你只有一个IP地址,却有好几个域名,又要求访问每个域名都要看到不同的内容,那怎么办?总不至于为每个域名都配上一台服务器吧。这就要采用虚拟主机(Virtual Host)技术,幸好Apache就支持这种功能。虚拟主机有两种方式:IP-Based(基于IP式)、Name-based(基于域名式)。IP-Based指的是一个域名对应一个IP地址,而Name-based指的是多个域名对应一个IP地址。

  虚拟主机的设置并不复杂,只要在httpd.conf文件中加入相应的命令就行。

  下面是一个Name-based(基于域名式)虚拟主机的httpd.conf例子(编者注:因篇幅原因,我们这只给出了相关部分,全文见www.swm.com.cn)。IP为:192.168.188.20,两个域名分别是long.com.cn、short.com.cn。

httpd.conf:

NameVirtualHost 192.168.188.20

ServerAdmin webmaster@long.com
ServerName www.long.com
DocumentRoot /home/httpd/long/html 

ErrorLog logs/error_log
TransferLog logs/access_log


ServerAdmin webmaster@short.com
ServerName www.short.com
DocumentRoot /home/httpd/short/html
ErrorLog logs/short.com-error_log
TransferLog logs/short.com-access_log


  NameVirtualHost命令指定在哪个IP上设置虚拟主机

  在VirtualHost命令中进行各个主机的具体设置。

  ServerAdmin命令是设定当WWW Server执行有问题时,会将ServerAdmin所设置的E-mail传送到浏览器,让使用者用该E-mail与系统管理员联系。

  ServerName命令是设置WWW Server的域名。

四、 提供个人主页空间、用户homepage的设定

  经常见到某些网站提供个人主页,显得很神气,其实你也可以开放你机器上的空间给别人,这很简单就能实现。只要你按照下面的提示对你的WWW服务器配置文件进行修改。

  给用户开放个人主页空间,一是要确定用户主页的存放目录,二是开放用户主页目录的读取权限。

  方法一

  你以root的身份给用户chen开个帐号,系统自动会给chen分配一空间/home/user,而后在/home/chen的目录下建一public_html的子目录,子目录的属性要设成other可读和可执行的。

  接着修改access.conf。在文件的最后加上以下一段:

    
    AllowOverride None
    order allow,deny
    allow from all
    

  而后,重新运行httpd,用户就可以通过http://www.swm.com.cn/~chen/访问chen的个人主页。
这种方法的优点是方便,缺点是安全性太差。

  方法二

  另一种办法是在/home/httpd目录下为用户chen建个目录chen。修改srm.conf中的UserDir为/home/httpd/*/html,接着重新运行httpd便可以了。

<全文完>