HanXHX.nginx

Nginx para el rol de Ansible en Debian/FreeBSD

Ansible Galaxy Estado del flujo de trabajo de GitHub (rama principal)

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) Ver última versión soportada (1.5.0)
Debian Stretch (9) Ver última versión soportada (1.9.0)
Debian Buster (10)
Debian Bullseye (11)
Debian Bookworm (12) Aún no :)
FreeBSD 11 NA No
FreeBSD 12 NA No
Ubuntu 20.04
Ubuntu 22.04

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 archivos
  • nginx_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 defecto
  • nginx_auto_config_httpv2: booleano, configurar automáticamente HTTP2 donde sea posible
  • nginx_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 daemon
  • nginx_events_*: todas las variables en el bloque de eventos
  • nginx_http_*: todas las variables en el bloque http
  • nginx_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

Configuración del sitio

Configuración de PHP

Configuración de Upstream

Configuración de SSL/TLS

Autenticación Básica

FreeBSD

acme.sh

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

Instalar
ansible-galaxy install HanXHX.nginx
Licencia
gpl-2.0
Descargas
6.1k
Propietario
CEO/CTO/SRE triplestack.fr / daemonit.com