Создание ВМ со связкой Nginx - Apache посредством Vagrant и Ansible с хоста на windows.
- установлены Vagrant и VirtualBox
- включен VPN
- отсутствует плагин vagrant-vbguest
- отсутствуют ВМ с именем vagrant
vagrant plugin list
No plugins installed.
Также необходимо добавить box - пакет с дистрибутивом, в нашем случае Debian 9 объемом 10Гб.
vagrant box add debian9 https://app.vagrantup.com/debian/boxes/stretch64/versions/9.9.0/providers/virtualbox.box
Ждем вывод об успешном добавлении.
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'debian9' (v0) for provider:
box: Downloading: https://app.vagrantup.com/debian/boxes/stretch64/versions/9.9.0/providers/virtualbox.box
box:
==> box: Successfully added box 'debian9' (v0) for 'virtualbox'!
Запуск скрипта:
vagrant up --provision
Будет создана виртуальная машина с работающими службами nginx и apache на портах 80 и 8888 соответственно.
Подключение к созданной ВМ:
vagrant ssh
Виртуальной машине будет присвоен адрес 192.168.56.34, при необходимости можно заменить в конфигурации Vagrantfile (node.vm.network :private_network, ip: "192.168.56.34").
На порту 80 работает nginx, который перенаправит запросы к apache.
Откроем http://192.168.56.34/ в браузере на хосте.
Для наглядности сшаблонизировал версию PHP на html страницу.
Введем данные и отправим.
Скрипт отработал:
Для обновления версии на ВМ необходимо запустить плейбук:
ansible-playbook /vagrant/update_php_playbook.yml -i /vagrant/inventory
Версия изменена: