无法从主机访问vagrant vm

时间:2016-11-10 11:48:09

标签: php apache vagrant virtualbox

我已经设置了一个带有Puphpet的流浪虚拟盒,运行正常(在Ubuntu 14.04中)并且我可以通过ssh连接到它。我还使用vagrant hostmanager将vm的IP自动添加到hosts文件中。

这是主机文件:

127.0.0.1   localhost
127.0.1.1   pcuser-HP-EliteBook-8470p

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters


## vagrant-hostmanager-start id: 2314dd30-24cf-4122-8779-8b755f5e6186
172.22.22.22    projectname.local
172.22.22.22    www.projectname.local
## vagrant-hostmanager-end

## vagrant-hostmanager-start id: c20d4d7f-3ada-4b2a-b142-e44826571754
192.168.56.101  machine1.puphpet
192.168.56.101  symfony.dev
## vagrant-hostmanager-end

问题是当我尝试通过IP地址或虚拟主机服务器名称(symfony.dev)从主机访问VM时。

要么它无法连接到它,尽管我已经从主机上ping了机器IP并且它的响应很好。

起初我没有安装vagrant hostmanager,只是手动将IP和虚拟主机服务器名称(symfony.dev)添加到hosts文件中,但它无法连接。

我已经检查了config.yaml文件中的设置,它们似乎都很好:

vagrantfile:
target: local
vm:
    provider:
        local:
            box: puphpet/ubuntu1404-x64
            box_url: puphpet/ubuntu1404-x64
            box_version: '0'
            chosen_virtualizer: virtualbox
            virtualizers:
                virtualbox:
                    modifyvm:
                        natdnshostresolver1: false
                    showgui: 0
                vmware:
                    numvcpus: 1
                parallels:
                    linked_clone: 0
                    check_guest_tools: 0
                    update_guest_tools: 0
            machines:
                vflm_zaw8al7jczu3:
                    id: machine1
                    hostname: machine1.puphpet
                    network:
                        private_network: 192.168.56.101
                        forwarded_port:
                            vflmnfp_67om22p4f0j3:
                                host: '5608'
                                guest: '22'
                    memory: '1024'
                    cpus: '1'
    provision:
        puppet:
            manifests_path: puphpet/puppet/manifests
            module_path:
                - puphpet/puppet/modules
                - puphpet/puppet/manifests
            options:
                - '--verbose'
                - '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
    synced_folder:
        vflsf_y5mnuhi3ihqh:
            source: ./
            target: /var/www
            sync_type: nfs
            smb:
                smb_host: ''
                smb_username: ''
                smb_password: ''
                mount_options:
                    dir_mode: '0775'
                    file_mode: '0664'
            rsync:
                args:
                    - '--verbose'
                    - '--archive'
                    - '-z'
                exclude:
                    - .vagrant/
                    - .git/
                auto: 'true'
            owner: www-data
            group: www-data
    usable_port_range:
        start: 10200
        stop: 10500
    post_up_message: ''

我是否需要更改配置中的任何内容或我错过了什么或做错了什么?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

启动服务器但它绑定到127.0.0.1 / localhost IP,因此只能从VM访问

您需要使用VM的IP或0.0.0.0 IP启动它。这样的事情应该有效

php bin/console server:start 0.0.0.0:8000

答案 1 :(得分:0)

现在工作正常。最后我发现我安装的PuphPet包有问题。我发现虚拟机上没有安装apache,虽然我已经在Puphpet GUI上的包构建中选择了它,它似乎也按照config.yaml文件安装。

Merci pour ton aide,Frederic Henri!