wordpress/README.md

3.0 KiB

WORDPRESS MULTISITE SINDOMINIO

La versión del wordpress multisite de Sindomnio usando Docker.

Está dividido en tres containers:

  • NGINX : El servidor que ofrece la web. Expone el puerto 80 y lo redirigimos al 8085 para tener acceso en txirbilenea. Tiene acceso al volumen de datos. Los datos de configuración son los que se están usando en patio
  • PHP-FPM: Expone el puerto 9000 para las peticiones de fastcgi desde el container NGINX. Creamos un usuario wordpress para el acceso a los datos del volumen compartido
  • MARIADB: Base de datos con volumen propio. Deberemos configurar la base de datos y el usuario del wordpress.

Y dos volumenes:

  • DATA : Con los archivos PHP, documentos, ... necesarios para usar Wordpress
  • DB : Los archivos de la base de datos MariaDB

WP-CONFIG : Configuración de Wordpress

Los ficheros de configuración de Wordpress los podemos encontrar en php-fpm/wordpress_files

Editar correctamente los datos de la base de datos en el wp-config.php

En la carpeta wordpress_files también están los plugins y themes seleccionados para ser usados en la nube.

BUILDEAR LAS IMAGENES

 $ docker-compose build

Esto construye las tres imágenes y los volumenes

INICIAR LOS CONTENEDORES

 $ docker-compose up -d

Y revisamos que todo esté funcionando correctamente

 $ docker ps 

Con esto iniciamos los tres containers y ya podemos trabajar sobre sus volumenes.

Para finalizar, deberemos reconfigurar el proxypass de labo03 para que apunte a txirbilenea al puerto 8085 que es el puerto expuesto en el docker-compose para el acceso al NGINX.

MIGRAR ARCHIVOS DE LA VIEJA INSTALACION

Copiar la carpeta blogs.dir y uploads al volumen data del contenedor php-fpm

El volumen data lo puedes encontrar en /var/lib/docker/volumes/wordpress_data/_data/

CREACIÓN DE BASE DE DATOS

Con los datos de wp-config.php debermos crear la base de datos en nuestro container.

 $ docker exec -it sd_wp_db bash

 $ mysql -u root -p 

	## Press Enter , root without password

 CREATE DATABASE wordpress;

 GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'%' IDENTIFIED BY 'wordpress';

 FLUSH PRIVILEGES;

 QUIT;

 $ exit

MIGRACIÓN DE LA VIEJA BASE DE DATOS##

Deberemos hacer un mysqldump de la base de datos vieja e importarlos en nuestro nuevo container de base de datos wordpress a través de:

 $ docker exec -it sd_wp_db mysql -u root -p wordpress < database_vieja.sql

WP-CLI

WP-cli es una herramienta para automatizar tareas en Wordpress

Está instalado en el container php-fpm

Para ejecutarlo:

 $ docker exec -it sd_wp_php runuser -u wordpress -- /sindominio/wp core update --all --path="/sindominio/wordpress/"
 $ docker exec -it sd_wp_php runuser -u wordpress -- /sindominio/wp plugin update --all --path="/sindominio/wordpress/"
 $ docker exec -it sd_wp_php runuser -u wordpress -- /sindominio/wp theme update --all --path="/sindominio/wordpress/"

Habría que añadrilo al cron.daily