noplanman.lstu
Rola Ansible dla Lstu (Skróć ten URL)
:rocket: Rozwój przeniósł się na git.feneas.org.
(Repozytorium na GitHubie jest tylko lustrem, więc zrób fork na Feneas, żeby wnieść wkład. Nie jest potrzebna rejestracja, wystarczy zalogować się swoim kontem GitHub.)
Ta rola instaluje i konfiguruje Lstu na serwerach Debian/Ubuntu. Dowiedz się więcej o Lstu, stworzonym przez [Luca Didry].
Ta rola automatycznie zainstaluje usługę, która uruchomi się przy starcie serwera. Automatycznie ustali również, jaki menedżer usług jest używany.
Wymagania
Użycie tej roli nie instaluje Nginx ani Apache jako reverse proxy, musisz to zrobić samodzielnie! Zobacz [przykłady konfiguracji].
Zmienne roli
Ustaw użytkownika/grupę, która będzie używana do uruchamiania Lstu. Sensowne jest użycie użytkownika/grupy serwera WWW.
lstu_user: www-data
lstu_group: www-data
Ustaw, czy Lstu powinno być aktualizowane. (domyślnie: nie)
lstu_keep_updated: no
Jeśli hasło administratora ma być zapisane w formacie haszowanym. (lstu_adminpwd
zawsze musi być hasłem w postaci tekstu jawnego!)
lstu_hash_adminpwd: yes
Istnieje kilka obowiązkowych i wiele opcjonalnych wartości. Sprawdź wszystkie możliwe zmienne w defaults/main.yml
.
# Wymagane!
lstu_working_dir: "/var/www/example.com"
lstu_listen: "http://127.0.0.1:8080" # Lub tablica, jeśli wiele adresów.
lstu_contact: "[email protected]"
lstu_secrets: ["tablica", "losowych", "sekretów"]
# Opcjonalne
lstu_proxy: no
lstu_adminpwd: "sup3r-secr3t"
lstu_theme: "default"
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: no,
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: no
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: no
Tagowanie roli
Każda część konfiguracji ma swój tag.
lstu:install
lstu:site
lstu:service
Zależności
Brak.
Przykład Playbooka
# 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"
Testy
Docker jest używany do testowania roli z różnymi systemami operacyjnymi.
Sprawdź folder tests
.
Licencja
MIT
ansible-galaxy install noplanman.lstu