- 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 # Crea un enlace simbólico en sites-enabled y reinicia nginx