Installation de dolibarr
Vous avez installé une Debian 10 et toutes ses mises à jour
Il faut être admin pour lancer certaines commandes, utilisées sudo ou passer admin avant de lancer les commandes comportant un dièze (#)
sudo commande
su -
pour passer admin provisoirementsu -l root -c "votre commande"
l’alternative pour ne pas rester connecté en root
Nous allons installer les paquet prérequis au fonctionnement de Dolibarr
apt install apache2 mariadb-server php php-gd php-curl php-intl php-zip php-mysql
Nous allons sécuriser la base
mysql_secure_installation
- Il vous demande le mot de passe actuel, cliquez sur entrée
- Il souhaite savoir si vous souhaitez mettre un mot de passe au compte root entrez y puis appuyez sur entrée Entrez votre mot de passe à deux reprises
- Il indique que par défaut MariaDB contient un utilisateur anonyme permettant à tout le monde de se connecter et demande si vous souhaitez le supprimer entrez y puis appuyez sur la touche entrée
- Il demande si vous souhaitez désactiver l’accès à distance au compte root entrez y puis appuyez sur la touche entrée
- Il souhaite savoir si vous souhaitez supprimer l’environnement de test créer par défaut entrez y puis appuyez sur la touche entrée
- Souhaitez vous appliquer ces changements entrez y puis appuyez sur la touche entrée
Entrez dans la base
mysql -u root
La création de l’utilisateur et de la base servira lors du paramétrage de Dolibarr via l’interface web
CREATE DATABASE dolibarr DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE USER 'dolibarr'@'localhost' IDENTIFIED BY 'mot_de_passe';
GRANT ALL PRIVILEGES ON dolibarr.* TO 'dolibarr'@'localhost';
FLUSH PRIVILEGES;
Attention à bien respecter l’encodage de la base, sinon lors de la configuration, au moment du remplissage de la base vous pourrez tomber sur l’erreur suivante Erreur SQL DB_ERROR_1071 Specified key was too long; max key length is 767 bytes
Allez à cette adresse Dolibarr puis dans le dossier de la dernière version et copier le lien du fichier .tgz. Voici le lien de la version actuelle lors de la rédaction de l’article : dolibarr-13.0.2.tgz Entrez la commande suivante sur le serveur
curl -SL "https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/13.0.2/dolibarr-13.0.2.tgz/download" --output dolibarr-13.0.2.tgz
Voici l’explication des options CURL
-
S affichent les erreurs
-
L suit les redirections pour télécharger le fichier final
Nous allons créer le répertoire dolibarr dans /var/www
mkdir /var/www/dolibarr
Vous allez extraire dolibarr dedans, –strip-components=1 sert à supprimer le répertoire parent de l’archive qui regroupe tous les fichiers
tar xzf dolibarr-13.0.2.tgz -C /var/www/dolibarr --strip-components=1
Vous allez modifier le propriétaire du dossier dolibarr, on attribue le dossier à l’utilisateur et au groupe www-data qui sont utilisé pour le fonctionnement d’apache
chown -R www-data: /var/www/dolibarr/
- Accès depuis l’extérieur
Entrez la ligne suivante dans le terminal pour créer un virtualhost dolibarr.conf
echo -e "<VirtualHost *:80>\nServerName dolibarr.mondomaine.net\nServerAdmin webmaster@localhost\nDocumentRoot /var/www/dolibarr/htdocs\nDirectoryIndex index.php\nErrorLog \${APACHE_LOG_DIR}/dolibarr-error.log\nCustomLog \${APACHE_LOG_DIR}/dolibarr-access.log combined\n</VirtualHost>\n">/etc/apache2/sites-available/dolibarr.conf
Modifier dans /etc/apache2/site-available/dolibarr.conf dolibarr.mondomaine.net par votre domaine puis webmaster@localhost par votre mail de contact.
Entrez la commande suivante pour activer la configuration du site dolibarr et réactualisé apache
a2ensite dolibarr && systemctl reload apache2
- Accès depuis le réseau interne
- Entrez la ligne suivante dans le terminal pour modifier le virtualhost par défaut
sed -i 's+DocumentRoot /var/www/html+DocumentRoot /var/www/dolibarr/htdocs\n DirectoryIndex index.php+' /etc/apache2/sites-available/000-default.conf
Entrez la commande pour prendre en compte les modifications
systemctl reload apache2
Le ssl est un prérequis pour passer en HTTPS, le rewrite permet de faire la redirection des utilisateurs du HTTP vers le HTTPS (option –redirect de certbot plus bas)
a2enmod ssl rewrite
on installe certbot pour la génération du certificat Lets Encrypt, le module python sert pour la liaison apache certbot
apt install certbot python3-certbot-apache
Cette commande va générer le certificat et dupliqué le virtualhost dolibarr.conf (crée plus haut) en dolibarr-le-ssl.conf et le modifier pour qu’il devienne un virtualhost SSL pour l’accès en HTTPS. Il va ajouter une redirection dans le virtualhost HTTP (dolibarr.conf) pour renvoyer toutes les requêtes vers le HTTPS (dolibarr-le-ssl.conf)
certbot run --apache --agree-tos --redirect -m webmaster@localhost --no-eff-email -d dolibarr.mondomaine.net --rsa-key-size 4096
Si vous ne souhaitez pas indiquer de mail remplacer -m webmaster@localhost –no-eff-email par –register-unsafely-without-email Attention le mail vous permet de recevoir les informations liées à une révocation de votre certificat et permettra surement d’être reconnu lorsque vous les contacterez en cas de souci
Explication des options :
- run lance cerbot par défaut, car plusieurs options sont disponibles
- –apache indique que la configuration se fera avec apache
- –agree-tos indique que l’on accepte les conditions d’utilisation
- –redirect indique que l’on veut faire une redirection du HTTP vers le HTTPS, le site ne sera accessible que depuis le HTTPS (utilisation du module rewrite d’apache vu plus haut)
- -m webmaster@localhost –no-eff-email indique notre mail, mais refuse que l’on enregistre cet email au prêt de l’EFF (l’Electronic Frontier Foundation)
- -d dolibarr.mondomaine.net on souhaite avoir un certificat pour le sous domaine dolibarr
- –rsa-key-size 4096 indique la taille de la clé souhaitée
Afin de respecter les normes, il est possible d’ajouter l’enregistrement DNS suivant chez votre hébergeur. Cela permet d’indiquer que Lets encrypt est le seul autorisé à délivrer un certificat au sous-domaine dolibarr
Voici l’article CAA
Voici à quoi ressemble la ligne chez bookmyname
dolibarr 28800 CAA 0 issue "letsencrypt.org"
Le renouvellement des certificat est automatique, il se fait via un cron qui est dans /etc/cron.d/certbot qui s’execute tout les 12h