Files
startusingansible/examples/033_jinja2/deploy-nginx.yml
Guillem Hernandez Sola b40e420fbf Added some stuff
2025-05-30 21:13:45 +02:00

49 lines
2.2 KiB
YAML

- name: Desplegar configuración inicial nginx
hosts: all
become: true # Permite ejecutar tareas con privilegios de superusuario
vars:
nginx_conf_template: "nginx.conf.j2" # Ruta de la plantilla Jinja2 para la configuración de nginx
tasks:
- name: Instalar nginx
apt:
name: nginx # Paquete de nginx
state: present # Asegura que nginx está instalado
- name: Asegurar que el servicio nginx está habilitado y en ejecución
service:
name: nginx # Nombre del servicio
state: started # Asegura que el servicio está en ejecución
enabled: true # Asegura que el servicio se inicia al arrancar el sistema
- name: Asegurar que el directorio ssl existe
file:
path: /etc/nginx/ssl # Directorio donde se guardan los certificados SSL
state: directory # Asegura que el directorio existe
- name: Asegurar que el directorio de configuración existe
file:
path: /etc/nginx/sites-available # Directorio donde se guardan las configuraciones de nginx
state: directory # Asegura que el directorio de configuración existe
- name: Generar archivo de configuración de nginx desde plantilla
template:
src: "{{ nginx_conf_template }}" # Ruta de la plantilla Jinja2
dest: "/etc/nginx/sites-available/{{ server_name }}.conf" # Nombre del archivo basado en el nombre del servidor
mode: 0644 # Permisos de archivo
- name: Generar archivo de certificado de nginx desde plantilla
template:
src: "{{ nginx_conf_template }}" # Ruta de la plantilla Jinja2
dest: "/etc/nginx/ssl/{{ server_name }}.crt" # Nombre del archivo basado en el nombre del servidor
mode: 0644 # Permisos de archivo
- name: Generar archivo de key de nginx desde plantilla
template:
src: "{{ nginx_conf_template }}" # Ruta de la plantilla Jinja2
dest: "/etc/nginx/ssl/{{ server_name }}.key" # Nombre del archivo basado en el nombre del servidor
mode: 0644 # Permisos de archivo
- name: Habilitar sites-enabled correspondiente
shell: |
ln -sf /etc/nginx/sites-available/{{ server_name }}.conf /etc/nginx/sites-enabled/{{ server_name }}.conf
/etc/init.d/nginx start