Volver al blog

Uso de Ansible para instalar y configurar WordPress con LAMP en Ubuntu

Uso de Ansible para instalar y configurar WordPress con LAMP en Ubuntu

Introducción

Siempre hay momentos en los que necesitamos configurar nuevos servidores. Esto podría ser para distribuir la carga de trabajo o si simplemente necesitamos más servidores. Al configurar nuevos servidores, los usuarios deben utilizar la automatización de servidores para configurarlos. Esto se hace con el fin de minimizar la intervención manual. Ansible es una de las herramientas de gestión de configuración que se pueden utilizar para configurar automáticamente un nuevo servidor, reduciendo las posibilidades de error humano al configurar el servidor manualmente.

Ansible es una herramienta rica en funciones y a la vez simple en su arquitectura. Facilita la configuración de servidores a través de scripts. Debido a su arquitectura concisa, Ansible no requiere la instalación de ningún otro software en los nodos.

En este tutorial, le mostraremos cómo usar Ansible para automatizar la instalación de WordPress con la pila LAMP ejecutándose en un servidor Ubuntu. WordPress es un CMS que se utiliza para crear blogs y sitios web utilizando PHP como lenguaje de programación y una base de datos MySQL para almacenar datos. Una vez que tengamos WordPress instalado, los usuarios pueden administrar el sitio utilizando la interfaz web.

Requisitos previos

Resumen de acciones del Playbook de Ansible

En esta sección, veremos qué hace nuestro Playbook de Ansible cuando lo ejecutamos. Este procedimiento es una alternativa a la configuración manual proporcionada aquí: Cómo instalar WordPress con LAMP en Ubuntu 20.04.

Cuando ejecutemos el Playbook, Ansible hará lo siguiente:

  • Instalar aptitude que es el gestor de paquetes preferido de Ansible.
  • Instalar y configurar extensiones de PHP y paquetes LAMP.
  • Crear un nuevo Apache VirtualHost para el sitio web de WordPress.
  • Habilitar el módulo mod_rewrite y deshabilitar el sitio web predeterminado ofrecido por Apache.
  • Establecer la contraseña para el usuario root de MySQL.
  • Eliminar las cuentas anónimas de MySQL y la base de datos de prueba.
  • Crear un nuevo usuario y una nueva base de datos. Estos serán utilizados por el sitio web de WordPress.
  • Configurar UFW para permitir el tráfico HTTP en el puerto configurado ( 80 por defecto).
  • Descargar y desempaquetar WordPress.
  • Configurar los permisos y la propiedad de los directorios.
  • Configurar un nuevo archivo wp-config.php utilizando su plantilla.

Guía del Playbook de Ansible para WordPress en LAMP

Primero, tendremos que obtener el playbook de WordPress en LAMP y sus dependencias del repositorio do-community/ansible-playbooks . Clonaremos este repositorio dentro del Nodo de Control de Ansible.

Puede ejecutar el comando git pull como se menciona a continuación:

Asegúrese de tener la versión actualizada del repositorio mencionado anteriormente. Esto es en caso de que haya clonado el repositorio antes. A continuación se muestra cómo puede obtener la actualización:

Ahora tenemos que ubicar los archivos dentro de la carpeta wordpress-lamp_ubuntu . El nombre de esta carpeta puede ser diferente según la versión de Ubuntu que esté utilizando. A primera vista, verá la siguiente estructura en este directorio:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Dir Struc

A continuación, resumamos el propósito de estos archivos:

  • files/apache.conf.j2: Apache utiliza VirtualHost. Este archivo se utiliza para especificar la configuración de VirtualHost.
  • files/wp-config.php.j2: Este archivo contiene la configuración para configurar WordPress.
  • vars/default.yml: Configura los ajustes del playbook.
  • playbook.yml: Si hay tareas que deben ejecutarse en un servidor remoto, este archivo se utiliza para configurarlas.
  • readme.md: Guía para usar el playbook.

Tenemos que editar el archivo de variables del playbook para personalizar la instalación. Primero, abra el archivo vars/default.yaml que se encuentra dentro del directorio mencionado anteriormente:

Este archivo es bastante largo. Tiene una serie de configuraciones para ayudarnos con nuestra instalación:

Aquí nos interesan las siguientes variables:

  • php_modules: Un array que contiene las extensiones de PHP que deben instalarse para dar soporte a su configuración de WordPress. Si desea instalar más módulos, puede especificarlo aquí.
  • mysql_root_password: La contraseña para la cuenta root de MySQL.
  • mysql_db: Esto especifica el nombre de la base de datos MySQL que utilizará WordPress.
  • mysql_user: El nombre del usuario de MySQL que debe crearse para WordPress.
  • mysql_password: La contraseña para el nuevo usuario de MySQL.
  • http_host: Nombre de dominio o la IP del servidor.
  • http_conf: El nombre del archivo de configuración que se creará dentro de Apache.
  • http_port: Puerto HTTP para este host virtual. Este puerto se utiliza para acceder al sitio web. El valor predeterminado es 80.

A continuación, introduzca los valores en el archivo anterior, guarde y cierre. Para los usuarios que utilicen el editor nano, presione CTRL+X, Y, y presione ENTER.

Ahora está listo para ejecutar este playbook. Puede ejecutar este playbook en uno o más servidores. Si desea ejecutar este playbook en algún servidor específico, puede usar el -l parámetro. Además, si necesita especificar el usuario para conectarse al servidor remoto, especifique el usuario utilizando el -u parámetro.

Supongamos que queremos ejecutar nuestro playbook en un servidor, srvr1 utilizando el usuario u1, podemos ejecutar el siguiente comando:

Una vez que ejecute el comando anterior, obtendrá una salida como la siguiente:

Espere hasta que se complete la ejecución del playbook. Luego, navegue al server_name en su navegador web:

Verá la pantalla:

WP Page

A continuación, seleccione el idioma de su elección y presione Continue. Aparecerá la siguiente pantalla solicitando algunos detalles para finalizar la instalación:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Set User Pass

Después de eso, introduzca la información y presione Install WordPress. Tomará algún tiempo y luego verá una pantalla como la siguiente:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Install Success

Seleccione Login para iniciar sesión en su sitio web y configurar los ajustes:

Homepage

Contenido del Playbook de Ansible

Recuerde la carpeta wordpress-lamp_ubuntu . Contiene algunos archivos en su interior. Así que repasémoslos uno a la vez:

●    vars/default.yml

Este archivo contiene valores que se utilizan para configurar los ajustes de su sitio web de WordPress:

●    files/apache.conf.j2

Este archivo se utiliza para configurar el VirtualHost de Apache:

●    files/wp-config.php.j2

Este archivo se utiliza para configurar WordPress. Contiene claves y sales únicas generadas por funciones hash:

●    playbook.yml

Este archivo contiene todas las tareas definidas a partir de esta configuración. Comienza listando un grupo de servidores a los que se dirige esta configuración. Incluye el vars/default.yml archivo de variables para cargar las opciones de configuración:

Puede modificar estos archivos según sea necesario para adaptarlos a sus necesidades específicas para el sitio web que está construyendo.

Conclusión

En este tutorial, demostramos cómo puede automatizar la instalación y configuración de un sitio web de WordPress que se ejecuta en la pila LAMP en el último sistema operativo Ubuntu con Ansible.

Para obtener más guías sobre cómo trabajar con Ansible, puede consultar los siguientes tutoriales en nuestro blog:

¡Feliz informática!

author

Preslav Dobrev

Autor · CloudSigma

Preslav Dobrev es diseñador creativo en CloudSigma, centrado en una identidad empresarial coherente mediante el uso de canales de marketing tradicionales e innovadores. Es experto en fusionar la visión artística con el marketing estratégico para crear narrativas de marca impactantes.

Comentarios

Aún no hay comentarios. Sea el primero.