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:

Ce document est largement influencé par:

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

Si vous avez un erreur de genre SQLSTATE[HY000] [2002] No route to host

Votre configuration DB dans /application/config/database.php n'est pas correcte, veulliez la vérifier.

Si vous avez un erreur de genre Failed to create cache path.

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é).

Si vous avez un erreur de genre SessionHandler::read(): open(/xyz/web/tmp/sess_abc, O_RDWR) failed: No such file or directory (2)

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.