我正在尝试运行多个虚拟主机(?),例如: http:/localhost 将指向一个项目,http:/newsite 指向另一个项目,http:/myfavourite 再次指向另一个项目和不同的文档根目录。
(由于超链接发布限制,这里每个http://都是http:/)
我没有找到在/etc/apache2 中编辑 apache 文件的位置。我在寻找虚拟主机文件吗?
任何建议都会很棒,谢谢。
最佳答案
这是一本电子书的一章,它解释了如何创建虚拟主机来精确地做你想做的事——并且示例使用的是 Ubuntu:Creating A Local Domain Using Apache Virtual Hosts
简而言之:
- 您首先需要创建虚拟主机
- 然后,您必须编辑您的主机文件(在 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”实际上指向您自己的计算机。
重要的是用于在浏览器中访问您的网站的名称是主机文件中声明的名称;它还必须与 Apache 配置中的 ServerName 指令使用的相同。
当您为一个 VirtualHost 完成此操作时...其他所有虚拟主机都一样:只有站点名称和 DocumentRoot 发生变化。
希望这对您有所帮助!
关于apache - 在本地运行多个网站 Apache PHP Ubuntu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1329303/