lstu
Ansible Роль для Lstu (Давайте сократим этот URL)
:rocket: Разработка переместилась на git.feneas.org.
(Репозиторий на GitHub - это только зеркало, поэтому сделайте форк на Feneas для внесения изменений. Регистрация не требуется, просто войдите с помощью вашей учетной записи GitHub.)
Эта роль устанавливает и настраивает Lstu на серверах Debian/Ubuntu. Узнайте больше о Lstu, созданном Luc Didry.
Эта роль автоматически установит сервис, который будет запускаться при загрузке сервера. Она также автоматически определит, какой менеджер сервисов используется.
Требования
Использование этой роли не устанавливает Nginx или Apache в качестве обратного прокси, это нужно делать вручную! Посмотрите на [пример конфигураций].
Переменные роли
Установите пользователя/группу, которые будут использоваться для запуска Lstu. Имеет смысл использовать пользователя/группу веб-сервера.
lstu_user: www-data
lstu_group: www-data
Установите, нужно ли поддерживать Lstu в актуальном состоянии. (по умолчанию: нет)
lstu_keep_updated: нет
Если пароль администратора должен сохраняться в хэшированном формате. (lstu_adminpwd
всегда должен быть открытым паролем!)
lstu_hash_adminpwd: да
Есть несколько обязательных и много необязательных значений. Проверьте все возможные переменные в defaults/main.yml
.
# Обязательно!
lstu_working_dir: "/var/www/example.com"
lstu_listen: "http://127.0.0.1:8080" # Или массив, если несколько адресов.
lstu_contact: "[email protected]"
lstu_secrets: ["массив", "случайных", "секретов"]
# Необязательно
lstu_proxy: нет
lstu_adminpwd: "супер-секрет"
lstu_theme: "по умолчанию"
lstu_page_offset: 10
lstu_url_length: 8
lstu_provis_step: 5
lstu_provisioning: 100
lstu_prefix: "/"
lstu_allowed_domains: []
lstu_fixed_domain: "example.org"
lstu_db_type: "sqlite"
lstu_db_path: "lstu.db"
lstu_pgdb:
database: "lstu"
host: "localhost"
port: 5432
user: "DBUSER"
pwd: "DBPASSWORD"
max_connections: 1
lstu_mysqldb:
database: "lstu"
host: "localhost"
port: 3306
user: "DBUSER"
pwd: "DBPASSWORD"
max_connections: 5
lstu_ban_min_strike: 3
lstu_ban_blacklist: []
lstu_ban_whitelist: []
lstu_piwik:
url: "http://piwik.example.com"
idsite: "1"
minion:
enabled: нет,
db_path: "minion.db"
pgdb:
database: "lstu_minion"
host: "localhost"
port: 5432
user: "DBUSER"
pwd: "DBPASSWORD"
mysqldb:
database: "lstu_minion"
host: "localhost"
port: 3306
user: "DBUSER"
pwd: "DBPASSWORD"
lstu_ldap:
uri: "ldaps://ldap.example.org"
user_tree: "ou=users,dc=example,dc=org"
bind_dn: "uid=ldap_user,ou=users,dc=example,dc=org"
bind_pwd: "secr3t"
user_attr: "uid"
user_filter: "(!(uid=ldap_user))"
lstu_htpasswd: "lstu.passwd"
lstu_session_duration: 3600
lstu_max_redir: 2
lstu_spam_blacklist_regex: "foo|bar"
lstu_spam_path_blacklist_regex: "foo|bar"
lstu_spam_whitelist_regex: "foo|bar"
lstu_skip_spamhaus: нет
lstu_safebrowsing_api_key: ""
lstu_memcached_servers: []
lstu_csp: "default-src 'none'; script-src 'self'; style-src 'self'; img-src 'self' data:; font-src 'self'; form-action 'self'; base-uri 'self'"
lstu_x_frame_options: "DENY"
lstu_x_content_type_options: "nosniff"
lstu_x_xss_protection: "1; mode=block"
lstu_log_creator_ip: нет
Теги роли
Каждая часть настройки имеет тег.
lstu:install
lstu:site
lstu:service
Зависимости
Нет.
Пример Playbook
# playbook.yml
---
- hosts: servers
become: yes
vars_files:
- vars/main.yml
roles:
- { role: noplanman.lstu }
# vars/main.yml
---
lstu_working_dir: "/var/www/lstu.example.com"
lstu_listen: "http://127.0.0.1:8080"
lstu_contact: "[email protected]"
lstu_secrets: ["Weiboe3a","Ahsahm0O","biPhah2u","Ki2teeph","Choihah4","ka7Oifia","aeT7eeb9","oYah4it7"]
lstu_adminpwd: "kohdah6DJieSh1CaTe1uWohKax9ahxeG"
Тесты
Для тестирования роли с различными операционными системами используется Docker.
Проверьте папку tests
.
Лицензия
MIT
ansible-galaxy install noplanman/ansible-role-lstu