title: Cant load index.php page with apache using vagrant and virtualbox
body: <p>This is my vagrantfile:</p>
  
  <pre><code># -*- mode: ruby -*-
  # vi: set ft=ruby :
  
  Vagrant.configure("2") do |config|
    # All Vagrant configuration is done here. The most common configuration
    # options are documented and commented below. For a complete reference,
    # please see the online documentation at vagrantup.com.
  
    # Every Vagrant virtual environment requires a box to build off of.
    config.vm.box = "ubuntu32"
    config.vm.provision :shell, :path =&gt; "vagrant/inicio.sh"
  
    # The url from where the 'config.vm.box' box will be fetched if it
    # doesn't already exist on the user's system.
    config.vm.box_url = "http://cloud-images.ubuntu.com/vagrant/raring/current/raring-server-cloudimg-i386-vagrant-disk1.box"
  
    # Create a forwarded port mapping which allows access to a specific port
    # within the machine from a port on the host machine. In the example below,
    # accessing "localhost:8080" will access port 80 on the guest machine.
      config.vm.network :forwarded_port, guest: 80, host: 8085, auto_correct: true
      config.vm.provider "virtualbox" do |v|
        v.name = "funcook"
      end
  
    # Create a private network, which allows host-only access to the machine
    # using a specific IP.
    # config.vm.network :private_network, ip: "192.168.33.10"
  
    # Create a public network, which generally matched to bridged network.
    # Bridged networks make the machine appear as another physical device on
    # your network.
    # config.vm.network :public_network
  
    # Share an additional folder to the guest VM. The first argument is
    # the path on the host to the actual folder. The second argument is
    # the path on the guest to mount the folder. And the optional third
    # argument is a set of non-required options.
    # config.vm.synced_folder "../data", "/vagrant_data"
  
    # Provider-specific configuration so you can fine-tune various
    # backing providers for Vagrant. These expose provider-specific options.
    # Example for VirtualBox:
    #
    # config.vm.provider :virtualbox do |vb|
    #   # Don't boot with headless mode
    #   vb.gui = true
    #
    #   # Use VBoxManage to customize the VM. For example to change memory:
    #   vb.customize ["modifyvm", :id, "--memory", "1024"]
    # end
    #
    # View the documentation for the provider you're using for more
    # information on available options.
  
    # Enable provisioning with Puppet stand alone.  Puppet manifests
    # are contained in a directory path relative to this Vagrantfile.
    # You will need to create the manifests directory and a manifest in
    # the file base.pp in the manifests_path directory.
    #
    # An example Puppet manifest to provision the message of the day:
    #
    # # group { "puppet":
    # #   ensure =&gt; "present",
    # # }
    # #
    # # File { owner =&gt; 0, group =&gt; 0, mode =&gt; 0644 }
    # #
    # # file { '/etc/motd':
    # #   content =&gt; "Welcome to your Vagrant-built virtual machine!
    # #               Managed by Puppet.\n"
    # # }
    #
    # config.vm.provision :puppet do |puppet|
    #   puppet.manifests_path = "manifests"
    #   puppet.manifest_file  = "init.pp"
    # end
  
    # Enable provisioning with chef solo, specifying a cookbooks path, roles
    # path, and data_bags path (all relative to this Vagrantfile), and adding
    # some recipes and/or roles.
    #
    # config.vm.provision :chef_solo do |chef|
    #   chef.cookbooks_path = "../my-recipes/cookbooks"
    #   chef.roles_path = "../my-recipes/roles"
    #   chef.data_bags_path = "../my-recipes/data_bags"
    #   chef.add_recipe "mysql"
    #   chef.add_role "web"
    #
    #   # You may also specify custom JSON attributes:
    #   chef.json = { :mysql_password =&gt; "foo" }
    # end
  
    # Enable provisioning with chef server, specifying the chef server URL,
    # and the path to the validation key (relative to this Vagrantfile).
    #
    # The Opscode Platform uses HTTPS. Substitute your organization for
    # ORGNAME in the URL and validation key.
    #
    # If you have your own Chef Server, use the appropriate URL, which may be
    # HTTP instead of HTTPS depending on your configuration. Also change the
    # validation key to validation.pem.
    #
    # config.vm.provision :chef_client do |chef|
    #   chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME"
    #   chef.validation_key_path = "ORGNAME-validator.pem"
    # end
    #
    # If you're using the Opscode platform, your validator client is
    # ORGNAME-validator, replacing ORGNAME with your organization name.
    #
    # If you have your own Chef Server, the default validation client name is
    # chef-validator, unless you changed the configuration.
    #
    #   chef.validation_client_name = "ORGNAME-validator"
  end
  </code></pre>
  
  <p>And this is the content of inicio.sh:</p>
  
  <pre><code>#!/usr/bin/env bash
  if [ ! -f ~/initial_provosioning_done ];
  then
      export DEBIAN_FRONTEND=noninteractive
      apt-get update  
      apt-get install -y -q lamp-server^ php5-gd
      sed -i 's,www-data,vagrant,g' /etc/apache2/envvars
      sed -i 's,/var/www,/vagrant/www,g' /etc/apache2/sites-available/default
      sed -i 's,AllowOverride None,AllowOverride All,g' /etc/apache2/sites-available/default
      mysqladmin -u root password root
      mysql -uroot -proot &lt; /vagrant/bd/script.sql
      rm -r /var/lock/apache2
      a2enmod rewrite
      service apache2 restart
      touch ~/initial_provosioning_done
  fi
  </code></pre>
  
  <p>This is how I am starting the VM:</p>
  
  <pre><code>    minirafa:beta.funcook.com TONIWEB$ vagrant reload
      [default] Attempting graceful shutdown of VM...
      [default] Clearing any previously set forwarded ports...
      [default] Creating shared folders metadata...
      [default] Clearing any previously set network interfaces...
      [default] Preparing network interfaces based on configuration...
      [default] Forwarding ports...
      [default] -- 22 =&gt; 2222 (adapter 1)
      [default] -- 80 =&gt; 8085 (adapter 1)
      [default] Booting VM...
      [default] Waiting for machine to boot. This may take a few minutes...
      [default] Machine booted and ready!
      [default] Mounting shared folders...
      [default] -- /vagrant
      minirafa:beta.funcook.com TONIWEB$ 
  </code></pre>
  
  <p>The thing is that:</p>
  
  <p>Chrome will log:</p>
  
  <p><code>ERR_EMPTY_RESPONSE</code></p>
  
  <p>and:</p>
  
  <pre><code>minirafa:~ TONIWEB$ curl 'http://localhost:80'
  curl: (7) couldn't connect to host
  </code></pre>
  
  <p>Or:</p>
  
  <pre><code>minirafa:~ TONIWEB$ curl 'http://localhost:8085'
  curl: (52) Empty reply from server
  minirafa:~ TONIWEB$
  </code></pre>
  
  <p>Usually this settings work for me with other projects,</p>
  
  <p>Any idea what could I try next?</p>
  
  <p>-EDIT-</p>
  
  <p>Also:</p>
  
  <pre><code>minirafa:beta.funcook.com TONIWEB$ curl -v http://localhost:8085
  * About to connect() to localhost port 8085 (#0)
  *   Trying 127.0.0.1... connected
  * Connected to localhost (127.0.0.1) port 8085 (#0)
  &gt; GET / HTTP/1.1
  &gt; User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8y zlib/1.2.3
  &gt; Host: localhost:8085
  &gt; Accept: */*
  &gt; 
  * Empty reply from server
  * Connection #0 to host localhost left intact
  curl: (52) Empty reply from server
  * Closing connection #0
  minirafa:beta.funcook.com TONIWEB$ 
  </code></pre>