====== Migration du wordpress de Caliban Belgique ======
Wordpress étant une horrible bouse à migrer, nous avons finalement pris la décision de passer à [[Grav]].
Jusqu'ici, [[https://caliban.be|le site de Caliban]] était hébergé sur un tout petit VPS, chez OVH.
{{ ::c-3po.png?400 |}}
OVH va supprimer ce VPS parce qu'il est trop ancien pour eux (2014.. C'est mon tout premier.. :-/ )
Le projet est de conteneuriser le site et le déplacer sur un autre serveur.
===== Sauvegarde de la base de données =====
root@C-3PO:/home/simon# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 332204
Server version: 10.1.38-MariaDB-0+deb9u1 Debian 9.8
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| wordpress |
+--------------------+
5 rows in set (0.02 sec)
MariaDB [(none)]> quit;
Bye
root@C-3PO:/home/simon# mysqldump -u root -p wordpress > wordpress.sql
Enter password:
root@C-3PO:/home/simon# ls -alh wordpress.sql
-rw-r--r-- 1 root root 11M Mar 23 11:34 wordpress.sql
On récupère en local avec [[scp]] :
$ scp c3p0:~/wordpress.sql .
===== Sauvegarder ^les fichiers du wordpress =====
root@C-3PO:/var/www# tar czvf `date "+%Y-%m-%d"`-wordpress.tar.gz html/
root@C-3PO:/var/www# mv 2020-03-23-wordpress.tar.gz /home/simon/
root@C-3PO:/var/www# chown simon:simon /home/simon/2020-03-23-wordpress.tar.gz
Récupérer en local :
$ scp c3p0:~/2020-03-23-wordpress.tar.gz .
===== Préparer le docker-compose =====
(Changer les mots de passe, évidemment!)
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- wp_data:/var/www/html
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
wp_data: {}
===== Importer la base de données dans le conteneur mysql =====
On copie la DB dans le conteneur :
$ docker cp /home/simon/tmp/wordpress/wordpress.sql wordpress_db_1_bde12ad78f15:/
On se connecte au conteneur et on remplace la DB existante par notre export :
$ docker exec -ti wordpress_db_1_bde12ad78f15 /bin/bash
root@8c1e0b2964a1:/# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.29 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> drop DATABASE wordpress;
Query OK, 12 rows affected (0.12 sec)
mysql> CREATE DATABASE wordpress;
Query OK, 1 row affected (0.00 sec)
mysql> ^DBye
root@8c1e0b2964a1:/# mysql -u root -p wordpress < wordpress.sql
Enter password:
===== Importer les fichiers du wordpress dans le conteneur wordpress =====
J'ai copié les fichiers au bon endroit mais ça n'a jamais fonctionné, j'avais des redirections foireuses et des problèmes que je n'ai pas su régler. On est ensuite parti sur [[Grav]].