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/

Acerca del proyecto

Ansible role to install and configure passbolt API

Instalar
ansible-galaxy install laxathom.passbolt
Licencia
mit
Descargas
92
Propietario