如何使用我的第一个Vagrant设置对404页面进行故障排除?

时间:2015-10-15 18:45:59

标签: vagrant

除了我正在使用ubuntu / trusty64之外,我的问题与this人的问题相同。当我去localhost时,我得到一个404页面:4567。

Vagrantfile:

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

bootstrap.sh:

apt-get update
apt-get install -y apache2
if ! [ -L /var/www ]; then
  rm -rf /var/www
  ln -fs /vagrant /var/www
fi

这些直接来自设置指南。我也从其中一个答案中尝试了这个:

$ 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

并运行vagrant reload,以及vagrant reload --provision时无效。这是curl localhost:80返回的内容:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL / was not found on this server.</p>
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at localhost Port 80</address>
</body></html>

可能是因为命令提示符下没有ssh工作吗? Git和cygwin在我的系统和用户路径中,但我仍然得到ssh可执行文件未找到错误。 Putty虽然有效。使用Windows 8.1,Vagrant 1.7.4,VirtualBox 5.0.6。

1 个答案:

答案 0 :(得分:1)

apache的默认web目录不再是/var/www。它是/var/www/html。据我所知,有时在过去/var/www。可能是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

然后它的作品!您不需要显式启动apache2。 apache2在安装后自动启动。