Cet article décrit l’installation et la maintenance de Dolibarr sur un serveur Slackware. Dolibarr est un ERP/CRM (Enterprise Resource Planing & Customer Relationship Management) libre qui permet aux entreprises, aux associations ou aux micro-entrepreneurs, de gérer une activité professionnelle ou associative : contacts, factures, commandes, stocks, agenda, etc.
Prérequis
Dans l’exemple ci-dessous, nous installerons Dolibarr sur un serveur dédié. Il nous faut donc :
- un domaine valide, par exemple
compta.slackbox.fr
- un certificat SSL/TLS pour ce domaine
- un serveur LAMP fonctionnel
Installation
Créer la base de données :
# mysql -u root -p mysql> create database dolibarr; mysql> grant all on dolibarr.* to dolibarruser@localhost -> identified by '********'; mysql> flush privileges; myslq> quit; Bye
Télécharger Dolibarr sur le site de l’éditeur :
# cd ~/webapps/dolibarr # links http://www.dolibarr.fr
Suivre les liens Téléchargements > Espace téléchargement Sourceforge > Files > Dolibarr ERP-CRM > 4.0.3 > dolibarr-4.0.3.tgz > direct link > Enregistrer > OK.
Quitter Links et décompresser l’archive téléchargée à la racine des hôtes virtuels :
# cd /var/www/vhosts # tar xvzf /root/webapps/dolibarr/dolibarr-4.0.3.tgz
Renommer en fonction de l’hébergement :
# mv dolibarr-4.0.3 slackbox-dolibarr
Régler les droits d’accès et les permissions de fichiers :
# chown -R apache:apache slackbox-dolibarr/ # find slackbox-dolibarr/ -type d -exec chmod 0750 \{} \; # find slackbox-dolibarr/ -type f -exec chmod 0640 \{} \;
Créer un fichier de configuration vide :
# cd slackbox-dolibarr # touch htdocs/conf/conf.php
Définir les permissions de ce fichier :
# chown apache:apache htdocs/conf/conf.php # chmod 0640 htdocs/conf/conf.php
Créer le répertoire qui servira aux documents générés ou stockés par Dolibarr. Attention, il doit bien être à l’extérieur de l’arborescence du site, pour des raisons de sécurité évidentes :
# mkdir documents
Définir les permissions du répertoire :
# chown -R apache:apache documents/ # chmod 0750 documents/
Créer un hôte virtuel, comme ceci par exemple :
# /etc/httpd/extra/https-ssl.conf ... # https://compta.slackbox.fr <VirtualHost 195.154.65.130:443> # HSTS Header always set Strict-Transport-Security \ "max-age=63072000; includeSubDomains" DocumentRoot "/srv/httpd/vhosts/slackbox-dolibarr/htdocs" ServerName compta.slackbox.fr:443 ServerAdmin info@microlinux.fr ErrorLog "/var/log/httpd/compta.slackbox.fr-error_log" TransferLog "/var/log/httpd/compta.slackbox.fr-access_log" SSLEngine on SSLCertificateFile "/chemin/vers/cert.pem" SSLCertificateKeyFile "/chemin/vers/privkey.pem" SSLCertificateChainFile "/chemin/vers/chain.pem" <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog "/var/log/httpd/ssl_request_log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost>
En passant, on peut définir une redirection pour que toutes les connexions se fassent en HTTPS, c’est plus propre :
# /etc/httpd/extra/httpd-vhosts.conf ... # Redirection HTTPS pour compta.slackbox.fr <VirtualHost *:80> ServerName compta.slackbox.fr Redirect / https://compta.slackbox.fr </VirtualHost>
Redémarrer Apache :
# /etc/rc.d/rc.httpd restart
Pointer le navigateur sur l’URL de l’application et suivre les instructions de l’installateur. Je ne fournis pas ici d’instructions détaillées, je relève juste sommairement les étapes de l’installation :
- Sélectionner la langue (French).
- Vérifier si tous les prérequis techniques sont remplis.
- Vérifier les chemins d’accès vers le site et les documents.
- Cocher Forcer les connexions sécurisées (HTTPS).
- Saisir l’identifiant et le mot de passe de l’utilisateur MySQL.
- Définir un identifiant et un mot de passe pour l’utilisateur Dolibarr.
Une fois l’installation terminée, on peut la verrouiller comme ceci :
# cd /var/www/vhosts/slackbox-dolibarr/documents # touch install.lock # chown apache:apache install.lock # chmod 0440 install.lock
Accéder à l’interface d’administration et procéder à la configuration de base. Saisir au minimum le nom de la société et le pays où elle est implantée, et activer les modules dont on a besoin. Voici comment se présente notre application :
Mise à jour
Vérifier si l’installation existante comporte un fichier install.lock
et supprimer ce fichier le cas échéant.
# cd /var/www/vhosts/slackbox-dolibarr/documents # rm install.lock
Récupérer la dernière version de Dolibarr :
# cd ~/webapps/dolibarr # links http://www.dolibarr.fr
Là encore, suivre les liens Téléchargements > Espace téléchargement Sourceforge > Files > Dolibarr ERP-CRM > 4.0.4 > dolibarr-4.0.4.tgz > direct link > Enregistrer > OK.
Quitter Links et décompresser l’archive téléchargée à la racine des hôtes virtuels :
# cd /var/www/vhosts # tar xvzf /root/webapps/dolibarr/dolibarr-4.0.4.tgz
Recopier les nouveaux fichiers dans le répertoire dolibarr-x.y.z
vers le répertoire contenant l’ancienne version de Dolibarr. Ceci a pour effet de remplacer les anciens fichiers par les nouveaux, tout en conservant les fichiers qui sont spécifiques à l’installation, comme le fichier conf.php
ou encore les modules complémentaires installés. Au cas où la commande cp
comporte un alias vers cp -i
, on utilisera l’astuce suivante pour éviter la confirmation pour chaque fichier :
# scp -r dolibarr-x.y.z/* slackbox-dolibarr/
À partir de là, on pourra supprimer l’arborescence initiale :
# rm -rf dolibarr-x.y.z/
Régler les droits d’accès et les permissions de fichiers :
# chown -R apache:apache slackbox-dolibarr/ # find slackbox-dolibarr/ -type d -exec chmod 0750 \{} \; # find slackbox-dolibarr/ -type f -exec chmod 0640 \{} \;
Pointer le navigateur sur la page d’installation, dans le sous-répertoire install
:
https://chemin_vers_dolibarr/install/
Choisir Mise à jour dans le menu proposé, en respectant les versions intermédiaires, et lancer les étapes de migration successives. Une fois la mise à jour terminée, verrouiller le répertoire d’installation :
# touch documents/install.lock # chown apache:apache documents/install.lock # chmod 0440 documents/install.lock
Vérifier les droits d’accès du fichier de configuration et les modifier le cas échéant :
# chmod 0440 htdocs/conf/conf.php
Installer le module Multi-société
Créer un répertoire custom
qui contiendra les modules tiers :
# mkdir htdocs/custom
Éditer le fichier htdocs/conf/conf.php
et définir le chemin vers les modules.
Il suffira éventuellement de décommenter les deux lignes correspondantes :
$dolibarr_main_url_root='http://myserver'; $dolibarr_main_document_root='/path/of/dolibarr/htdocs'; $dolibarr_main_url_root_alt='http://myserver/custom'; $dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'; ...
Décompresser le module :
# unzip module_multicompany_3.4.0.zip
Déplacer l’arborescence résultante vers l’endroit approprié :
# mv multicompany/ chemin_vers_dolibarr/htdocs/custom/
Régler les droits d’accès :
# chown -R apache:apache chemin_vers_dolibarr/htdocs/custom/
Élargir la colonne des libellés
Lorsqu’on affiche la liste des Produits ou des Services, la colonne Libellé n’est pas assez large pour afficher certains produits dont la dénomination est plus longue. Pour remédier à cela, on peut aller dans htdocs/product
et éditer le fichier list.php
, en remplaçant la valeur maximale 40 par une valeur supérieure, comme ceci par exemple :
// Label if (! empty($arrayfields['p.label']['checked'])) { print '<td>'.dol_trunc($objp->label,60).'</td>'; }