Added new hosts

This commit is contained in:
Guillem Hernandez Sola
2025-06-18 13:33:38 +02:00
parent 3ae10c2e30
commit a8ba62fc74
44 changed files with 700 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
Role Name
=========
A brief description of the role goes here.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
-------
BSD
Author Information
------------------
An optional section for the role authors to include contact information, or a website (HTML is not allowed).

View File

@@ -0,0 +1,3 @@
#SPDX-License-Identifier: MIT-0
---
# defaults file for nginx

View File

@@ -0,0 +1,56 @@
# Archivo de configuración nginx.conf
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Configuración básica
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Configuración de logs
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip settings
##
gzip on;
gzip_disable "msie6";
# Configuración de virtual host
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
}
}

View File

@@ -0,0 +1,9 @@
#SPDX-License-Identifier: MIT-0
---
# handlers file for nginx
- name: Reiniciar Nginx
ansible.builtin.service:
name: nginx #Nombre del servicio a reiniciar
state: restarted #Reinicia el servicio
when: ansible_facts.services['nginx.service'].state == 'running' #Solo si el servicio está corriendo
#when: ansible_facts.services['nginx'].state == 'running' #Condición para versiones antiguas

View File

@@ -0,0 +1,35 @@
#SPDX-License-Identifier: MIT-0
galaxy_info:
author: your name
description: your role description
company: your company (optional)
# If the issue tracker for your role is not on github, uncomment the
# next line and provide a value
# issue_tracker_url: http://example.com/issue/tracker
# Choose a valid license ID from https://spdx.org - some suggested licenses:
# - BSD-3-Clause (default)
# - MIT
# - GPL-2.0-or-later
# - GPL-3.0-only
# - Apache-2.0
# - CC-BY-4.0
license: license (GPL-2.0-or-later, MIT, etc)
min_ansible_version: 2.1
# If this a Container Enabled role, provide the minimum Ansible Container version.
# min_ansible_container_version:
galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.

View File

@@ -0,0 +1,46 @@
#SPDX-License-Identifier: MIT-0
---
# tasks file for nginx
# Asegurar que Apache2 está detenido antes de instalar Nginx
- name: Asegurar que Apache2 está detenido
ansible.builtin.service:
name: apache2 #Nombre del servicio a gestionar
state: stopped #Asegura que el servicio esté detenido
#Instalar un servidor web (Nginx).
- name: Instalación de Nginx
ansible.builtin.package:
name: "{{ item }}" #Nombre del paquete a instalar
state: present #Asegura que el paquete esté instalado
with_items: #Itera sobre una lista de paquetes
- nginx #Servidor web Nginx
- nginx-extras #Paquete adicional de Nginx con características extra
#Asegurar de que el servicio de Nginx està corriendo y habilitado.
- name: Asegurar que Nginx está corriendo
ansible.builtin.service:
name: nginx #Nombre del servicio a gestionar
state: started #Asegura que el servicio esté en ejecución
enabled: yes #Habilita el servicio para que se inicie al arrancar el sistema
#Copia el archivo de configuración hosts de Nginx al directorio correspondiente
- name: Copiar archivo de configuración de hosts de Nginx
ansible.builtin.copy:
src: ../files/nginx.conf #Ruta al archivo de configuración local
dest: /etc/nginx/sites-available/default #Ruta de destino en el servidor
owner: www-data #Propietario del archivo
group: www-data #Grupo del archivo
mode: '0644' #Permisos del archivo
notify:
- Reiniciar Nginx #Notifica a la tarea de reinicio de Nginx si este archivo cambia
#Vamos a parar Nginx si está corriendo
- name: Comprueba el estado de Nginx
ansible.builtin.service_facts: #Recopila información sobre los servicios
- name: Detener Nginx si está activo
ansible.builtin.service:
name: nginx
state: stopped
when: ansible_facts.services['nginx.service'].state == 'running'
#Condición para versiones antiguas para detener Nginx solo si está corriendo
#when: ansible_facts.services['nginx'].state == 'running'

View File

@@ -0,0 +1,3 @@
#SPDX-License-Identifier: MIT-0
localhost

View File

@@ -0,0 +1,6 @@
#SPDX-License-Identifier: MIT-0
---
- hosts: localhost
remote_user: root
roles:
- nginx

View File

@@ -0,0 +1,3 @@
#SPDX-License-Identifier: MIT-0
---
# vars file for nginx