Migration - ThinkStoryAdmin/think_story GitHub Wiki
Afin de faciliter la migration et l'intégrité des données, il y a un SQL dump et les fichiers à importer.
Il faut quand-même installer Concrete5 comme qui est décrit sur la page d'installation, mais il n'est pas nécessaire de créer un site ou d'installer le package ThinkStory.
Liens utiles:
- https://linuxize.com/post/how-to-back-up-and-restore-mysql-databases-with-mysqldump/
- https://www.cyberciti.biz/faq/how-to-zip-a-folder-in-ubuntu-linux/
Ce document est largement influencé par:
- https://documentation.concrete5.org/developers/introduction/installation/moving-a-site
- https://www.concrete5.org/community/forums/installation/move-site-to-new-server
- https://websitemigrationguides.com/guide.php?migrate=9
- https://www.infomaniak.com/en/support/faq/2057/transferring-a-website-from-one-web-host-to-anotherchanging-hostsjoining-infomaniak
Netoyer le cache
Il faut netoyer le cache de Concrete5, et supprimer les fichiers dans application/files/cache/*.
Copier les données nécéssaires
Si vous utilisez le dump fourni sur le répartoire, vous pouvez passer à l'étape suivante
Copier les fichiers
Si vous copiez depuis votre propre site, il faut que vous copiez les dossiers suivants et leurs contenus vers la nouvelle hôte:
- application/
- concrete/
- packages/
Et les documents suivants:
- index.php
- robots.txt
- sitemap.xml
Vous pouvez ingorer les dossiers:
- /updates/
- /application/files/cache/
Copier le BD
En fonction de votre solution d'hébergement web, il se peut que vous pouvez facilement exporter votre BD (i.e. avec Infomaniak: https://www.infomaniak.com/en/support/faq/2128/exporting-a-mysql-database).
Sinon, il faut faire un dump mysql avec la commande suivante (remplacez avec vos identifiants):
mysqldump --host=your_MySQL_server -u your_ MySQL_user --password=password_of_MySQL_user database_name > save.sql
Il faut créer une nouvelle DB sur le système auquel vous voulez migrer, et ensuite importer le dump dans le nouveau système avec une commande du genre:
mysql -u db_user -p database_name < old_database.sql
Ensuite il faut que vous metiez à jour votre configuration DB dans Concrete (application/config/database.php)
Importer les données
La prochaine étape est importer les données sur votre site.
Copier les fichiers
Si vous avez installé Concrete5 avec Composer (ce qui est recommandé), les dossiers sont à mettre dans la cible /votre-site/public/... Donc, le contenu de "application/" est à mettre dans "votre-site/public/application", "sitemap.xml" est à mettre dans "votre-site/public/", etc.
Si vous écraser un site sur un hôte, faites sur que vous sauvegardez ces fichiers:
/index.php
/concrete/src/Session/Storage/Handler/NativeFileSessionHandler.php
/application/config/database.php
Importer le BD
Il faut créer une nouvelle DB sur le système auquel vous voulez migrer (qui est décrit sur la page d'installation), et ensuite importer le dump dans le nouveau système avec une commande du genre:
mysql -u db_user -p database_name < old_database.sql
Ensuite il faut que vous metiez à jour votre configuration DB dans Concrete (/application/config/database.php)
Erreurs fréquents
SQLSTATE[HY000] [2002] No route to host
Si vous avez un erreur de genre Votre configuration DB dans /application/config/database.php
n'est pas correcte, veulliez la vérifier.
Failed to create cache path.
Si vous avez un erreur de genre Il faut que vous modifiez le owner des dossiers de votre site. Utilisez chmod pour faire cela (chmod -R 777 /votre-site/ est possible, mais pas recommendé pour les sites en production pour des raisons de sécurité).
SessionHandler::read(): open(/xyz/web/tmp/sess_abc, O_RDWR) failed: No such file or directory (2)
Si vous avez un erreur de genre Il est fort probable que vous avez la ligne ini_set('session.save_path', '/path/to/example/directory');
dans les deux fichiers suivants: /index.php
et /concrete/src/Session/Storage/Handler/NativeFileSessionHandler.php
. Il faut que vous supprimez ces lignes. Cette erreur est assez commun si vous copiez vos données depuis un service d'hébergement de site web comme Infomaniak, GoDaddy, etc.
Cependant si vous migrez vers une nouvelle hôte, et que vous avez bien gardé une sauvegarde de ces deux fichiers: recopiez ces lignes.