mariadb | ||
nginx | ||
php-fpm | ||
docker-compose.yml | ||
README.md |
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