Ansible-Playbook для установки mod_ssl, python-passlib и firewalld (и всегда обновляйте их)

Я управляю двумя клиентами (centos8) с помощью Ansible, и я хочу установить mod-ssl на веб-сервере, python-passlib на всех хостах и ​​firewalld на всех хостах. Playbook должен проверять каждый раз при запуске, являются ли 3 пакета самыми последними из доступных.

Я уже написал учебник, но получаю сообщение об ошибке, что нет пакета с именем "python-passlib"

Есть ли другое название для этого пакета на centos8? И я думаю, что мой способ установки этого пакета mod-ssl также неверен... Не могли бы вы проверить мою книгу и дать мне подсказку?:D

Вот моя инструкция:


- hosts: all
  become: yes
  tasks:
  - name: Install different services and keep them up-to-date
    dnf:
      name:
        - firewalld
        - python-passlib
      state: latest 

- hosts: webserver
  become: yes
  tasks:
  - name: Install mod-ssl and keep it up-to-date
    dnf:
      name: mod-ssl


- hosts: webserver
  become: yes
  tasks:
  - name: Insert a index.php site 
    copy: 
      src: /home/mike/devops_live_demo/index.php
      dest: /var/www/html/
      owner: mike
      mode: '0644'

- hosts: webserver
  become: yes
  tasks:
  - name: Reboot the Webserver
    reboot:      

Заранее спасибо, ребята!! Привет Майк

2 ответа

Решение

python-passlib устарел в более поздних версиях RHEL 7 и полностью удален в RHEL 8 (следовательно, также удален в CentOS 8). Он может стать доступен в репозитории EPEL, однако в настоящее время его там нет. Есть открытый RFE для его включения сюда

Тем временем, чтобы установить python-passlib, вы можете использовать Ansible pip модуль и установить passlib. Вы можете получить сторонний RPM-пакет passlib, но я бы не рекомендовал этого делать, если вы не доверяете источнику.

mod_ssl можно установить из репозиториев RPM, вам просто нужно изменить имя пакета в вашей задаче (у вас естьmod-ssl, но это должно быть mod_ssl). Вам также нужно будет добавитьstate: latest если вы хотите, чтобы пакет обновлялся:

  - name: Install mod-ssl and keep it up-to-date
    dnf:
      name: mod_ssl
    state: latest

python3-passlib — это пакет имен для CentOS 8 (RHEL 8 и его производных), он также может быть доступен для RHEL 9 и его производных.

Другие вопросы по тегам