/Wordpress

Proyecto para crear un blog con wordpress con Docker.

Primary LanguageShellMIT LicenseMIT

Wordpress

Proyecto para crear un blog con wordpress con Docker.

alt text

WP%2Bnginx%2Bredis.png
WordPress x NGINX x REDIS

Versión latest docker Wordpress

Docker Image Version (latest)

Las arquitecturas soportadas por esta imagen son:

Architecture Tag
fpm wordpress:fpm
fpm-alpine wordpress:fpm-alpine

Documentación oficial

Enlaces a la documentación oficial de wordpress:

atencion Documentación oficial

atencion Código oficial Github

atencion Código oficial en docker hub

* Un blog usando la imagen oficial de WordPress.

PREPARACIÓN DE LOS ARCHIVOS Y DIRECTORIOS

Crear los directorios donde se montarán los volúmenes de persistencia

Creamos los directorios donde se montarán los volúmenes de persistencia

mkdir /patch/to/data/wordpress/wordpress
mkdir /patch/to/data/wordpress/mysql
mkdir /patch/to/data/wordpress/redis

Directorios:

  • files Contendrá los archivos almacenados en nuestra nube. También contendrá los ficheros de configuración, ficheros de las aplicaciones instaladas, etc. Es importante realizar una copia de seguridad de este directorio/volumen de persistencia.
  • mysql Contendrá la totalidad de ficheros de nuestra base de datos MySQL.
  • redis Contiene las bases de datos que genera el servidor Redis. Obviamente también es interesante realizar una copia de seguridad de este directorio.
  • backup Las copias de seguridad de la base de datos. En caso de utilizar un volumen llamado /backup, puede realizar una copia de seguridad de la base de datos y almacenarla en este directorio tan solo tenéis que ejecutar el comando sudo docker-compose exec db backup

Imágenes docker y arquitecturas

  • Supported architectures: amd64, arm32v5, arm32v6, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x

  • Imágenes recomendadas: fpm-alpine, php8.0-fpm-alpine, wordpress:latest

Crear la red interna para comunicar con los demás contenedores

Creada la red interna, ya podemos levantar el contenedor

docker network create wordpress_internal

LEVANTAR EL CONTENEDOR DE WORDPRESS

En la misma ubicación que hemos indicado la carpeta WordPress, descargamos el docker-compose.yml

☑️ docker-compose.yml

Y creamos el archivo de configuración .env con la configuración del archivo .env 📦

touch .env
nano .env

Cuando se abra el editor de texto configuraremos la configuración del archivo con el dominio, la password, la database y el usuario.

Definir las variables del archivo .env

Las variables de entorno de configuración del archivo .env y modificamos los volúmenes del docker-compose.yml:

variables de entorno de configuración del archivo .env:

  HOST_DOMAIN=domain.com

  DATABASE=wordpress

  PASSWORD=password

  USER=user

  ROOT_PASSWORD=password

Levantamos el contenedor con:

docker-compose up -d

Una vez ejecutado el comando se descargarán las imagenes del docker-compose, se crearán y levantarán los contenedores.

  Si ya hemos descargado las imagenes previamente, sólo se crearán y levantarán los contenedores.

Levantar REDIS

Una vez hecho esto, tienes que instalar un plugin para WordPress que te permite interaccionar con Redis. Este plugin o complemento se llama Redis Object Cache.

Una vez lo tengas configurado y levantado, hay trabajo que realizar. Tienes que editar el archivo wp-config.php

alt text

y añadir los siguientes parámetros en el archivo:

define('WP_REDIS_HOST', 'wpredis');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_TIMEOUT', 1);
define('WP_REDIS_READ_TIMEOUT', 1);
define('WP_REDIS_DATABASE', 0);

Una vez instalado, tienes que acceder a su configuración y habilitarlo para que entre en funcionamiento. Comprueba que todos los parámetros que te devuelve son correctos y que todo funciona como se espera.

Acceder al contenedor o ver el log del contenedor

  • Vemos todos los contenedores:
docker-compose logs -f
  • Acceso al contenedor
docker exec -u root -t -i wordpress /bin/bash

ACCEDER A LA WEB O DASHBOARD DE WORDPRESS

Con el contenedor levantado tan solo tenemos que abrir el navegador web e ingresar a la URL que hemos indicado en el docker compose. Una vez ingresadas la credenciales tendremos acceso al panel de control. Fíjense que estamos accediendo de forma segura mediante https y TLS. alt text

🎉 ¡Ready!