多个虚拟主机 - 无法访问此站点Vagrant / Virtualbox

时间:2016-03-17 11:57:38

标签: dns ip vagrant virtualbox hosts

我在设置多个虚拟域时遇到问题。尝试了这么多解决方案,没有任何效果。 我只是遗漏了一些东西但却不知道是什么。至少可以说令人沮丧的旅程。 我已经设置了2个虚拟盒子:一个用于Laravel环境,一个用于Magento环境。 他们都有同样的问题,域不起作用。这是magento:

  • 文件夹:magento
  • 虚拟域名:magento.box
  • magento.conf
  • ip:192.168.10.10

当我进入浏览器192.168.10.10时它运行正常, 但如果我输入magento.box,则说明:

This site can’t be reached 
magento.box’s server DNS address could not be found.

对于Laravel来说是一样的。

Magento virtualbox

provision-ubuntu-15.10.sh:

#!/usr/bin/env bash

# Ubuntu 15.10 (GNU/Linux 4.2.0-34-generic x86_64) / ubuntu/wily64

# Update Ubuntu
# apt-get update

# Apache
echo "----- Provision: Installing apache..."
# apt-get install -y apache2 apache2-utils

echo "ServerName localhost" > "/etc/apache2/conf-available/fqdn.conf"
a2enconf fqdn
a2enmod rewrite
a2dissite 000-default.conf

# Folders
echo "----- Provision: Setup /var/www to point to /vagrant ..."
rm -rf /var/www
ln -fs /vagrant /var/www

# Apache / Virtual Host Setup
 echo "----- Provision: Install Host File..."
 cp /vagrant/vm_provision/hostfile /etc/apache2/sites-available/magento.conf
 a2ensite magento.conf

# Cleanup
apt-get -y autoremove

# Restart Apache
echo "----- Provision: Restarting Apache..."
service apache2 restart

Vagrantfile

 Vagrant.configure(2) do |config|
      config.vm.box = "ubuntu/wily64"

        config.vm.provision :shell, :path => "vm_provision/provision-ubuntu-15.10.sh"
        config.vm.network "private_network", ip: "192.168.10.10",

        owner:"vagrant", 
        group: "www-data", 
        mount_options:["dmode=770, fmode=660"]

      # VirtualBox specific settings

      config.vm.provider "virtualbox" do |vb|
        vb.gui = false
        vb.memory = "2048"
        vb.cpus = 1
      end

apache my.conf

<VirtualHost *:80>

        ServerName  www.magento.box

        DocumentRoot /var/www/magento

        # Custom log file locations
        LogLevel warn
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # Allow overrides in .htaccess file
        <Directory /var/www/>
                Options FollowSymLinks
                AllowOverride All
        </Directory>

</VirtualHost>

在hosts文件中:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
127.0.0.1       localhost
127.0.0.1       www.magento.box

1 个答案:

答案 0 :(得分:4)

为了能够输入magento.box或任何其他LOCAL域(例如,外部互联网上不可用),您需要修改&#34;主机&#34;运行浏览器的计算机上的文件。在这种情况下,你的主人(不在你的流浪汉机器内)。该过程取决于您是否正在运行Windows / OSX / Linux /等,而是来自维基百科的here is a quick overview

你可能关心的三个:

%SystemRoot%\System32\drivers\etc\hosts

OSX

/etc/hosts

Linux的

/etc/hosts

在该文件中,您需要添加以下行,让您的操作系统知道magento.box表示192.168.10.10

192.168.10.10    magento.box

注意您可能需要重新启动才能使其生效。另请注意,您需要admin / sudo权限才能编辑此文件。