来源:http://trac.seagullproject.org/wiki/Installation/SettingUpApacheVirtualHosts

如何在Apache上建立一个虚拟主机

如果你之前没有操作过,不用怕,比你想像中的要容易,实际上只需要三个步骤.

定位http.conf文件

通常可以在以下目录中找到

/etc/httpd/conf/httpd.conf

用您首选编辑器打开它,然后搜索’Virtual Hosts’,通常会在接近文件末尾的一个section中找到,如下:

### Section 3: Virtual Hosts

启用name-based 虚拟主机

这个简单的就像添加或注释一行

NameVirtualHost <your-IP>:80

如下这个实例, 本地配置:

NameVirtualHost 127.0.0.1:80

远程配置:

NameVirtualHost 123.123.123.123:80

设置第一个 catch-all 主机

当请求你的服务器时,如果它们不匹配任何配置信息,那么默认将使用这些配置,你请求foo.your-domain.com 而它却还末安装。

接着我们的本地设置的例子,第一个虚拟主机看起来应该像这样:

<VirtualHost localhost:80>
ServerName      localhost
DocumentRoot    /var/www/html
</VirtualHost>

如果你的主机名称是’foobar’,那就用’foobar’替代localhost。

设置你的虚拟主机

和上面没有太大区别,只有一个地方不一样:

<VirtualHost my_host:80>
ServerName my_host
DocumentRoot    /var/www/html/my_site
DirectoryIndex  index.php
</VirtualHost>

不同在于你给你的虚拟主机起的名称必须在你的hosts文件中体现。打开它来看一下:

$ vi /etc/hosts

对于我们上面的例子,在本地主机上,你的文件应该是这样的:

127.0.0.1       localhost.localdomain   localhost
127.0.0.1       my_host

注意DocumentRoot指令要指向你的网站的根目录。在seagull中应该是:

/var/www/html/seagull/www

当然你也可以在虚拟主机容器里添加别的指令,请查看可用指令列表或实例以获得更多信息。

Gotchas

初学者不要忘了重新启动web服务器来读入httpd.conf中新的配置信息。当然也要保证web服务器能够访问所有的文件,如果你碰到了Apache无法找到或不能读取指定的文件,它会自动重起。

 
installation/settingupapachevirtualhosts.txt · 上一次变更: 2007/02/23 12:14 通过 xinhaozheng
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki