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 Variable passbolt_install_php auf true gesetzt ist.

  • jdauphant.nginx
    Wenn die Variable passbolt_install_webserver auf true gesetzt ist.

  • geerlingguy.php
    Wenn die Variable passbolt_install_php auf true gesetzt ist.

  • geerlingguy.mysql
    Wenn die Variable passbolt_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.

Über das Projekt

Ansible role to install and configure passbolt API

Installieren
ansible-galaxy install laxathom.passbolt
GitHub Repository
Lizenz
mit
Downloads
92
Besitzer