https://github.com/erii-01/ansible-role-wordpress
Ansible Rol - Wordpress
https://github.com/erii-01/ansible-role-wordpress
apache httpd php web wordpress
Last synced: 9 months ago
JSON representation
Ansible Rol - Wordpress
- Host: GitHub
- URL: https://github.com/erii-01/ansible-role-wordpress
- Owner: erii-01
- License: mit
- Created: 2025-07-22T18:38:12.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-08-01T14:51:21.000Z (11 months ago)
- Last Synced: 2025-08-01T16:28:21.114Z (11 months ago)
- Topics: apache, httpd, php, web, wordpress
- Language: Jinja
- Homepage: https://galaxy.ansible.com/ui/standalone/roles/erii-01/wordpress/
- Size: 33.2 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/erii-01/ansible-role-wordpress/actions/workflows/molecule.yml)
# Rol de Ansible: WordPress
Un rol de Ansible para instalar y configurar un servidor web completo con WordPress y Apache. Es compatible con distribuciones de las familias Debian (Ubuntu) y Red Hat (Rocky Linux) y está probado con Molecule.
## Características
- Instala WordPress, Apache y las dependencias necesarias.
- Configura un Virtual Host para el sitio de WordPress.
- Multi-distribución: Lógica adaptativa para Debian/Ubuntu y RHEL/Rocky.
- Idempotente: Se puede ejecutar múltiples veces de forma segura.
- Genera el archivo `wp-config.php` con la configuración de la base de datos.
> Para generar el wp-config.php se deben declarar las variables de la base de datos, tal como se indica en [Requerimientos](#requerimientos).
## Requisitos
Para probar este rol localmente, necesitas tener instalados:
- Git
- Docker (y asegurarse de que esté corriendo)
- [asdf](https://asdf-vm.com/)
- [direnv](https://direnv.net/)
## Entorno de Desarrollo
El proyecto utiliza asdf y direnv para automatizar la configuración del entorno, asegurando que todos usen las mismas versiones de las herramientas.
Clonar el repositorio:
```bash
git clone https://github.com/erii-01/ansible-role-wordpress.git
cd ansible-role-wordpress
```
Añadir los plugins de asdf (solo la primera vez):
```bash
asdf plugin add python
asdf plugin add ansible
```
Instalar las dependencias de Python:
```bash
pip install -r requirements.txt
```
Permitir a direnv activar el entorno:
```bash
direnv allow
```
## Requerimientos
Es necesario contar con un servidor de base de datos configurado con `db_name`, `db_user`, `db_password` y `db_host` accesibles para esta instancia de WordPress. Puede configurarlo en la misma máquina (por ejemplo, usando otro rol de Ansible como [geerlingguy.mysql](https://galaxy.ansible.com/geerlingguy/mysql/)), pero también puede ser una base de datos existente en otro host.
## Variables del Rol
| Variable | Default | Comments |
| :---------------- | :-------------------------------- | ------------------------------------------- |
| `site_domain` | `"wordpress.local"` | Dominio para el VirtualHost de Apache. |
| `site_port` | `"8081"` | Puerto del `host` para el `ServerAlias`. |
| `wp_install_path` | `"/var/www/html/wordpress.local"` | Ruta de instalación de WordPress. |
| `db_name` | `"wordpress_db"` | Nombre de la base de datos de WordPress. |
| `db_user` | `"wordpress_user"` | Usuario de la base de datos. |
| `db_password` | `"Pass12345"` | Contraseña del usuario de la base de datos. |
| `db_host` | `"localhost"` | Host de la base de datos. |
## 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:
```yaml
- hosts: webservers
become: true
roles:
- role: erii-01.wordpress
```
## Pruebas
Este repositorio utiliza Molecule para las pruebas. Para ejecutar el ciclo completo de pruebas:
```bash
molecule test
```