# 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