passbolt
Passbolt
Ansible роль для установки и настройки приложения Passbolt на дистрибутивах RHEL/CentOS (на данный момент).
Переменные роли
Это настраиваемые переменные для этой роли, которые предопределены в 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: # Определяет список IP/имён хостов, которым разрешено общаться с php-fpm
passbolt_php_fpm_listen: # Определяет метод сокета php-fpm (основанный на файле, хост:порт и т.д.)
passbolt_php_fpm_listen_port: # Определяет порт сокета php-fpm, когда не используется `unix:`-uri из passbolt_php_fpm_listen
Переменные, связанные с настройкой базы данных
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
для получения дополнительных сведений).
Пример 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
}
Тестирование
- Требования к хосту
- Движок 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/ansible-role-passbolt