noplanman.lstu
Ansible-Rolle für Lstu (Lass uns diese URL kürzen)
:rocket: Die Entwicklung ist zu git.feneas.org gewechselt.
(Das Repository auf GitHub ist nur ein Spiegel, also forke auf Feneas, um beizutragen. Keine Registrierung nötig, einfach mit deinem GitHub-Konto anmelden.)
Diese Rolle installiert und konfiguriert Lstu auf Debian/Ubuntu-Servern. Erfahre mehr über Lstu, erstellt von Luc Didry.
Diese Rolle installiert automatisch einen Dienst, der beim Start des Servers aktiviert wird. Sie erkennt auch automatisch, welcher Dienstmanager verwendet wird.
Anforderungen
Mit dieser Rolle werden Nginx oder Apache nicht als Reverse-Proxy installiert, das musst du selbst erledigen! Sieh dir die Beispielkonfigurationen an.
Rollenvariablen
Setze den Benutzer/die Gruppe, die zum Ausführen von Lstu verwendet wird. Es macht Sinn, den Webserver-Benutzer/die Webserver-Gruppe zu verwenden.
lstu_user: www-data
lstu_group: www-data
Setze, ob Lstu auf dem neuesten Stand gehalten werden soll. (Standard: nein)
lstu_keep_updated: nein
Ob das Admin-Passwort in gehashter Form gespeichert werden soll. (lstu_adminpwd
muss immer das Klartext-Passwort sein!)
lstu_hash_adminpwd: ja
Es gibt einige verpflichtende und viele optionale Werte. Überprüfe alle möglichen Variablen in defaults/main.yml
.
# Pflichtfeld!
lstu_working_dir: "/var/www/example.com"
lstu_listen: "http://127.0.0.1:8080" # Oder ein Array, wenn mehrere Adressen.
lstu_contact: "[email protected]"
lstu_secrets: ["array", "of", "random", "secrets"]
# Optional
lstu_proxy: nein
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: nein
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: nein
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: nein
Rollentags
Jeder Teil der Einrichtung hat ein Tag.
lstu:install
lstu:site
lstu:service
Abhängigkeiten
Keine.
Beispiel-Playbook
# playbook.yml
---
- hosts: server
become: ja
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"
Tests
Docker wird verwendet, um die Rolle mit verschiedenen Betriebssystemen zu testen.
Sieh dir den tests
Ordner an.
Lizenz
MIT
Install and run Lstu on a Debian-like system.
ansible-galaxy install noplanman.lstu