Thursday, December 12, 2019

Ansible-playbook установка веб сервера

Всем привет.
На заметку простейший плайбук, как установить веб-сервер из RPM-файла, добавить его в автозагрузку и запустить.
---
- hosts: cmsansible
  gather_facts: no
  become: yes
  tasks:
    - name: copy httpd file
      copy:
        src: /tmp/httpd-2.4.6-90.el7.centos.x86_64.rpm
        dest: /tmp/httpd-2.4.6-90.el7.centos.x86_64.rpm
    - name: copy tools
      copy:
        src: /tmp/httpd-tools-2.4.6-90.el7.centos.x86_64.rpm
        dest: /tmp/httpd-tools-2.4.6-90.el7.centos.x86_64.rpm   
    - name: install tools
      yum:
        name: /tmp/httpd-tools-2.4.6-90.el7.centos.x86_64.rpm
        state: present
    - name: install httpd
      yum:
        name: /tmp/httpd-2.4.6-90.el7.centos.x86_64.rpm
        state: present
    - name: enable httpd
      service:
        name: httpd
        enabled: yes
    - name: start httpd
      service:
        name: httpd
        state: started

Пару уточнений:
1. become - для того, чтобы избежать ошибки "You need to be root to perform this command"
2. проверьте, чтобы на управляемой ноде не было установлено ПО апача, иначе будет такая ошибка FAILED! => {"ansible_facts": {"pkg_mgr": "yum"}, "changed": false, "changes": {"installed": ... }
3. Когда пишите плайбук всегда проверяйте отступы - это очень важно!