使用本地网络的puphpet访问vagrant VM?

时间:2017-03-13 12:23:21

标签: apache vagrant puphpet

我使用了流浪汉和手风琴两周,效果很好。在我的情况下,我将使用我添加到我的主机文件中的http://myserver.dev作为puphpet建议

192.168.56.101 myserver.dev

现在我想从本地网络中的另一台计算机访问我的VM:s apache www文件夹。

This post建议取消注释vagrant文​​件中的某些行,但是当我使用puphpet时,我的自动生成的vagrant文​​件看起来像这样:

# -*- mode: ruby -*-

dir = File.dirname(File.expand_path(__FILE__))

require 'yaml'
require "#{dir}/puphpet/ruby/deep_merge.rb"
require "#{dir}/puphpet/ruby/to_bool.rb"
require "#{dir}/puphpet/ruby/puppet.rb"

configValues = YAML.load_file("#{dir}/puphpet/config.yaml")

provider = ENV['VAGRANT_DEFAULT_PROVIDER'] ? ENV['VAGRANT_DEFAULT_PROVIDER'] : 'local'
if File.file?("#{dir}/puphpet/config-#{provider}.yaml")
  custom = YAML.load_file("#{dir}/puphpet/config-#{provider}.yaml")
  configValues.deep_merge!(custom)
end

if File.file?("#{dir}/puphpet/config-custom.yaml")
  custom = YAML.load_file("#{dir}/puphpet/config-custom.yaml")
  configValues.deep_merge!(custom)
end

data = configValues['vagrantfile']

Vagrant.require_version '>= 1.8.1'

Vagrant.configure('2') do |config|
  eval File.read("#{dir}/puphpet/vagrant/Vagrantfile-#{data['target']}")
end

但是没有任何缺口线。

我想也许我需要在puphpet的config.yaml中做点什么? 这是我发现的关于ip和端口的内容:

machines:
    vflm_azud9vpjzelv:
        id: machine1
        hostname: myserver.puphpet
        network:
            private_network: 192.168.56.101
            forwarded_port:
                vflmnfp_rkr38vlo4vcb:
                    host: '6597'
                    guest: '22'
        memory: '512'
        cpus: '1'

1 个答案:

答案 0 :(得分:1)

您有两个简单的选择:

  • Vagrant附带vagrant share命令,可以打开一个可公开访问的虚拟机随机URL
  • 创建从主机到VM的转发端口。例如,将主机上的端口1080转发到VM中的端口80,因此当您转到http://localhost:1080时,流量将转发到您的VM。为此,您需要将*设置为Apache vhost的别名,以便捕获您选择的端口的所有流量(在本例中为80)。