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/
Ansible role to install and configure passbolt API
ansible-galaxy install laxathom.passbolt