Usar Ansible para Configurar un Servidor Web Local
Aprenderá cómo conectarse a un servidor Ubuntu remoto y gestionarlo utilizando Ansible. Crearemos archivos de configuración que le permitirán automatizar tareas rutinarias. Como ejemplo, actualizaremos el índice de paquetes e instalaremos Git — el primer paso para preparar un servidor para desarrollo o tareas de DevOps.
Si utiliza Windows, ejecute estos comandos en wsl
. Si está en macOS o Linux, puede utilizar simplemente el terminal.
Instalación de Ansible
Antes de comenzar, asegúrese de que Ansible esté instalado en su máquina:
sudo apt update
sudo apt install ansible -y
El primer comando, sudo apt update
, actualiza la lista de paquetes de tu sistema para que conozca las versiones más recientes de software disponibles. Luego, sudo apt install ansible -y
instala Ansible en tu máquina, confirmando automáticamente la instalación sin pedirte que escribas "yes".
Creación de archivos de configuración
Primero, es necesario configurar una lista de servidores a los que Ansible se conectará. Para esto, se crea un archivo de inventario llamado hosts.ini
:
Pega lo siguiente:
hosts.ini
[ubuntu_container]
— el grupo de hosts que Ansible gestionará;
localhost
— la dirección del host (en este caso, tu máquina local ejecutando el contenedor de Docker);
ansible_port=2222
— el puerto SSH para la conexión;
ansible_user=root
y ansible_password=root
— credenciales para el inicio de sesión SSH;
ansible_connection=ssh
— indica a Ansible que utilice SSH para ejecutar comandos.
El archivo hosts.ini
indica a Ansible dónde conectarse y qué parámetros utilizar. Sin este archivo, un playbook no puede localizar el servidor ni ejecutar tareas.
Playbook setup.yml
A continuación, crea el script de automatización, o playbook, setup.yml
:
Pega lo siguiente:
setup.yml
El archivo setup.yml
define las tareas que Ansible debe realizar en el servidor.
-
name: Configure Ubuntu container
— el título del playbook; -
hosts: ubuntu_container
— el grupo de hosts dehosts.ini
; -
become: true
— ejecutar los comandos como superusuario (root
); -
tasks
— una lista de acciones que se ejecutarán en orden.
En este ejemplo, se actualiza el índice de paquetes y se instala Git.
Configuración de Ansible
Finalmente, se configura Ansible. El archivo ansible.cfg
personaliza el comportamiento de Ansible. Crear ansible.cfg
:
Pegar lo siguiente:
ansible.cfg
En este caso, deshabilitamos la verificación de la clave de host SSH. Normalmente, Ansible verifica la huella digital del servidor para garantizar una conexión segura. Para este tutorial, esto lo simplifica, ya que estamos utilizando un contenedor Docker temporal.
Prueba de la conexión
Una vez que haya creado todos los archivos de configuración, es importante verificar que todo esté configurado correctamente. Esto garantiza que Ansible pueda conectarse a su servidor remoto Ubuntu y ejecutar las tareas según lo esperado.
Cuando ejecutas este comando, Ansible intenta conectarse a tu contenedor Ubuntu mediante SSH utilizando las credenciales y el puerto especificados en hosts.ini
. Si todo está configurado correctamente, verás lo siguiente:

Ahora es momento de ejecutar el playbook de manera real, ya que la verificación de conectividad fue exitosa y puedes estar seguro de que todo funcionará correctamente.
Cuando se ejecuta este comando, Ansible se conectará al servidor remoto Ubuntu mediante SSH, elevará los privilegios utilizando become: true
y ejecutará todas las tareas de forma secuencial. En este ejemplo, primero actualiza el índice de paquetes para que el sistema conozca las versiones más recientes del software y luego instala Git.
Después de que finalice el playbook, puedes verificar que Git se haya instalado en el servidor Ubuntu. Primero, conéctate al servidor usando SSH:
Luego, verifica la versión de Git instalada:
Si todo funcionó correctamente, verás la versión de Git, lo que confirma que el playbook se ejecutó con éxito.
1. ¿Cuál es el propósito del archivo hosts.ini
en Ansible?
2. En el playbook, ¿por qué se utiliza become: true
?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 3.7
Usar Ansible para Configurar un Servidor Web Local
Desliza para mostrar el menú
Aprenderá cómo conectarse a un servidor Ubuntu remoto y gestionarlo utilizando Ansible. Crearemos archivos de configuración que le permitirán automatizar tareas rutinarias. Como ejemplo, actualizaremos el índice de paquetes e instalaremos Git — el primer paso para preparar un servidor para desarrollo o tareas de DevOps.
Si utiliza Windows, ejecute estos comandos en wsl
. Si está en macOS o Linux, puede utilizar simplemente el terminal.
Instalación de Ansible
Antes de comenzar, asegúrese de que Ansible esté instalado en su máquina:
sudo apt update
sudo apt install ansible -y
El primer comando, sudo apt update
, actualiza la lista de paquetes de tu sistema para que conozca las versiones más recientes de software disponibles. Luego, sudo apt install ansible -y
instala Ansible en tu máquina, confirmando automáticamente la instalación sin pedirte que escribas "yes".
Creación de archivos de configuración
Primero, es necesario configurar una lista de servidores a los que Ansible se conectará. Para esto, se crea un archivo de inventario llamado hosts.ini
:
Pega lo siguiente:
hosts.ini
[ubuntu_container]
— el grupo de hosts que Ansible gestionará;
localhost
— la dirección del host (en este caso, tu máquina local ejecutando el contenedor de Docker);
ansible_port=2222
— el puerto SSH para la conexión;
ansible_user=root
y ansible_password=root
— credenciales para el inicio de sesión SSH;
ansible_connection=ssh
— indica a Ansible que utilice SSH para ejecutar comandos.
El archivo hosts.ini
indica a Ansible dónde conectarse y qué parámetros utilizar. Sin este archivo, un playbook no puede localizar el servidor ni ejecutar tareas.
Playbook setup.yml
A continuación, crea el script de automatización, o playbook, setup.yml
:
Pega lo siguiente:
setup.yml
El archivo setup.yml
define las tareas que Ansible debe realizar en el servidor.
-
name: Configure Ubuntu container
— el título del playbook; -
hosts: ubuntu_container
— el grupo de hosts dehosts.ini
; -
become: true
— ejecutar los comandos como superusuario (root
); -
tasks
— una lista de acciones que se ejecutarán en orden.
En este ejemplo, se actualiza el índice de paquetes y se instala Git.
Configuración de Ansible
Finalmente, se configura Ansible. El archivo ansible.cfg
personaliza el comportamiento de Ansible. Crear ansible.cfg
:
Pegar lo siguiente:
ansible.cfg
En este caso, deshabilitamos la verificación de la clave de host SSH. Normalmente, Ansible verifica la huella digital del servidor para garantizar una conexión segura. Para este tutorial, esto lo simplifica, ya que estamos utilizando un contenedor Docker temporal.
Prueba de la conexión
Una vez que haya creado todos los archivos de configuración, es importante verificar que todo esté configurado correctamente. Esto garantiza que Ansible pueda conectarse a su servidor remoto Ubuntu y ejecutar las tareas según lo esperado.
Cuando ejecutas este comando, Ansible intenta conectarse a tu contenedor Ubuntu mediante SSH utilizando las credenciales y el puerto especificados en hosts.ini
. Si todo está configurado correctamente, verás lo siguiente:

Ahora es momento de ejecutar el playbook de manera real, ya que la verificación de conectividad fue exitosa y puedes estar seguro de que todo funcionará correctamente.
Cuando se ejecuta este comando, Ansible se conectará al servidor remoto Ubuntu mediante SSH, elevará los privilegios utilizando become: true
y ejecutará todas las tareas de forma secuencial. En este ejemplo, primero actualiza el índice de paquetes para que el sistema conozca las versiones más recientes del software y luego instala Git.
Después de que finalice el playbook, puedes verificar que Git se haya instalado en el servidor Ubuntu. Primero, conéctate al servidor usando SSH:
Luego, verifica la versión de Git instalada:
Si todo funcionó correctamente, verás la versión de Git, lo que confirma que el playbook se ejecutó con éxito.
1. ¿Cuál es el propósito del archivo hosts.ini
en Ansible?
2. En el playbook, ¿por qué se utiliza become: true
?
¡Gracias por tus comentarios!