除了我正在使用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。
答案 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在安装后自动启动。