# Домашнее задание 24 ## Ansible Для выполнение задания используется vagrant box Ubuntu 22.04 ### Создание Vagrantfile Зададим следующие характеристики для VM - CPU - 1 - Memory - 512mb Пробросим порт 8080 с хостовой машины в гостевую на 8080 порт. После запуска VM в provision пропишем запуск ansible и укажем наш сценарий install_nginx.yml Готовый [Vagrantfile](Vagrantfile) ### Cоздание install_nginx.yml Сценарий для Ansible будет выполнять следующие действия: 1. Обновление пакетов 2. Установка nginx - Если установка выполнена успешно, через **notify** nginx будет поставлен в автозагрузку 3. Создание конфига из простейшего шаблона **nginx_template**, в котором nginx запускается на порту 8080 - Если создание шаблона произойдет без ошибок, через **notify** nginx будет перезапущен Готовый [install_nginx.yml](install_nginx.yml) ### Cоздание nginx_template Наипростеший шаблон, при распространение которого через ansible, требуется передать переменную **{{ nginx_port }}**, в которой указать, на каком порту будет запущен Nginx Готовый [nginx_template](nginx_template) ### Проверка Положим файлы **Vagrantfile**, **install_nginx.yml** и **nginx_template** в один каталог. Запустим vagrant ```bash alex@ubuntu-pc:~/Документы/16$ vagrant up Bringing machine 'ubuntu' up with 'virtualbox' provider... ==> ubuntu: Importing base box 'ubuntu/jammy64'... ==> ubuntu: Matching MAC address for NAT networking... ==> ubuntu: Checking if box 'ubuntu/jammy64' version '20241002.0.0' is up to date... ==> ubuntu: Setting the name of the VM: 16_ubuntu_1770490800382_68640 ... ... PLAY [all] ********************************************************************* TASK [Gathering Facts] ********************************************************* ok: [ubuntu] TASK [update] ****************************************************************** changed: [ubuntu] TASK [install nginx] *********************************************************** changed: [ubuntu] TASK [create config nginx] ***************************************************** changed: [ubuntu] RUNNING HANDLER [restart nginx] ************************************************ changed: [ubuntu] RUNNING HANDLER [enabled nginx] ************************************************ ok: [ubuntu] PLAY RECAP ********************************************************************* ubuntu : ok=6 changed=4 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 ``` Видим что в конце отработал ansible, HANDLER так же выполнены. Проверим в браузере открыв http//127.0.0.1:8080, видим стартовую страницу ![16_1](images/16_1.png) Все готово!