Nous allons installer Dolibarr sur un VPS OVHCloud dédié à cette utilisation.

Ce tutoriel se concentre volontairement sur les actions minimum pour obtenir un Dolibarr en ligne. Certains aspects concernant la sécurisation ne sont pas abordés.

1. Connexion au compte root

Pour administrer le VPS, vous devez vous connecter au compte root.

(Beaucoup de tutoriels sur internet présentent les commandes à taper préfixées de la commande sudo afin de préciser que la commande se lance sous le compte root. Je ne vais préfixer aucune commande de sudo, si vous suivez le tutoriel dans l’ordre, il n’y aura aucun soucis.)

Pour vous connecter au compte root des VPS OVH, vous devez passer par le compte intermédiaire debian (pour le cas des distributions Debian).

Si vous travaillez sous Windows, je vous invite à utiliser Putty pour vous connecter par le protocole SSH au VPS. Vous pouvez sans doute utiliser aussi le Powershell.

Si vous êtes déjà sous Linux ou Mac, c’est nettement plus simple, vous lancez juste un terminal :

ssh debian@vps-xxxxxxxx.vps.ovh.net

Puis passez root :

sudo su -

2. Mettez à jour le système

Avant de continuer, on va mettre à jour le système fraîchement installé et le redémarrer :

2.1 Mise à jour des index des paquets logiciels

apt update

2.2 Mise à jour des paquets

apt upgrade

2.3 Redémarrage

On redémarre le VPS et on attend une minute avant de se reconnecter en root :

reboot

3. Installation du service de base de données MariaDB (anciennement MySQL)

Dolibarr aura besoin d’enregistrer une partie de ses données en base de données. Voici comment préparer le service de base de données.

3.1 Connectez-vous de nouveau serveur en tant que root.

ssh debian@vps-xxxxxxxx.vps.ovh.net
sudo su -

3.2 Installez les paquets de base de données

apt install mariadb-server

Note importante : dans beaucoup de tutoriels sur internet, vous trouverez des exemples qui proposent de lancer la commande mysql_secure_installation. Cette commande ne sert, a priori, à rien sur Debian 10. Le service installé par défaut est déjà sécurisé. Il n’y a pas de bases de données « test », il n’y a pas de compte anonyme. Le compte root du système est autorisé à se connecter en root de façon sécurisée sur MariaDB par socket et sans mot de passe, c’est très bien comme ça.

3.3 Créez un utilisateur pour Dolibarr dans MariaDB

3.3.1 Connexion à l’utilisation root de MariaDB

Note important : l’utilisateur root de MariaDB n’a rien à voir avec l’utilisateur root du système.

mysql -u root mysql

3.3.2 Création de la base de données dolibarr

Sous le prompt de MariaDB, tapez ces commandes suivantes :

CREATE DATABASE dolibarr CHARACTER SET utf8 COLLATE utf8_unicode_ci;

3.3.3 Création de l’utilisateur dolibarr

Inventez un mot de passe pour l’utilisateur dolibarr et notez-le pour plus tard.

Attention ! Remplacez mot_de_passe dans ce qui suite par un mot de passe !

CREATE USER 'dolibarr'@'localhost' IDENTIFIED BY 'mot_de_passe';
GRANT ALL PRIVILEGES ON dolibarr.* TO 'dolibarr'@'localhost';
FLUSH PRIVILEGES;

3.3.4 Quittez le prompt MariaDB

\q

4. Installez PHP

apt install php-fpm php-curl php-intl php-mbstring php-gd php-zip php-xml php-mysql php-soap

5. Installez le service web NGINX

apt install nginx-extras

6. Créez un compte utilisateur système pour dolibarr

Nous allons organiser les répertoires de façon à être un peu tout-terrain comme si on pourrait avoir d’autres applications et en séparant l’exécution de dolibarr sous son propre utilisateur.

6.1 Création des répertoires d’accueil

mkdir -p /var/www/users/dolibarr /var/www/users/dolibarr/tmp /var/www/users/dolibarr/app /var/www/users/dolibarr/home

6.2 Création de l’utilisateur

useradd dolibarr --home /var/www/users/dolibarr/home --gid users --shell /bin/bash

6.3 Attributions des droits et des accès aux répertoires

chmod 0751 /var/www/users
chmod 0701 /var/www/users/dolibarr /var/www/users/dolibarr/app
chmod 0700 /var/www/users/dolibarr/home /var/www/users/dolibarr/tmp
chown dolibarr /var/www/users/dolibarr/home /var/www/users/dolibarr/tmp /var/www/users/dolibarr/app

7. Téléchargement et décompression de Dolibarr (11.0.4)

On passe sous l’utilisateur dolibarr pour télécharger et décompresser pour on revient root :

su - dolibarr
wget https://netcologne.dl.sourceforge.net/project/dolibarr/Dolibarr%20ERP-CRM/11.0.4/dolibarr-11.0.4.tgz
tar xvzf dolibarr-11.0.4.tgz -C /var/www/users/dolibarr/app
exit

8. Création d’un lien symbolique vers le bon répertoire de l’application

Ce lien sera utilisé par le service web pour trouver le répertoire de l’application. Dans un contexte d’installation d’autres applications, ce système serait adaptable pour d’autres applications qui auraient une structure différente.

ln -s /var/www/users/dolibarr/app/dolibarr-11.0.4/htdocs /var/www/users/dolibarr/web

9. Configuration du pool PHP pour dolibarr

Éditez un nouveau fichier :

nano /etc/php/7.3/fpm/pool.d/dolibarr.conf

Puis mettez ce contenu :

[dolibarr]
user = dolibarr
group = users
listen = /var/run/php7-fpm-dolibarr.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0666
pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5
pm.max_requests = 1000
catch_workers_output = yes
security.limit_extensions = .php
php_value[include_path] = .
php_admin_value[max_input_time] = 180
php_admin_value[memory_limit] = 256M
php_admin_value[open_basedir] = /var/www/users/dolibarr/web/:/var/www/users/dolibarr/tmp/:/tmp/
php_admin_value[upload_tmp_dir] = /var/www/users/dolibarr/tmp/
php_admin_flag[allow_url_fopen] = off

Sauvegardez le fichier : ctrl-X puis Y et entrée

Relancez php-fpm :

systemctl restart php7.3-fpm

10. Configurez NGINX

On va ici configurer simplement dans un but éducatif (pas de SSL ni de virtual host).

On efface le fichier par défaut :

rm /etc/nginx/sites-available/default

On édite le fichier de configuration par défaut de NGINX :

nano /etc/nginx/sites-available/default

On met ceci dans l’éditeur :

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.html index.htm;
    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }

    location /dolibarr {
        alias /var/www/users/dolibarr/web;
        index index.php;
        location ~ \.php(/.+)?$ {
            include /etc/nginx/fastcgi_params;
            include /etc/nginx/fastcgi.conf;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_pass  unix:/var/run/php7-fpm-dolibarr.sock;
            fastcgi_param SCRIPT_FILENAME $request_filename;
            fastcgi_intercept_errors on;
        }
    }

}

On enregistre avec ctrl-X et on relance NGINX :

systemctl restart nginx

11. Accès à Dolibarr

Utilisez votre navigateur en remplaçant le nom de votre VPS par le bon nom suivi de ‘/dolibarr’ :

http://vps-xxxxxxxx.vps.ovh.net/dolibarr/

11.1 Écran 1

11.2 Écran 2

11.3 Écran 3

11.4 Écran 4

11.5 Écran 5

11.6 Écran 6

11.7 Écran 7

11.8 Création du fichier install.lock

Depuis votre connexion SSH en tant que root sur le serveur :

su - dolibarr
touch /var/www/users/dolibarr/web/documents/install.lock
exit

11.9 Écran 8

Laisser un commentaire