麻烦与stream浪汉 – “404 – 找不到”

我正在尝试使用Vagrant制作一个LAMP盒子。 我被告知使用它非常简单。 我对networking和虚拟机器是完全陌生的,而且对Linux / Ubuntu很less有经验。 我目前已经在官方文档页面上尝试了以下教程: http : //docs.vagrantup.com/v2/getting-started/networking.html 。

我已经到了文档中的networking文章,似乎无法得到它的工作。

现在的问题是,由于我的networking和基于Linux操作系统的经验不足,我不知道从哪里开始解决问题。 我会尽力提供尽可能多的信息。

我正在运行带有Windows 8.1的最新版本的Virtualbox的最新版本的Vagrant。

根据教程,我目前的Vagrantfile看起来像这样:

Vagrant.configure(2) do |config| config.vm.box = "hashicorp/precise32" config.vm.provision :shell, path: "bootstrap.sh" config.vm.network :forwarded_port, host: 4567, guest: 80 end 

我的bootstrap.sh文件如下所示:

 #!/usr/bin/env bash apt-get update apt-get install -y apache2 if ! [ -L /var/www ]; then rm -rf /var/www ln -f /vagrant /var/www fi 

当我去http://127.0.0.1:4567时 ,它显示了一个包含这个消息的错误页面:

 Not Found The requested URL / was not found on this server. =================================================== Apache/2.2.22 (Ubuntu) Server at 127.0.0.1 Port 4567 

我宁愿不编辑任何configuration文件,除非有解释,因为我觉得这将是一个解决方法。 但不pipe,任何帮助将不胜感激。 如果我需要开放一个端口,那我该如何处理我正在考虑使用XAMPP的地步。

我有同样的问题。 我试图从流浪者箱子重新启动apache,我的终端上有警告。

vagrant @ vagrant-ubuntu-trusty-64:〜$ sudo service apache2 restart *重新启动web服务器apache2
AH00112:警告:DocumentRoot [/ var / www / html]不存在AH00558:apache2:使用10.0.2.15无法可靠地确定服务器的完全限定的域名。 全局设置“serverName”指令以禁止此消息

通过创建“html”文件夹排序我的404问题。

创建一个DocumentRoot。 我ssh到流浪的箱子,并创建此路径下的HTML文件夹

在/ var / WWW /

问题出在/etc/apache2/sites-enabled 000-default文件上。

Apache2是指向var/www/html和vagrant示例到var/www只是删除de / html并使sudo service apache2 restart

你能从你的虚拟机里访问你的Web服务器吗?

例如,尝试curl localhost:80

如果未sudo apt-get install curl在Ubuntu上使用sudo apt-get install curl并重试。

另外,你检查你的Apache虚拟主机? / etc / apache2 / sites-available中是否有000-默认文件?

bootstrap.sh有两个问题

  1. 您需要启动Web服务。 你也可以通过vagrant ssh手动启动它
  2. 你需要做软链接,而不是硬链接。

所以脚本将被更新为

 $ cat bootstrap.sh #!/usr/bin/env bash apt-get update apt-get install -y apache2 if ! [ -L /var/www ]; then rm -rf /var/www ln -s /vagrant /var/www fi service apache2 start 

我已经尝试了两个工作解决方案:

首先是将文件/etc/apache2/sites-enabled/000-default.conf修改为/var/www DocumentRoot而不是/var/www/html

第二个是以下面的方式更改Vagrant文件bootstrap.sh

 #!/usr/bin/env bash apt-get update apt-get install -y apache2 if ! [ -L /var/www/html ]; then rm -rf /var/www/html ln -fs /vagrant /var/www/html fi 

除此之外,出于某种原因,我还必须更改Vagrantfile中端口转发的配置,添加host_ip密钥,如下所示:

 Vagrant.configure(2) do |config| config.vm.box = "hashicorp/precise32" config.vm.provision :shell, path: "bootstrap.sh" config.vm.network :forwarded_port, host: 4567, guest: 80, host_ip: "127.0.0.1" end