HanXHX.nginx
Nginx para el rol de Ansible en Debian/FreeBSD
Instala y configura Nginx en Debian/FreeBSD.
Características:
- Soporte de SSL/TLS "endurecido"
- Gestiona autenticación básica en sitios / ubicaciones
- Proxy + Upstream
- Configuración rápida de PHP
- Plantillas de sitios preconfiguradas (deberían funcionar en muchas aplicaciones)
- Configura automáticamente HTTP2 en sitios SSL/TLS
- Gestiona módulos dinámicos (instalación y carga)
- Despliega configuraciones personalizadas de facts.d
- Puede escuchar con protocolo de proxy
- Genera certificados con acme.sh (let's encrypt) -- EXPERIMENTAL
Sistemas Operativos Soportados:
SO | Funciona | Estable (soporte activo) |
---|---|---|
Debian Jessie (8) | Sí | Ver última versión soportada (1.5.0) |
Debian Stretch (9) | Sí | Ver última versión soportada (1.9.0) |
Debian Buster (10) | Sí | Sí |
Debian Bullseye (11) | Sí | Sí |
Debian Bookworm (12) | Sí | Aún no :) |
FreeBSD 11 | NA | No |
FreeBSD 12 | NA | No |
Ubuntu 20.04 | Sí | Sí |
Ubuntu 22.04 | Sí | Sí |
Requisitos
- Ansible >=2.11
- Si configuras
nginx_backports
como verdadero, debes instalar el repositorio de backports antes de lanzar este rol.
Variables del Rol
Empaquetado
Debian:
nginx_apt_package
: paquete APT de nginx (prueba: apt-cache search ^nginx)nginx_backports
: instalar nginx desde el repositorio de backports (bool)
FreeBSD:
nginx_pkgng_package
: paquete PKGNG de nginx (debería ser "nginx" o "nginx-devel")
Compartido
nginx_root
: directorio raíz donde quieres tener tus archivosnginx_log_dir
: directorio de logs (si lo cambias, no olvides cambiar la configuración de logrotate)nginx_resolver
: lista de resolutores DNS (por defecto: OpenDNS)nginx_error_log_level
: nivel de log por defectonginx_auto_config_httpv2
: booleano, configurar automáticamente HTTP2 donde sea posiblenginx_fastcgi_fix_realpath
: booleano, usar realpath para fastcgi (soluciona problemas con symlinks y PHP opcache)nginx_default_hsts
: cadena, encabezado por defecto enviado para HSTS
Configuración de Nginx
nginx_user
nginx_worker_processes
nginx_pid
: archivo pid del daemonnginx_events_*
: todas las variables en el bloque de eventosnginx_http_*
: todas las variables en el bloque httpnginx_custom_core
: lista de instrucciones (para el núcleo, se pondrán datos en/etc/nginx/nginx.conf
)nginx_custom_http
: lista de instrucciones (se pondrán datos en/etc/nginx/conf.d/custom.conf
)nginx_module_packages
: lista de paquetes de módulos a instalar (Debian)nginx_load_modules
: lista de módulos a cargar (ruta completa), debe usarse solo en FreeBSD
Varios
nginx_debug_role
: establece true si necesitas ver la salida de las tareas no_log
Acerca de los módulos
Las últimas actualizaciones de los backports de Debian cargan módulos desde el directorio /etc/nginx/modules-enabled. Desactivar/Activar ya no es compatible. Por favor, espera más actualizaciones.
Configuración fina
Nota
- Soporte activo para Debian/Ubuntu.
- El soporte para FreeBSD es experimental. Solo he probado (por el momento) 10.2 (pero puede funcionar en otras versiones).
Dependencias
Ver: requirements.yml.
Si necesitas desarrollar este rol localmente en Vagrant
Antes de usar Vagrant, ejecuta una vez:
ansible-galaxy install -p ./tests/ HanXHX.php,master
Si necesitas desarrollar este rol localmente con molecule
Verifica los escenarios disponibles en el directorio molecule.
Con el escenario debian-12
:
molecule -v -c molecule/_shared/base.yml verify -s debian-12
Ejemplo de Playbook
Ver tests/test.yml.
Licencia
GPLv2
Donación
Si este código te ayudó, o si lo has utilizado para tus proyectos, siéntete libre de invitarme unas :cervezas:
- Bitcoin:
1BQwhBeszzWbUTyK4aUyq3SRg7rBSHcEQn
- Ethereum:
63abe6b2648fd892816d87a31e3d9d4365a737b5
- Litecoin:
LeNDw34zQLX84VvhCGADNvHMEgb5QyFXyD
- Monero:
45wbf7VdQAZS5EWUrPhen7Wo4hy7Pa7c7ZBdaWQSRowtd3CZ5vpVw5nTPphTuqVQrnYZC72FXDYyfP31uJmfSQ6qRXFy3bQ
¿No tienes criptomonedas? :star: ¡el proyecto también es una forma de agradecer! :sunglasses:
Información del Autor
- Twitter: @hanxhx_
Acerca del proyecto
Nginx for Debian / FreeBSD
Instalar
ansible-galaxy install HanXHX.nginx
Licencia
gpl-2.0
Descargas
6.1k
Propietario
CEO/CTO/SRE triplestack.fr / daemonit.com