laxathom.passbolt
Passbolt
Ansible-Rolle zur Installation und Konfiguration der Passbolt-App auf RHEL/CentOS (momentan nur) basierten Distributionen.
Rollenvariablen
Dies sind einstellbare Variablen für diese Rolle und sind in defaults/main.yml
mit Standardwerten vorgegeben. Möglicherweise müssen Sie diese je nach Bedarf überschreiben. Die meisten davon sind nicht für Produktionsumgebungen geeignet.
Basisvariablen
passbolt_version: # Definiert die Version der App
passbolt_archive: # Definiert den vollständigen Namen des App-Archivs
passbolt_dl_url: # Definiert die URL zum Herunterladen und Installieren der App
Variablen zur PHP-fpm-Konfiguration
passbolt_php_fpm_includedir: # Definiert das Konfigurationsverzeichnis der PHP-fpm-Pools
passbolt_php_fpm_pool: # Definiert den absoluten Pfad zur Poolkonfiguration der App
passbolt_php_fpm_user: # Definiert, welcher Benutzer die App über PHP-fpm ausführt
passbolt_php_fpm_group: # Definiert, welche Gruppe die App über PHP-fpm ausführt
passbolt_php_fpm_owner: # Definiert den Besitzer des PHP-fpm-Sockets
passbolt_php_fpm_group: # Definiert die Gruppe des PHP-fpm-Sockets
passbolt_php_fpm_mode: # Definiert den Modus des PHP-fpm-Sockets (hauptsächlich bei der Verwendung von dateibasierten Sockets)
passbolt_php_fpm_whitelist: # Definiert eine Liste von IP/Hostnamen, die mit PHP-fpm kommunizieren dürfen
passbolt_php_fpm_listen: # Definiert die Methode des PHP-fpm-Sockets (dateibasiert, host:port usw.)
passbolt_php_fpm_listen_port: # Definiert den Port des PHP-fpm-Sockets, wenn kein `unix:`-basiertes URI verwendet wird
Variable zur Datenbankeinrichtung
passbolt_dbhost: # Definiert den Hostnamen des Datenbankservers zur Verbindung
passbolt_dbuser: # Definiert den Datenbankbenutzer
passbolt_dbpass: # Definiert das Passwort des Datenbankbenutzers
passbolt_dbname: # Definiert den Namen der Datenbank zur Verbindung
Variablen zur SMTP-Einrichtung
passbolt_smtp_host: # Definiert den Hostnamen des SMTP-Servers zur Verbindung
passbolt_smtp_port: # Definiert den Port des SMTP-Servers
passbolt_smtp_auth: # Definiert die Authentifizierungsmethode für SMTP (TLS, SSL). Leer lassen für keine.
passbolt_smtp_user: # Definiert den SMTP-Benutzer (falls Authentifizierung eingestellt ist)
passbolt_smtp_pass: # Definiert das SMTP-Passwort (falls Authentifizierung eingestellt ist)
passbolt_smtp_timeout: # Definiert die zulässige Timeout-Dauer für SMTP-Verbindungen
passbolt_smtp_sender: # Definiert den Namen des Absenders
passbolt_smtp_sender_email: # Definiert die E-Mail des Absenders
passbolt_error_report: # Definiert, ob die App gefangene SQL-Fehler melden soll
passbolt_error_report_email: # Definiert den Empfänger der Benachrichtigung
Abhängigkeiten
geerlingguy.repo-remi
Wenn die Variablepassbolt_install_php
auf true gesetzt ist.jdauphant.nginx
Wenn die Variablepassbolt_install_webserver
auf true gesetzt ist.geerlingguy.php
Wenn die Variablepassbolt_install_php
auf true gesetzt ist.geerlingguy.mysql
Wenn die Variablepassbolt_install_dbserver
auf true gesetzt ist.
Beachten Sie, dass, wenn Sie andere Rollen als die oben genannten verwenden, diese Variablen auf False
gesetzt werden sollten und Sie sicherstellen, dass Sie diese zuerst ausführen und bereitstellen.
Sie können auch den NGINX-Webserver durch Apache oder eine andere Alternative ersetzen, wenn Ihre Infrastruktur dies erfordert. Diese Rolle enthält keine vordefinierte Webkonfiguration. Diese wird über die von dieser Rolle bereitgestellten NGINX-Variablen festgelegt (siehe tests/test.yml
für weitere Details).
Beispiel-Playbook
- hosts: vault-servers
vars:
nginx_sites:
passbolt:
- listen 443 ssl
- server_name vault.domain.tld
- ssl_certificate /etc/ssl/domain.tld.cert
- ssl_certificate_key /etc/ssl/domain.tld.key
- server_tokens off
- root "{{ passbolt_webroot }}"
- location / { try_files $uri /index.php$is_args$args; }
- location ~ \.php(/|$) {
fastcgi_pass {{ passbolt_php_fpm_listen }};
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_read_timeout 500;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param SERVER_NAME $http_host;
fastcgi_param DOCUMENT_ROOT $realpath_root;
internal;
}
roles:
- {
role: laxathom.passbolt
}
Testen
- Anforderungen an den Host
- Docker-Engine. Stellen Sie sicher, dass sie installiert und aktiv ist.
Einrichten der Ansible-Umgebung
printf '[defaults]\nroles_path=../\nhost_key_checking = False' > ansible.cfg
Installieren der Testanforderungen
% ansible-galaxy install -r tests/requirements.yml -p tests/roles
Führen Sie dann das Playbook für den Bereitstellungstest aus
% sudo ansible-playbook -vv -i tests/inventory tests/test.yml
Nach Abschluss sollten Sie auf die bereitgestellte und laufende Anwendung unter http://localhost:8080/ zugreifen können.
Ansible role to install and configure passbolt API
ansible-galaxy install laxathom.passbolt