laxathom.passbolt

Passbolt

Ansible角色,用于在基于RHEL/CentOS的发行版上安装和配置Passbolt应用程序(目前仅支持该平台)。

角色变量

这些是可设置的变量,已在defaults/main.yml中预定义了默认值。您可能需要根据自己的需求覆盖这些变量。大多数变量不适合用于生产环境。

基本变量

passbolt_version: # 定义应用程序的版本
passbolt_archive: # 定义应用程序归档的完整名称
passbolt_dl_url: # 定义用于获取和安装应用程序的下载网址

与PHP-fpm配置相关的变量

passbolt_php_fpm_includedir: # 定义php-fpm池的配置目录
passbolt_php_fpm_pool: # 定义应用程序池的绝对路径
passbolt_php_fpm_user: # 定义php-fpm以哪个用户身份运行应用程序
passbolt_php_fpm_group: # 定义php-fpm以哪个组身份运行应用程序
passbolt_php_fpm_owner: # 定义php-fpm套接字的所有者
passbolt_php_fpm_group: # 定义php-fpm套接字的组
passbolt_php_fpm_mode: # 定义php-fpm套接字的模式(主要是在使用基于文件的套接字时)
passbolt_php_fpm_whitelist: # 定义允许与php-fpm通信的IP/主机名列表
passbolt_php_fpm_listen: # 定义php-fpm套接字的方法(基于文件、主机:端口等)
passbolt_php_fpm_listen_port: # 当不使用`unix:`-基URI时,定义php-fpm套接字的端口

与数据库设置相关的变量

passbolt_dbhost: # 定义要连接的数据库服务器主机名
passbolt_dbuser: # 定义数据库用户
passbolt_dbpass: # 定义数据库密码
passbolt_dbname: # 定义要连接的数据库名称

与SMTP设置相关的变量

passbolt_smtp_host: # 定义要连接的SMTP服务器主机名
passbolt_smtp_port: # 定义SMTP服务器端口
passbolt_smtp_auth: # 定义SMTP身份验证方法(TLS、SSL),留空表示不使用。
passbolt_smtp_user: # 定义SMTP用户(如果设置了身份验证)
passbolt_smtp_pass: # 定义SMTP密码(如果设置了身份验证)
passbolt_smtp_timeout: # 定义允许的SMTP连接超时时间
passbolt_smtp_sender: # 定义发件人的名称
passbolt_smtp_sender_email: # 定义发件人的电子邮件

passbolt_error_report: # 定义应用程序是否需要发送捕获的SQL错误
passbolt_error_report_email: # 定义发送通知的接收者

依赖关系

  • geerlingguy.repo-remi 当变量passbolt_install_php为true时使用。

  • jdauphant.nginx 当变量passbolt_install_webserver为true时使用。

  • geerlingguy.php 当变量passbolt_install_php为true时使用。

  • geerlingguy.mysql 当变量passbolt_install_dbserver为true时使用。

请注意,如果您使用的角色与上述不同,请考虑将这些变量设置为False,并确保先运行并部署它们。

此外,您可以根据基础设施的要求将nginx网络服务器替换为apache或其他。这一角色没有预定义的网络配置。通过本角色提供的NGINX变量进行设置(有关详细信息,请参见tests/test.yml)。

示例播放簿

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

测试

  • 主机要求
    • docker引擎。确保其已安装并正在运行。

设置ansible环境

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

安装测试所需的依赖

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

然后运行播放簿进行部署测试

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

完成后,您应该能够访问已部署并运行的应用程序,网址为 http://localhost:8080/

关于项目

Ansible role to install and configure passbolt API

安装
ansible-galaxy install laxathom.passbolt
许可证
mit
下载
92
拥有者