Migrer Dolibarr vers une nouvelle version
On considère qu’on a Dolibarr d’une version X installé en production sur un serveur web classique. Si vous utilisez Wamp, Mamp, ou une installation Debian, ce sera un peu différent, car les sources ne sont pas installés aux mêmes endroits.
Installation de Dolibarr
Dolibarr est composé d’une base de données et de 3 répertoires habituellement regroupés sous un répertoire dolibarr (dans mon exemple)
- htdocs : les sources des pages de gestion
- documents : tous les documents générés par Dolibarr (pdf, images ….)
- scripts : les tâches planifiées.
L’url de Dolibarr (dolibarr.domaine.com) pointe normalement sur le répertoire htdocs, Les répertoires documents et scripts ne doivent pas être visibles depuis un navigateur ( faille de sécurité)
La règle d’or SAUVEGARDEZ Faites une copie de ces 3 répertoires et mettez la copie en lieu sûr. Sauvegardez la base de données de Dolibarr (mysqldunp, phpmyadmin, ou via l’interface de Dolibarr) et là aussi mettez le fichier en lieu sûr.
Etape 1 : Faites une copie de votre Dolibarr de production (oui pendant un temps, vous continuez à travailler sur votre ancien Dolibarr, le temps de vérifier que le nouveau Dolibarr fonctionne correctement)
- créez un répertoire newdolibarr (par exemple)
- copiez-y les répertoires htdocs et scripts de l’ancienne version
- recopiez votre répertoire documents de l’ancien Dolibarr dans le nouveau répertoire
- créez une seconde base de données vide (newdolibarr)
- importez la sauvegarde de votre ancien dolibarr dans cette nouvelle base.
- modifiez le fichier htdocs/conf/conf.php : les lignes de la base de données, de l’url et le chemin vers le répertoire documents.
- créer l’url pour accéder à ce nouveau dolibarr (exemple : newdoli.domaine.com)
Accédez à votre copie de Dolibarr : tout devrait fonctionner normalement puisque c’est une copie conforme, mais avec des sources et une base distincts de la production. Elle servira à faire la migration. L’ancienne installation continue à être utilisée pendant ce temps par les utilisateurs habituels ou pour faire une facture client … (Avouez que ce serait dommage de ne pas pouvoir facturer l’affaire du siècle, parce que vous êtes en train de bricoler votre nouveau Dolibarr…)
Vous êtes prèt pour faire la migration.
Etape 2 : Migration Dolibarr
- On fait la migration dans le nouveau Dolibarr (l’ancien s’occupe de votre gestion au quotidien).
- Désactivez tous les modules externes de Dolibarr
- conservez le fichier htdocs/conf/conf.php
- remplacez les répertoires htdocs et scripts de la nouvelle installation par les répertoires de la nouvelle version.
- connectez-vous à Dolibarr et exécutez les scrips de migration.
Vous avez un Dolibarr de base avec la nouvelle version et vos anciennes données. Commencez à vérifier si tout fonctionne.
Etape 3 : installez les nouvelles versions des modules externes
- installez les nouvelles versions des modules (vous les trouverez auprès des développeurs des modules). Important, car un module acheté pour votre ancienne version ne fonctionnera pas forcément sur la nouvelle.
- Activez chaque module pour qu’il exécute lui aussi ses scripts de migration (s’il y en a).
Etape 4 : TESTEZ
- Vérifiez que les fonctions que vous utilisez habituellement fonctionnent correctement : créez un tiers, un contact, faites des factures, examinez les documents…
- Testez les nouvelles fonctions de Dolibarr que vous voulez utiliser.
- (normalement vous avez établi un plan de test avant)
- Testez le bon fonctionnement des modules externes
- IMPORTANT : ce sont des tests, rien de réel. SI vous avez une vraie facture à faire, faites-la dans votre ancien Dolibarr.
Testez, testez, re-testez …. jusqu’à détester !
Décidez A ce stade vous avez les éléments pour faire votre choix : la nouvelle version est au point, ou au moins utilisable sans inconvénient majeur (Dolibarr n’est pas encore parfait…), vous passez à la mise en production (Etape 5).
Mais peut être estimerez-vous que ce n’est pas satisfaisant, que la version n’apporte rien de plus, qu’un module externe n’est pas prêt …. Il vous suffit de continuer tranquillement à travailler sur votre ancien Dolibarr en attendant les corrections (version de maintenance, module corrigé…), ou une prochaine version, que vous pourrez tester sur votre Dolibarr de test. Vous aurez passé du temps, mais votre gestion n’a jamais été interrompue.
Etape 5 : La mise en production
- sauvegardez la base de données de Dolibarr en production
- Arrètez toutes les tâches planifiées, les imports éventuels sur votre Dolibarr de production
- désactivez tous les modules externes
- conservez le fichier htdocs/conf/conf.php en lieu sûr…
- remplacez les htdocs et scripts avec ceux de la nouvelle version que vous avez testée (modules externes compris)
- récupérez le fichier htdocs/conf/conf.php de la version ancienne de production
- connectez-vous à votre Dolibarr de production et exécutez les scripts de migration (et oui on le refait, mais sur les données de production).
- connectez vous et ré activez les modules externes
- remettez en route les tâches planifiées
- vérifiez
Vous avez fait votre migration !
Aie il y a un problème ! Si pour une raison ou une autre votre migration a échouée voici comment récupérer votre ancienne version
- supprimez les répertoires htdocs et scripts de l’installation en production
- remettez vos anciennes sources (sauvegardées précieusement au point 2)
- supprimez toutes les tables de la base de données de production
- restaurez la sauvegarde de la base de production que vous avez faite juste avant la mise en production (étape 5)
- vous avez retrouvé votre Dolibarr d’avant la migration (ancienne version)
Conclusion Une migration n’est jamais une petite affaire, si on veut éviter une interruption de servie et maintenir un système en production. Il faut préparer cette intervention soigneusement pour éviter les mauvaises surprises.