在本地Web服务器上设置多个网站

最近几天我在本地networking上设置了一个CentOS 6服务器,以便我可以托pipe目前正在处理的多个项目。 所有东西都已经设置好了,所以我通过键入192.168.1.10访问服务器,并且出现了Apachetesting页面。

我打算做的是通过键入192.168.1.10/project项目来访问不同的项目,然后查看项目,就好像它在自己的独立服务器上一样。 我曾经想过只要将这些站点粘贴到服务器上的文件夹中,然后以这种方式访问​​它们,但是我的许多项目都使用CakePHP,因此这是不可行的。

所以我需要做的是在Apache中创buildVirtualHosts来允许我这样做,但不使用域名。 我想坚持使用机器的IP地址(这是静态的)。

有任何想法吗?

编辑
我遵循彼得的build议,但现在我有一个新的问题。

httpd.conf文件中,我input了以下信息:

 NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /www/html/project1 ServerName local.project1.com ErrorLog logs/local.project1.com-error_log CustomLog logs/local.project1.com-access_log common </VirtualHost> 

现在Apache正在说:

启动httpd:警告:DocumentRoot [/ www / html / project1]不存在

当它显然确实存在。 我已经禁用SELinux,我可以确认这是不是打开。 我也检查了该文件夹的所有权,并且拥有它的root 。 我还可以使用访客FTP帐户(不与根关联)将文件保存到这些文件夹,以便列出文件夹并将其写入。 但是,当我在网页浏览器中尝试文件夹,似乎也不工作。 我也做了服务器的重启,问题依然存在。

我应该改变什么来解决这个问题?

你可以把你的虚拟DNS名称放在hosts文件中。

例如。 在Linux中,

 vim /etc/hosts 

并填写:

 192.168.1.10 project1 project2 project3 

在Windows XP中(win7等可能类似),编辑文件c:\ windows \ system32 \ drivers \ etc \ hosts

并填写:

 192.168.1.10 project1 192.168.1.10 project2 192.168.1.10 project3 

然后当你在浏览器中访问http://project2/时,你将拥有project2 web根目录(如果你正确设置你的虚拟主机)。

或者,如果有许多开发人员使用这些别名,或者别名一直在变化,请设置一个内部DNS服务器。 (这是我的首选…我为testing网站做这个)

您可以在同一个IP地址,多个IP地址(如果有的话)或多个域上使用多个端口。 如果我是你,我会添加一些本地域名,例如p1.lan,p2.lan,p3.lan到/ etc / hosts(linux)或Windows \ System32 \ drivers \ etc \ hosts(windows),并将它们指向192.168 .1.10。

VirtualHost示例

里面的Apacheconfiguration使用…

 Alias /project /var/projects/project1 

或者类似的东西..不能记住我的头顶。