laxathom.passbolt
Passbolt
Rol de Ansible para instalar y configurar la aplicación Passbolt en distribuciones basadas en RHEL/CentOS (por ahora).
Variables del Rol
Estas son variables ajustables para este rol y están predefinidas en defaults/main.yml
con valores predeterminados.
Es posible que necesite sobrescribirlas según su necesidad. La mayoría de ellas no son adecuadas para un entorno de producción.
Variables base
passbolt_version: # Define la versión de lanzamiento de la aplicación
passbolt_archive: # Define el nombre completo del archivo de la aplicación
passbolt_dl_url: # Define la URL de descarga para obtener e instalar la aplicación
Variables relacionadas con la configuración de PHP-fpm
passbolt_php_fpm_includedir: # Define el directorio de configuración de los grupos de php-fpm
passbolt_php_fpm_pool: # Define la ruta absoluta de configuración del grupo de la aplicación
passbolt_php_fpm_user: # Define qué usuario ejecutará la aplicación php-fpm
passbolt_php_fpm_group: # Define qué grupo ejecutará la aplicación php-fpm
passbolt_php_fpm_owner: # Define el propietario del socket de php-fpm
passbolt_php_fpm_group: # Define el grupo del socket de php-fpm
passbolt_php_fpm_mode: # Define el modo del socket de php-fpm (principalmente si se usa un socket basado en archivos)
passbolt_php_fpm_whitelist: # Define una lista de IP/nombres de host permitidos para comunicarse con php-fpm
passbolt_php_fpm_listen: # Define el método del socket de php-fpm (basado en archivos, host:puerto, etc.)
passbolt_php_fpm_listen_port: # Define el puerto del socket de php-fpm cuando no se usa una URI basada en `unix:` de passbolt_php_fpm_listen
Variable relacionada con la configuración de la base de datos
passbolt_dbhost: # Define el nombre del host del servidor de la base de datos al que conectarse
passbolt_dbuser: # Define el usuario de la base de datos
passbolt_dbpass: # Define la contraseña de la base de datos
passbolt_dbname: # Define el nombre de la base de datos a la que conectarse
Variables relacionadas con la configuración de SMTP
passbolt_smtp_host: # Define el nombre del host del servidor SMTP al que conectarse
passbolt_smtp_port: # Define el puerto del servidor SMTP
passbolt_smtp_auth: # Define el método de autenticación SMTP (TLS, SSL). Déjelo en blanco si no hay autenticación.
passbolt_smtp_user: # Define el usuario SMTP (si se establece autenticación)
passbolt_smtp_pass: # Define la contraseña SMTP (si se establece autenticación)
passbolt_smtp_timeout: # Define el tiempo de espera de conexión SMTP permitido
passbolt_smtp_sender: # Define el nombre del remitente
passbolt_smtp_sender_email: # Define el correo electrónico del remitente
passbolt_error_report: # Define si la aplicación debe enviar errores SQL capturados
passbolt_error_report_email: # Define el destinatario para enviar la notificación
Dependencias
geerlingguy.repo-remi Cuando la variable
passbolt_install_php
es verdadera.jdauphant.nginx Cuando la variable
passbolt_install_webserver
es verdadera.geerlingguy.php Cuando la variable
passbolt_install_php
es verdadera.geerlingguy.mysql Cuando la variable
passbolt_install_dbserver
es verdadera.
Tenga en cuenta que si logra utilizar roles diferentes a los anteriores, considere establecer esas variables en False
y asegúrese de ejecutarlos e implementarlos primero.
Además, puede reemplazar el servidor web nginx por apache u otro si es lo que su infraestructura está utilizando. Este rol no incluye una configuración web predefinida. Se establece a través de las variables NGINX proporcionadas por este rol (consulte tests/test.yml
para más detalles).
Ejemplo de 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
}
Pruebas
- Requisitos del hosts
- motor docker. Asegúrese de que esté instalado y en funcionamiento.
Configurar el entorno de ansible
printf '[defaults]\nroles_path=../\nhost_key_checking = False' > ansible.cfg
Instalar requisitos de prueba
% ansible-galaxy install -r tests/requirements.yml -p tests/roles
Luego ejecute el playbook para la prueba de implementación
% sudo ansible-playbook -vv -i tests/inventory tests/test.yml
Una vez hecho esto, debería poder acceder a la aplicación implementada y en funcionamiento en http://localhost:8080/
Ansible role to install and configure passbolt API
ansible-galaxy install laxathom.passbolt