noplanman.lstu
Rol de Ansible para Lstu (Vamos a acortar esa URL)
:cohete: El desarrollo se ha trasladado a git.feneas.org.
(El repositorio en GitHub es solo un espejo, así que haz un fork en Feneas para contribuir. No necesitas registrarte, solo inicia sesión con tu cuenta de GitHub.)
Este rol instala y configura Lstu en servidores Debian/Ubuntu.
Descubre más sobre Lstu, creado por Luc Didry.
Este rol instalará automáticamente un servicio que se iniciará cuando el servidor arranque.
También detectará automáticamente qué gestor de servicios se está utilizando.
Requisitos
Usar este rol no instala Nginx o Apache como proxy inverso, ¡tú necesitas hacerlo!
Echa un vistazo a las [configuraciones de ejemplo].
Variables del Rol
Establece el usuario/grupo que se utilizará para ejecutar Lstu. Tiene sentido usar el usuario/grupo del servidor web.
lstu_user: www-data
lstu_group: www-data
Establece si Lstu debe mantenerse actualizado. (por defecto: no)
lstu_keep_updated: no
Si la contraseña del administrador debe guardarse en un formato hash. (lstu_adminpwd
siempre debe ser la contraseña en texto claro)
lstu_hash_adminpwd: yes
Hay algunos valores obligatorios y muchos opcionales. Consulta todas las variables posibles en defaults/main.yml
.
# ¡Requerido!
lstu_working_dir: "/var/www/example.com"
lstu_listen: "http://127.0.0.1:8080" # O un array, si hay múltiples direcciones.
lstu_contact: "[email protected]"
lstu_secrets: ["array", "de", "secretos", "aleatorios"]
# Opcional
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
Etiquetas del Rol
Cada parte de la configuración tiene una etiqueta.
lstu:install
lstu:site
lstu:service
Dependencias
Ninguna.
Ejemplo de 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"
Pruebas
Se utiliza Docker para probar el rol con diferentes sistemas operativos.
Consulta la carpeta tests
.
Licencia
MIT
Install and run Lstu on a Debian-like system.
ansible-galaxy install noplanman.lstu