noplanman.lstu

Ansible-Rolle für Lstu (Lass uns diese URL kürzen)

Build-Status Ansible-Rolle


: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

Über das Projekt

Install and run Lstu on a Debian-like system.

Installieren
ansible-galaxy install noplanman.lstu
GitHub Repository
Lizenz
mit
Downloads
80
Besitzer
Passionate open sourcerer and sharer 😇 Find me coding at @php-telegram-bot and a plethora of other little projects that I care about.