2015-06-21 669 views
6

我正在尝试使用流浪者制作一个LAMP框。我被告知使用它非常简单。我对网络和虚拟机完全陌生,并且对Linux/Ubuntu有很少的经验。我目前已经试过在官方文档页面上的教程:http://docs.vagrantup.com/v2/getting-started/networking.html流氓麻烦 - “404 - 未找到”

我已经到了文档中的网络文章,似乎无法使其工作。

现在的问题是,由于我对网络和基于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 

我宁可不编辑任何配置文件除非有解释,否则我认为这将是一种解决方法。但无论如何,任何帮助将不胜感激。如果我需要开放一个端口,那么我该如何处理我正在考虑使用XAMPP的问题。

回答

10

我有同样的问题,该脚本将被更新。我试图从流浪箱重新启动apache,我在终端上收到了警告。

流浪汉@流浪的,Ubuntu的信赖-64:〜$ sudo的服务的Apache2重启 *重新启动Web服务器的apache2
AH00112:警告:DocumentRoot的[在/ var/www/html等]不存在 AH00558:apache2的:可能不能可靠地使用10.0.2.15确定服务器完全合格的 域名。全局设置“ServerName”指令来抑制此消息

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

创建一个DocumentRoot。我ssh到无业游民这条道路

在/ var/WWW/

+0

伎俩 – Raffael

+0

tldr:创建html文件夹 – Ruben

1

您可以从虚拟机内部访问您的Web服务器吗?

例如,尝试curl localhost:80

如果没有安装卷曲,在Ubuntu使用sudo apt-get install curl,然后再试一次。

此外,你检查你的apache虚拟主机? /etc/apache2/sites-available中是否存在000默认文件?

+0

我居然得到了完全相同找不到消息从主机内部。没有000-默认,但有2个其他默认文件。 – Dimi

+0

你可以粘贴'''ls -ls/etc/apache2/sites-enabled'''的结果吗? – jiop

+0

它实际上现在工作。感谢您的帮助。出于好奇,如果它没有出现,你会假设什么? – Dimi

1

有在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 
+0

这似乎没有工作。但是,什么是软链接和硬链接? – Dimi

+0

如果您不知道什么是软链接和硬链接,请阅读http://askubuntu.com/questions/108771/what-is-the-difference-between-a-hard-link-and-a-符号链接 – BMW

+0

并且解决方案确实有效,在作出此结论之前,您需要查看您的环境。 – BMW

6

问题是/etc/apache2/sites-enabled 000,默认的文件下框和创建的HTML文件夹中。

Apache2指向var/www/html和流浪示例到var/www只是删除de/html并作出sudo service apache2 restart

0

我已经试验了两个工作方案:

首先是要改变文件/etc/apache2/sites-enabled/000-default.conf对矫正的DocumentRoot/var/www而不是/var/www/html

第二是改变流浪文件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