Hébergement ERP/CRM Dolibarr sous Slackware

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 :

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 :

  1. Sélectionner la langue (French).
  2. Vérifier si tous les prérequis techniques sont remplis.
  3. Vérifier les chemins d’accès vers le site et les documents.
  4. Cocher Forcer les connexions sécurisées (HTTPS).
  5. Saisir l’identifiant et le mot de passe de l’utilisateur MySQL.
  6. 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>';
}
Ce contenu a été publié dans Documentation Microlinux, Slackware, avec comme mot(s)-clé(s) , , , , . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *