geerlingguy.htpasswd
Ansible Rolle: htpasswd
Eine Ansible Rolle, die htpasswd
installiert und eine einfache Konfiguration der htpasswd
-Authentifizierungsdateien und -anmeldeinformationen ermöglicht (verwendet für die HTTP-Basisauthentifizierung mit Webservern wie Apache und Nginx) auf Linux-basierten Servern.
Anforderungen
Keine.
Variablen der Rolle
Verfügbare Variablen sind unten aufgeführt, zusammen mit Standardwerten (siehe defaults/main.yml
):
htpasswd_nolog: true
Ob Anmeldeinformationen von htpasswd im Ansible-Protokoll angezeigt werden sollen. Sollte true
bleiben, es sei denn, Sie debuggen etwas.
htpasswd_credentials:
- path: /etc/nginx/passwdfile
name: johndoe
password: 'supersecure'
owner: root
group: www-data
mode: 'u+rw,g+r'
- path: /etc/apache2/passwdfile
name: janedoe
password: 'supersecure'
owner: root
group: www-data
mode: 'u+rw,g+r'
Eine Liste von Anmeldeinformationen, die in den jeweiligen Dateien generiert (oder entfernt) werden sollen, die durch den path
-Schlüssel für jedes Dictionary definiert sind. Alle Parameter außer mode
sind erforderlich (mode
hat standardmäßig 'u+rw,g+r'
(0640
in oktal)).
htpasswd_required_packages:
- apache2-utils
- python3-passlib
(Standardwerte für Debian angezeigt). Sie können die installierten Pakete mit dieser Variable überschreiben (z.B. für CentOS 7 könnten Sie python3-passlib
in python-passlib
ändern).
Abhängigkeiten
Keine.
Beispiel-Playbooks
Apache-Beispiel
---
- hosts: apache-server
vars:
htpasswd_credentials:
- path: /etc/apache-passwdfile
name: johndoe
password: 'supersecure'
owner: root
group: apache
mode: 'u+rw,g+r'
apache_remove_default_vhost: True
apache_vhosts:
- listen: "80"
servername: "htpassword.test"
documentroot: "/var/www/html"
extra_parameters: |
<Directory "/var/www/html">
AuthType Basic
AuthName "Apache mit Basisauthentifizierung."
AuthUserFile /etc/apache-passwdfile
Require valid-user
</Directory>
pre_tasks:
- name: Aktualisiere den apt-Cache.
apt: update_cache=yes cache_valid_time=600
when: ansible_os_family == 'Debian'
roles:
- geerlingguy.apache
- geerlingguy.htpasswd
Nginx-Beispiel
---
- hosts: nginx-server
vars:
htpasswd_credentials:
- path: /etc/nginx/passwdfile
name: johndoe
password: 'supersecure'
owner: root
group: www-data
mode: 'u+rw,g+r'
nginx_remove_default_vhost: True
nginx_vhosts:
- listen: "80"
server_name: "htpassword.test"
root: "/var/www/html"
index: "index.html index.html index.nginx-debian.html"
filename: "htpassword.test.conf"
extra_parameters: |
location / {
auth_basic "Nginx mit Basisauthentifizierung.";
auth_basic_user_file /etc/nginx/passwdfile;
}
pre_tasks:
- name: Aktualisiere den apt-Cache.
apt: update_cache=yes cache_valid_time=600
when: ansible_os_family == 'Debian'
roles:
- geerlingguy.nginx
- geerlingguy.htpasswd
Lizenz
MIT / BSD
Autor Informationen
Diese Rolle wurde 2018 von Jeff Geerling erstellt, Autor von Ansible for DevOps.
htpasswd installation and helper role for Linux servers.
ansible-galaxy install geerlingguy.htpasswd