laxathom.passbolt

Passbolt

Ansible rola do instalacji i konfiguracji aplikacji Passbolt na dystrybucji RHEL/CentOS (na chwilę obecną).

Zmienne roli

To są zmienne, które można ustawić w tej roli i które są zdefiniowane w pliku defaults/main.yml z wartościami domyślnymi. Możesz je nadpisać w zależności od swoich potrzeb. Większość z nich nie nadaje się do środowiska produkcyjnego.

Zmienne bazowe

passbolt_version: # Definiuje wersję aplikacji
passbolt_archive: # Definiuje pełną nazwę archiwum aplikacji
passbolt_dl_url: # Definiuje URL do pobrania aplikacji

Zmienne związane z konfiguracją PHP-fpm

passbolt_php_fpm_includedir: # Definiuje katalog konfiguracji pul php-fpm
passbolt_php_fpm_pool: # Definiuje absolutną ścieżkę do pliku konfiguracyjnego puli aplikacji
passbolt_php_fpm_user: # Definiuje użytkownika, z którym php-fpm uruchomi aplikację
passbolt_php_fpm_group: # Definiuje grupę, z którą php-fpm uruchomi aplikację
passbolt_php_fpm_owner: # Definiuje właściciela gniazda php-fpm
passbolt_php_fpm_group: # Definiuje grupę gniazda php-fpm
passbolt_php_fpm_mode: # Definiuje tryb gniazda php-fpm (najczęściej używany w przypadku gniazda opartego na pliku)
passbolt_php_fpm_whitelist: # Definiuje listę IP/nazw hostów do zezwolenia na komunikację z php-fpm
passbolt_php_fpm_listen: # Definiuje metodę gniazda php-fpm (oparte na pliku, host:port, itd.)
passbolt_php_fpm_listen_port: # Definiuje port gniazda php-fpm, gdy nie używa się uri z `unix:` w passbolt_php_fpm_listen

Zmienne związane z konfiguracją bazy danych

passbolt_dbhost: # Definiuje nazwę hosta serwera bazy danych do połączenia
passbolt_dbuser: # Definiuje użytkownika bazy danych
passbolt_dbpass: # Definiuje hasło do bazy danych
passbolt_dbname: # Definiuje nazwę bazy danych do połączenia

Zmienne związane z konfiguracją SMTP

passbolt_smtp_host: # Definiuje nazwę hosta serwera SMTP do połączenia
passbolt_smtp_port: # Definiuje port serwera SMTP
passbolt_smtp_auth: # Definiuje metodę uwierzytelniania SMTP (TLS, SSL). Zostaw puste, jeśli brak.
passbolt_smtp_user: # Definiuje użytkownika SMTP (jeśli uwierzytelnianie jest ustawione)
passbolt_smtp_pass: # Definiuje hasło SMTP (jeśli uwierzytelnianie jest ustawione)
passbolt_smtp_timeout: # Definiuje dozwolony czas oczekiwania na połączenie SMTP
passbolt_smtp_sender: # Definiuje nazwę nadawcy
passbolt_smtp_sender_email: # Definiuje email nadawcy

passbolt_error_report: # Definiuje, czy aplikacja ma wysyłać zgłoszenia o złapanych błędach SQL
passbolt_error_report_email: # Definiuje odbiorcę, do którego wysyłane będą powiadomienia

Zależności

  • geerlingguy.repo-remi Gdy zmienna passbolt_install_php jest ustawiona na true.

  • jdauphant.nginx Gdy zmienna passbolt_install_webserver jest ustawiona na true.

  • geerlingguy.php Gdy zmienna passbolt_install_php jest ustawiona na true.

  • geerlingguy.mysql Gdy zmienna passbolt_install_dbserver jest ustawiona na true.

Jeśli uda Ci się użyć innych ról niż te powyżej, warto ustawić te zmienne na False i upewnić się, że uruchomisz i wdrożysz je najpierw.

Możesz również zastąpić serwer internetowy nginx serwerem apache lub innym, jeśli to jest to, co działa w Twojej infrastrukturze. Ta rola nie zawiera z góry zdefiniowanej konfiguracji sieciowej. Jest ustawiana przez zmienne NGINX dostarczane przez tę rolę (zobacz tests/test.yml dla więcej szczegółów).

Przykład Playbooka

    - 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
        }

Testowanie

  • Wymagania dotyczące hosta
    • Silnik docker. Upewnij się, że jest zainstalowany i działa.

Ustawienie środowiska ansible

printf '[defaults]\nroles_path=../\nhost_key_checking = False' > ansible.cfg

Zainstaluj wymagania testowe

% ansible-galaxy install -r tests/requirements.yml -p tests/roles

a następnie uruchom playbook w celu testu wdrożenia

% sudo ansible-playbook -vv -i tests/inventory tests/test.yml

Po zakończeniu powinieneś mieć dostęp do wdrożonej i działającej aplikacji pod adresem http://localhost:8080/

O projekcie

Ansible role to install and configure passbolt API

Zainstaluj
ansible-galaxy install laxathom.passbolt
Licencja
mit
Pobrania
92
Właściciel