wordpress/README.md

100 lines
3.0 KiB
Markdown

# 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