Ansible-Playbook,用于安装mod_ssl,python-passlib和Firewalld(并始终保持最新状态)

时间:2019-11-05 20:59:59

标签: ansible mod-ssl centos8

我用Ansible管理2个客户端(centos8),我想在Web服务器上安装mod-ssl,在所有主机上安装python-passlib,并在所有主机上安装firewalld。 Playbook每次运行时都应进行检查,以确保这3个软件包是最新的。

我已经写过一本剧本,但是我收到了错误消息:没有名为“ python-passlib”的软件包。

在centos8上此软件包是否还有其他名称? 而且我认为我安装此mod-ssl软件包的方式也是错误的……你们可以检查我的Playbook并给我一个提示吗? :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:      

提前谢谢你们!! 问候 迈克

1 个答案:

答案 0 :(得分:0)

python-passlib 在更高版本的RHEL 7中已弃用,并已在RHEL 8中完全删除(因此在CentOS 8中也已删除)。它可能在EPEL存储库中可用,但是目前不存在。有一个开放的RFE,其中包含here

要在此期间安装python-passlib,可以使用Ansible pip模块并安装passlib。您可以提供passlib的第三方打包RPM,但除非您信任该来源,否则我建议您这样做。

可以从RPM存储库中安装

mod_ssl ,您只需要在任务中调整软件包名称(您有mod-ssl,但应该为mod_ssl)。如果您想使其保持最新状态,还需要添加state: latest

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