Dolibarr logoCet article décrit l’installation et la maintenance de Dolibarr sur un serveur dédié tournant sous Rocky Linux 8. 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.

La procédure d’installation présentée ici comporte quelques améliorations par rapport à la documentation officielle, notamment en termes de sécurité.

Prérequis

En dehors des paquets de base de PHP, Dolibarr a besoin de quelques modules supplémentaires :

# dnf install -y php-gd php-intl php-pecl-zip
# systemctl reload httpd php-fpm

ImportantCurieusement, les versions de Dolibarr supérieures à 16.0.0 introduisent une dépendance à php-imap, un module PHP obsolète. Sans trop rentrer dans les détails, le module en question dépend d’un composant logiciel qui n’est plus maintenu depuis 2007. En attendant de percer ce mystère, j’opte pour la branche 14.x de Dolibarr qui constitue une version LTS officieuse.

Configuration de SELinux

L’utilisation de SELinux en mode renforcé (Enforcing) améliore de façon significative la sécurité de notre installation Dolibarr, mais elle nécessite de procéder à quelques petits ajustements.

Étant donné que nous installons Dolibarr en-dessous de /var/www, tous les fichiers nouvellement créés seront correctement étiquetés httpd_sys_content_t. Rien à signaler de ce côté-là.

Dolibarr doit pouvoir envoyer des mails via Postfix, ce qu’il faut explicitement autoriser :

# setsebool -P httpd_can_sendmail on

Apache possède les droits d’écriture sur le répertoire documents ainsi que sur le fichier htdocs/conf/conf.php. Ces droits d’écriture seront définis par le biais des permissions Unix classiques, mais il faut également le spécifier du côté de SELinux :

# setsebool -P httpd_unified on

Notons au passage que la documentation officielle attribue à la louche les droits d’écriture d’Apache et ne fait aucune mention de l’autorisation d’envoi de mails.

AstucePour afficher la liste complète des booléens SELinux personnalisés, on pourra utiliser la commande semanage boolean -lC.

Téléchargement

Créer un répertoire de téléchargement en un endroit approprié et utiliser le lien de téléchargement direct pour récupérer l’archive :

# mkdir -pv ~/webapps/dolibarr
mkdir: created directory '/root/webapps/dolibarr'
# cd ~/webapps/dolibarr/
# wget https://www.dolibarr.org/files/stable/standard/dolibarr-14.0.5.tgz

AstuceLe projet Dolibarr utilise le site de SourceForge par défaut, qui est une véritable plaie pour la navigation. Curieusement, le lien de téléchargement direct n’est mentionné nulle part dans la documentation. Allez comprendre.

Installation

Créer la base de données :

# mysql -u root -p
Enter password: **********
Welcome to the MariaDB monitor.

MariaDB [(none)]> create database `slackbox-dolibarr`
    -> character set utf8
    -> collate utf8_unicode_ci;
Query OK, 1 row affected (0.001 sec)

MariaDB [(none)]> grant all on `slackbox-dolibarr`.*
    -> to slackboxuser@localhost
    -> identified by '**********';
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> quit;
Bye

AstuceLe jeu de caractères (character set) c’est l’ensemble des caractères autorisés dans les données des tables. Quant aux critères de classement (collate), c’est la politique de tri entre les caractères.

Décompresser l’archive téléchargée à la racine des hôtes virtuels :

# cd /var/www/
# tar xzf ~/webapps/dolibarr/dolibarr-14.0.5.tgz

Renommer en fonction de l’hébergement :

# mv -v dolibarr-14.0.5/ slackbox-dolibarr
renamed 'dolibarr-14.0.5/' -> 'slackbox-dolibarr'

La documentation officielle préconise l’attribution de l’ensemble des fichiers à l’utilisateur et au groupe système auquel appartient le processus httpd, ce qui n’est pas optimal en termes de sécurité. Nous allons donc attribuer ces fichiers à l’utilisateur nobody et au groupe correspondant, en limitant les droits d’écriture d’Apache aux fichiers et aux répertoires pour lesquels cela est strictement nécessaire :

# chown -R nobody:nobody slackbox-dolibarr/
# find slackbox-dolibarr/ -type d -exec chmod 0755 {} \;
# find slackbox-dolibarr/ -type f -exec chmod 0644 {} \;

Créer un fichier de configuration vide :

# cd slackbox-dolibarr/
# touch htdocs/conf/conf.php

Dolibarr doit pouvoir écrire dans ce fichier :

# chown nobody:apache htdocs/conf/conf.php
# chmod 0660 htdocs/conf/conf.php

Créer le répertoire qui servira aux documents générés ou stockés par Dolibarr. Pour des raisons de sécurité évidentes, il se situe à l’extérieur de l’arborescence du site :

# mkdir documents

Dolibarr doit pouvoir accéder à ce répertoire en écriture :

# chown nobody:apache documents/
# chmod 0770 documents/

Pointer le navigateur sur l’URL de l’installateur, en l’occurrence https://gestion.slackbox.fr/install. 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 (Français).
  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. Définir le nom de la base de données.
  6. Saisir l’identifiant et le mot de passe de l’utilisateur MySQL.
  7. 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/slackbox-dolibarr/documents/
# touch install.lock
# chmod 0400 install.lock

À ce stade, Apache n’a plus besoin d’écrire dans le fichier htdocs/conf/conf.php :

# cd ..
# chown nobody:nobody htdocs/conf/conf.php
# chmod 0644 htdocs/conf/conf.php

Accédez à l’interface d’administration et procédez à la configuration de base :

Dolibarr configuration

  • Saisissez au minimum le nom de la société et le pays où elle est implantée.
  • Activez les modules dont vous avez besoin.

La mise à jour de Dolibarr fera l’objet de notre prochain article.


La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse.

&nbsp


2 commentaires

pascal · 31 décembre 2023 à 18 h 40 min

Bonjour, il ya une petite coquille : mkdir -pv ~/webapps/wordpress au lieu de mkdir -pv ~/webapps/dolibarr

    kikinovak · 31 décembre 2023 à 21 h 53 min

    Corrigé, merci !

Laisser un commentaire

Emplacement de l’avatar

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