我正在尝试使用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
有两个问题
vagrant ssh
手动启动它 所以脚本将被更新为
$ 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