我创建了一个debian vm并通过puphet我刚刚创建了一个虚拟主机并指向它在我的主机主机文件中创建的本地ip。但是现在当我尝试创造另一个它不会工作。我读过其他帖子,例如:
creating virtual hosts on a vagrant box提及使用厨师。但我不明白为什么它不会正常工作?按照通常的方式,我的意思是在/ etc / apache2 / sites-available中创建一个新的vhost文件,启用它并在我的本地机器主机文件中创建ip路径。什么是厨师做的我不能手动做?
这是我的流浪档案:
Vagrant.configure("2") do |config|
config.vm.box = "debian-wheezy72-x64-vbox43"
config.vm.box_url = "https://puphpet.s3.amazonaws.com/debian-wheezy72-x64-vbox43.box"
config.vm.network "private_network", ip: "192.168.56.101"
config.vm.synced_folder "/Volumes/www", "/var/www", id: "vagrant-root", :nfs => false
config.vm.usable_port_range = (2200..2250)
config.vm.provider :virtualbox do |virtualbox|
virtualbox.customize ["modifyvm", :id, "--name", "wheezyDEB"]
virtualbox.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
virtualbox.customize ["modifyvm", :id, "--memory", "512"]
virtualbox.customize ["setextradata", :id, "--VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
end
config.vm.provision :shell, :path => "shell/initial-setup.sh"
config.vm.provision :shell, :path => "shell/update-puppet.sh"
config.vm.provision :shell, :path => "shell/librarian-puppet-vagrant.sh"
config.vm.provision :puppet do |puppet|
puppet.facter = {
"ssh_username" => "vagrant"
}
puppet.manifests_path = "puppet/manifests"
puppet.options = ["--verbose", "--hiera_config /vagrant/hiera.yaml", "--parser future"]
end
config.ssh.username = "vagrant"
config.ssh.shell = "bash -l"
config.ssh.keep_alive = true
config.ssh.forward_agent = false
config.ssh.forward_x11 = false
config.vagrant.host = :detect
end
答案 0 :(得分:3)
我想通了,我不确定这是否是正确的做法,但它有效并且这一切都很重要。如果有人有更好或更快的方式让我知道。
这就是我所做的:
1)我原本使用puphet.com上的puphet
2)我最初使用来自puphet.com的puphet
3)我进入puhpet给我的目录,所以我进入mypath / puppet / hieradata
并打开common.yaml
4)在vhosts下:是vhost设置,例如:<
vhosts:
VO6aT11EHJmL:
servername: localhost
docroot: /var/www/public
port: '80'
setenv:
- 'APP_ENV dev'
override:
- All
4yNJr1LpLJYA:
servername: laravel.dev
docroot: /var/www/vhosts/laravel-dev
port: '80'
setenv:
- 'APP_ENV dev'
override:
- all
每个vhost都有一个唯一的标识名称,它可以是任何名称。 servername,docroot的选项看起来很简单,所以修改它们。
接下来,为了让虚拟机重新组合您的更新,请确保您的流浪者在将这些更改变为common.yaml时已停止,并在完成后将类型保存类型流入终端。一旦进入你的sites-available目录所在的目录。在我的情况下,我在debian下使用apache;同样适用于ubuntu。
/etc/apache2/sites-available
您在此处看到的文件,其名称与您在common.yaml文件中的唯一名称相匹配,但其中包含数字,例如:
#-unique_name.conf
所以在common.yaml文件中,如果您在4yNJr1LpLJYA下创建或修改了设置,则需要在此目录中查找#-4yNJr1LpLJYA.conf并匹配common.yaml文件中的设置。完成后重启服务器,就我的情况而言
sudo service apache reload
也不要忘记将虚拟主机添加到本地计算机主机文件中,并将其与puphet给您的相同ip进行匹配。例如:
192.168.56.101 my-virtual-domain
为您要添加的每个人执行此操作。