laxathom.passbolt

Passbolt

RHEL/CentOS(現時点で)ベースのディストリビューションにPassboltアプリをインストールし、設定するためのAnsibleロールです。

ロール変数

これらはこのロールのための設定可能な変数で、デフォルト値がdefaults/main.ymlに定義されています。必要に応じて上書きする必要があります。ほとんどは本番環境には適していません

基本的な変数

passbolt_version: # アプリのリリースバージョンを定義
passbolt_archive: # アプリのアーカイブの完全な名前を定義
passbolt_dl_url: # アプリを取得してインストールするためのダウンロード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: # passbolt_php_fpm_listenから`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に設定し、先に実行してデプロイすることを確認してください。

また、インフラがApacheなどで動いている場合は、nginxウェブサーバーを置き換えてもかまいません。このロールには事前定義されたウェブ設定は含まれていません。このロールによって提供される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
所有者