Apache服务器高级设置指南(二)
2024-08-27 18:28:41
供稿:网友
三、 虚拟主机(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 [email protected]
servername www.long.com
documentroot /home/httpd/long/html
errorlog logs/error_log
transferlog logs/access_log
serveradmin [email protected]
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便可以了。
<全文完>