====== 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]].