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