An open API service indexing awesome lists of open source software.

https://github.com/juanico10/wordpress

Proyecto para crear un blog con wordpress con Docker.
https://github.com/juanico10/wordpress

docker docker-compose nginx redis traefik traefik-v2 wordpress

Last synced: 6 months ago
JSON representation

Proyecto para crear un blog con wordpress con Docker.

Awesome Lists containing this project

README

          

# Wordpress
Proyecto para crear un blog con wordpress con Docker.

![alt text](https://github.com/JuanRodenas/Wordpress/blob/main/icons/wordpress.jpeg)



WP%2Bnginx%2Bredis.png



WordPress x NGINX x REDIS

### Versión latest docker Wordpress
![Docker Image Version (latest)](https://img.shields.io/docker/v/_/wordpress/fpm?arch=amd64&color=blue&logo=docker&logoColor=blue&style=for-the-badge)

#### 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](https://github.com/JuanRodenas/Wordpress/blob/main/icons/Redis.PNG)

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](https://github.com/JuanRodenas/Wordpress/blob/main/icons/pagina_web.png)

## 🎉 ¡Ready!