Duplicate a Dolibarr instance into another one
The testers among you will certainly want to test the latest updates at some point in order to check the status of certain bugs or commit to a new version.
In order to use your data with peace of mind, here is a procedure to follow to avoid losses ...
Warning! This documentation is based on examples taken from a Dolibarr installation with the following configuration
- Linux Debian Etch
- MySQL 4.1
- Apache2
If you use another type of machine, please make the usual modifications.
Copy
As your data is of great value, it would be a shame to lose it. In order to test an update, why not copy your data elsewhere?
Directory
Since, most likely, your entire Dolibarr installation resides in a single directory, copying will be easy.
cp -ra /var/www/dolibarr /var/www/dolibarrtest
This command will copy your Dolibarr directory (supposed to be in /var/www/dolibarr here) in a second dolibarrtest directory on which you will run your tests. The -ra means recursive and retains files permission. This last option will allow you not to worry about file rights issues after copying.
Database
- Backup your database:
mysqldump -u utilisateur -p --result-file=dolibarr.date.sql base_de_donnees
- Éditez le fichier résultant et modifiez la ligne USE base_de_donnees; en début de fichier pour la remplacer par un nouveau nom de base de données, celui de la base de données de tests, par exemple USER base_de_donnees_test; dans ce cas-ci.
- Créez la nouvelle base de données si ce n'est pas déjà fait. Si la base de données existe, droppez-la et recréez-la, afin de n'obtenir au final que les données réellement extraites de votre base de données courante.
mysqladmin -u utilisateur -p drop base_de_donnees_test
mysqladmin -u utilisateur -p create base_de_donnees_test
Il se peut que vos permissions ne vous autorisent pas à dropper/créer une base de données. Dans ce cas, reportez-vous à votre documentation de MySQL concernant les permissions.
- Importez les données de votre base de départ dans votre nouvelle base
mysql -u utilisateur -p base_de_donnees_test < dolibarr.date.sql
Hôtes virtuels d'Apache
Si vous utilisez des hôtes virtuels dans Apache, il faudra en créer un nouveau pour votre installation de test. Par exemple, si vous aviez quelque chose comme ceci dans un fichier nommé /etc/apache2/sites-available/dolibarr:
<VirtualHost *:80>
ServerName dolibarr.mondomaine.net
ServerAdmin webmaster@mondomaine.net
DocumentRoot /var/www/dolibarr/htdocs
DirectoryIndex index.php
ErrorLog /var/log/apache2/dolibarr-error.log
CustomLog /var/log/apache2/dolibarr-access.log combined
</VirtualHost>
... il faudra à présent en faire une copie dans, par exemple, /etc/apache2/sites-available/dolibarrtest:
<VirtualHost *:80>
ServerName dolibarrtest.mondomaine.net
ServerAdmin webmaster@mondomaine.net
DocumentRoot /var/www/dolibarrtest/htdocs
DirectoryIndex index.php
ErrorLog /var/log/apache2/dolibarrtest-error.log
CustomLog /var/log/apache2/dolibarrtest-access.log combined
</VirtualHost>
Attention, ceci ne suffit pas à rendre cet hôte disponible, il faudra également:
- mettre en place le sous-domaine spécifié, avec notamment des règles de redirection sur la machine qui sert de DNS à votre domaine
- faire un lien symbolique depuis /etc/apache2/sites-enabled/dolibarrtest vers /etc/apache2/sites-available/dolibarrtest
ln -s /etc/apache2/sites-enabled/dolibarrtest /etc/apache2/sites-available/dolibarrtest
- recharger la config d'Apache2
/etc/init.d/apache2 reload
Fichier de configuration
Enfin, le fichier de configuration /var/www/dolibarrtest/htdocs/conf/conf.php doit absolument être modifié. Tant qu'il n'est pas modifié, votre installation dolibarrtest se connectera en effet toujours à votr vraie base de données, pas celle de test! Éditez le fichier de configuration et modifiez le nom de la base de données à laquelle se connecter. Dans la lignée des exemples ci-dessus, renommez base_de_donnees en base_de_donnees_test. Renommez également les répertoires auxquels votre configuration fait référence. Les /var/www/dolibarr deviennent /var/www/dolibarrtest.
Vérifications
Si vous avez bien réalisé les étapes préparatoires, vous devriez à présent pouvoir charger votre nouveau portail dans votre navigateur et vérifier qu'il s'agit bien d'un portail distinct. Comment faire?
Modification DB
- Modifiez une petite information (par exemple modifiez vos détails persos) sur votre portail de test
- Déloggez-vous
- Loggez-vous sur votre portail de production
- Vérifiez si l'information a changé. Si elle a changé, reparcourez les étapes ci-dessus pour voir ce que vous avez manqué. Aucune modification n'aurait dû être apportée!
- Si aucune modification n'a été apportée, c'est bien! Retournez sur votre portail de test et vérifiez que la modification que vous y aviez apportée y est toujours... bien.
Modification documents
- Ajoutez un document à l'une de vos fiches sur votre portail de test
- Déloggez-vous
- Loggez-vous sur votre portail de production.
- Vérifiez si le nouveau document s'y trouve. S'il s'y trouve, reparcourez les étapes ci-dessus pour voir ce que vous avez manqué. Aucune modification n'aurait dû être apportée!
- Si aucune modification n'a été apportée, c'est bien! Retournez sur votre portail de test et vérifiez que la modification que vous y aviez apportée y est toujours... bien.
Mise-à-jour
Vous avez tout copié, et votre configuration vous met à l'abri de modifications indésirées dans votre répertoire de production? Vous avez vérifié que vous pouviez accéder à votre portail de test depuis votre navigateur? Bien! Maintenant, récupérez la dernière version de Dolibarr et copiez-là aussi sec par-dessus l'autre, qui est dans /var/www/dolibarrtest (si on vous le demande, choisissez "écraser"). Ensuite, pointez votre navigateur sur le portail de test, et ajoutez "install/" dans l'URL. Le processus d'installation/mise-à-jour de Dolibarr devrait vous proposer une mise-à-jour. Acceptez et suivez les étapes.
Votre portail de test est maintenant mis-à-jour à la dernière version. Bravo!