在本地运行多个网站Apache PHP Ubuntu

时间:2009-08-25 16:12:38

标签: apache ubuntu virtualhost

我试图运行多个虚拟主机(?),例如: http:/ localhost将指向一个项目,http:/ newsite到另一个和http:/ myfavourite再次向另一个项目提供不同的文档根目录。

(由于超链接发布限制,每个http://都是http:/ here)

我没有成功查看在/ etc / apache2中编辑apache文件的位置。我在寻找一个vhosts文件吗?

任何建议都很棒,谢谢。

3 个答案:

答案 0 :(得分:9)

这是一本电子书的一章,解释了如何创建虚拟主机以完全按照您的需要进行操作 - 示例使用的是Ubuntu:Creating A Local Domain Using Apache Virtual Hosts

用几句话说:

  • 您首先需要创建VirtualHost
  • 然后,您必须编辑您的主机文件(在Linux下,它是/etc/hosts),以便新的“伪域名”指向您的计算机。

对于VirtualHost,使用Ubuntu,您可以在/etc/apache2/sites-available/中创建一个新文件;例如名为your-site.com;它会包含这样的内容:

<VirtualHost *:80>
    ServerName your-site.com
    DocumentRoot /.../www/...

    <Directory /.../www/...>
        Options Indexes FollowSymLinks Includes
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

你注册这个文件,所以它由Apache加载,使用这个命令:

sudo a2ensite your-site.com

然后,重新加载Apache:

sudo /etc/init.d/apache2 reload


然后,您必须编辑/ etc / hosts以添加如下所示的行:

127.0.0.1       your-site.com

所以“your-site.com”实际指向你自己的电脑。


重要的是,用于在浏览器中访问您的网站的名称是在hosts文件中声明的名称;它也必须与Apache配置中ServerName directivr使用的相同。


当你为一个VirtualHost做了这个......对于其他每个人来说都是一样的:只有站点的名称和它的DocumentRoot才会改变。


希望这有帮助!

答案 1 :(得分:4)

您可以编辑/ etc / hosts并添加多个指向127.0.0.1的名称,然后为每个名称添加VirtualHost条目。根据您的服务器,配置可以在/etc/apache2/conf/httpd.conf或/ etc / apache2 / sites-available中。如果是后者,那么here是我为配置获得的第一个谷歌搜索。

答案 2 :(得分:1)

localhost与apache无关,但是是你机器的别名(ip 127.x.x.x)。

您必须编辑/etc/hosts才能完成您想要的工作。

你为什么要这样做?是不是http://localhost/newsite