如何在Apache 2.2上设置虚拟主机

任何人都可以指导我如何使用Apache 2.2设置虚拟主机的一个很好的教程? 这是我的情况:

我有我的笔记本电脑上运行的Apache,我想要两个网站 – 一个端口80和一个端口8089.我想通过input计算机的IP地址访问每个站点从我的networking上的其他计算机,如http:// 192.168.1.102和http://192.168.1.102:8089 。 然而,当我input第二个url时,它会将我引导到在80端口上运行的网站。

在此先感谢您的帮助。

只需要定义2个虚拟主机,但使用不同的DocumentRoots:

<VirtualHost *:80> serverAdmin webmaster@dummy-host.somecompany.com DocumentRoot "/docs/dummy-host.somecompany.com" serverName dummy-host.somecompany.com serverAlias www.dummy-host.somecompany.com ErrorLog "logs/dummy-host.somecompany.com-error.log" CustomLog "logs/dummy-host.somecompany.com-access.log" common </VirtualHost> <VirtualHost *:8089> serverAdmin webmaster@dummy-host.somecompany.com DocumentRoot "/docs/dummy-host.somecompany.com" serverName dummy-host.somecompany.com serverAlias www.dummy-host.somecompany.com ErrorLog "logs/dummy-host.somecompany.com-error.log" CustomLog "logs/dummy-host.somecompany.com-access.log" common </VirtualHost> 

首先,您需要指示Apache监听您需要的端口:

 listn 80 listn 8089 

其次,你需要告诉它如何处理80和8089流量:

 <VirtualHost *:80> DocumentRoot /website/site80 serverName internet.dev </VirtualHost> <VirtualHost *:8089> DocumentRoot /website/site8089 </VirtualHost> 

第三,你需要“允许”Apache使用这些目录:

 <Directory "C:/website/site80"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all </Directory> <Directory "C:/website/site8089"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all </Directory>