我正在建立自己的本地开发 Web 服务器,主要用于主题开发。
我已经在 Ubuntu 13.04 64 位桌面上成功设置了 LAMP,apache 运行良好。
安装LAMP的机器也是我的桌面站。
所以我想从本地主机本身和局域网内的另一台机器访问虚拟主机。
我已经设置了我的第一个虚拟主机,名为devone.loc
我已经将名称插入我的 hosts 文件中。
一切正常且可访问。
它也可以在局域网中的任何机器中访问,我已经在 DD-WRT 路由器的 DNSmasq 中设置了它。
但是,当我禁用网络连接时,虚拟主机将
无法再访问。但是默认虚拟主机在没有网络的情况下仍然可以访问。
这里似乎有什么问题?我还需要在本地主机中访问虚拟主机,因为它也是我的桌面站。
我已将虚拟主机配置文件附加到以下位置:
<VirtualHost *:80>
DocumentRoot /var/www2
ServerName devone.loc
ServerAlias www.devone.loc
<Directory /var/www2>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
如果您是虚拟主机用户,您可以轻松重现我的问题。
禁用所有网络,然后使用 Firefox(在我的情况下是 FF v23)浏览
本地开发网站,它将抛出服务器未找到错误。
在本地主机的虚拟主机上离线浏览我的网站对我来说非常重要,
我用它来向客户进行演示或项目展示。
附加信息
我忘了说我的机器上也安装了 Webmin。
更新
我已经使用 LinuxMint 15 在另一台 Linux 机器上设置了另一个 Web 服务器,服务器是 XAMPP 1.8.2-1,最终结果相同。
我尝试在网络被禁用的情况下设置 wordpress,但它抛出了“未找到服务器”错误,或者当目录为空时,它会抛出“禁止访问”。
当我检查或勾选 Firefox 的“离线工作”菜单时,我可以访问 wordpress 安装菜单,但只有索引部分,单击“下一步”后便无法再访问。
我已经进行了几种指令组合,但仍然无法使其工作。
所以,主要问题是......
当所有网络都禁用时,我的 VirtualHost 无法访问。只有当网络启用时,才可以访问。
更新-我已修复
这个问题实际上与 Firefox 设置有关,更改设置确实解决了我的问题。
网络.dns.禁用IPv6是我将其布尔值更改为的 Firefox 首选项名称false
所以,我做了以下事情:
- 打开 Firefox 并输入关于:配置在地址栏中。
- 我收到了警告提示...这可能会使你的保修失效,我点击了
I'll be careful, I promise!
- 在标签下方的搜索栏中,我搜索了
network.dns.disableIPv6
,当它出现时,我只需双击它即可将其值更改为false
。 - 我重启了机器,浏览我的项目网站,然后,砰!终于打开了。
对于像我这样的新手,希望这可以对你有所帮助。
我现在可以安然入睡了……感谢这个帖子。
我彻夜难眠地搜索这个问题,不同的搜索字符串和短语会产生不同的搜索结果。我终于找到了正确的页面。我还发现这个问题也被问到在超级用户中。
答案1
如果您只是设置一台开发机器,则不需要外部 URL 进入您的机器,因为您应该以 URL 无关紧要的方式进行开发。我同时进行多个项目,所有项目在没有互联网连接的情况下都能正常工作。这就是我设置平台的方式。
localhost 不需要互联网即可工作。
打开您的主机文件并将您的网站添加到您的开发机器。
sudo nano /etc/hosts
对于您要构建的每个站点,请为其添加一个主机记录,如下所示。
现在您可以在 apache 虚拟主机文件中进行相应的设置。
例如,这是我的 elim.localhost 站点的配置文件。我将其存储为 /etc/apache2/sites-available/elim.localhost.conf
将此信息添加到文件后,我发出以下命令:
sudo a2ensite elim.localhost.conf && sudo service apache2 reload
现在在浏览器中访问我的网站我可以输入:
elim.localhost
我对每个项目都重复此过程。根据本文发布时的设置,以下 URL 可用于我的开发机器,所有 URL 都指向不同的地方。
- elim.localhost
- 18we.localhost
- 29pines.localhost
如果您在 mysql 数据库服务器上使用 phpmyadmin 工作,localhost/phpmyadmin 仍然可以正常工作。
确认即使网卡与网络断开连接也能正常工作。