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/でアクセスできるようになります。