Être Admin sur Dolibarr

vps, linux, dolibarr

Les données d’un ERP en entreprise sont très sensibles. Ce post ne prétend pas remplacer le choix raisonnable de faire appel à une personne compétente mais plutôt d’avoir un regard libriste sur un environnement à responsabilité de ses propres métrics business mais aussi de ses fichiers clients. Veuillez aussi apprécier les erreurs qui aurait put se glisser ici et là et de ré ajuster certaines commandes par rapport à vos besoins.

Dolibarr un ERP libre

Logiciel de gestion de votre activité professionnelle ou associative pour petites entreprises, auto-entrepreneurs, associations. Je l’ai remarqué en cherchant un logiciel libre et made in France qui s’engage vers la réglementation de la loi finance et ou NF525 pour les logiciels de facturation qui rentrera en vigueur le 1er janvier 2018. L’association Dolibarr organise beaucoup de DevCamp et un horizon d’espoirs se dessine. Je vous laisse creuser les différents sites de la communauté, passons dans le vif du sujet.

Le choix de la distribution

Pour accueillir Dolibarr le choix le plus classique ce porte souvent vers une Debian. Un environnement bien connu, stable et polyvalent mais surtout avec une forte communauté. Il y a de nombreux tuto, wiki ou même de video YouTube de toutes sorte sur cet environnement. L’ERP/CRM Dolibarr a besoins de PHP et Mysql. Pour plusieurs raisons j’ai dut opter pour un PHP7.0 avec Nginx.

apt-get install mysql-server mysql-client php7.0 php7.0-common php7.0-gd php7.0-mysql php7.0-imap php7.0-cli php7.0-curl php7.0-mcrypt php7.0-imagick php7.0-sqlite3 php7.0-fpm php7.0-memcached php7.0-xmlrpc php7.0-geoip php7.0-intl php7.0-mbstring php7.0-zip php7.0-xml php7.0-json php7.0-soap

noté bien qu’il s’agit des paquets minimums, n’oublier pas php7-soap si vous voulez pouvoir avoir recoure à des modules de synchronisation tiers de type prestashop ou une application mobile par exemple.

Configuration serveur Nginx

On y renseignera aussi le certificat ssl et les autre aspect spécifique de votre infrastructure site, ici voyez un modèle de base.

nano /etc/nginx/sites-available/dolibarr.conf

server {
        listen 80;
        #listen [::]:80; #IPv6

        listen 443 ssl default_server;
        #listen [::]:443 ssl default_server; #IPv6
        ssl_certificate /etc/letsencrypt/live/domain.tld/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/domain.tld/privkey.pem;

        server_name domain.tld www.domain.tld;
        root /usr/share/nginx/html/dolibarr/;
        index htdocs/index.php index.php;

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

        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
        }
}

La valeur htdocs/index.php viendra chercher l’index.php directement comme un répertoire racine.

vérifier la configuration d’nginx

on valide la configuration du site dolibarr

ln -s /etc/nginx/sites-available/dolibarr.conf /etc/nginx/sites-enabled/

nginx -t
# nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
# nginx: configuration file /etc/nginx/nginx.conf test is successful

On relance nginx avec la commande

service nginx restart

Installation de Dolibarr 5.x.x

J’ai pris pour habitude de travailler dans le répertoire /var/www/
Télécharger Dolibarr en local et l’envoyer sur le VPS.

commande a exécuté sur votre machine en locale

scp -P 8899 dolibarr-X.X.X.tar.gz votre-user@ip-du-vps:/home/votre-user
ajuster 8899 avec la valeur de votre port ssh (22 par défaut)
vérifier le avec cette commande /etc/ssh/sshd_config | grep Port` sur le serveur

retour sur le VPS, on décompresse et déplace le dossier dolibarr

mkdir /var/www/dolibarr
tar zxvf dolibarr-X.X.X.tar.gz
cp -r /dolibarr-X.X.X/* /var/www/dolibarr
#Envoyer le dossier contenant notre site vers le dossier actif de Nginx.
ln -s /var/www/dolibarr /usr/share/nginx/html/

Il ne reste plus qu’à pointer votre navigateur sur votre nom de domaine domain.tld/install/install.php

rappelle de la configuration Mysql

Fixé la sécurité de dolibarr post install

chown -R votre-user:www-data /var/www/dolibarr
touch /var/www/html/dolibarr/documents/install.lock
chmod 400 /var/www/html/dolibarr/htdocs/conf/conf.php
find /var/www/html/dolibarr/ -type d -exec chmod 755 {} \;
chmod -R 400 install/

surveiller les processus lié à nginx

lsof /var/log/nginx/access.log
ps aux | grep nginx
lsof -p 80

configuration/email avec un mail OVH

Méthode d'envoi des emails: SMTP/SMTPS socket library
Nom d'hôte ou adresse IP du serveur SMTP/SMTPS: ssl0.ovh.net
Port du serveur SMTP/SMTPS: 587
Identifiant d'authentification SMTP: monadresse@domain.tld
Mot de passe d'authentification SMTP si authentification SMTP requise: mdp
Utilisation du chiffrement TLS (SSL): Non
Adresse email de l'émetteur pour l'envoi d'emails automatiques: monadresse@domain.tld
Adresse email utilisée pour les retours d'erreurs des emails envoyés: monadresse@domain.tld
Utilisation du chiffrement TLS (SSL): NON (donc 587) et si OUI (465)

Créer une tache crontab pour les sauvegardes

Créer un fichier .my.cfn dans le répertoire root

nano .my.cfn

[mysqldump]
user=root
password=mdproot

Cette tache se connecter en root au serveur MySQL il crée un “dump” en règle avec dolibarr et le compresse avec gzip et le renomme avec la date du jour dans le répertoire /var/www/html/dolibarr/documents/admin/backup/ et lui applique les droits du groupe www-data. Il va aussi chercher le dossier /var/www/html/dolibarr/documents/ qui contient les dump, le compresser en tar.bz2 et lui ajoute la date du jour dans le répertoire /home/votre-user/backups/. Il écrit ensuite un log basique dans /var/log/dolibarr-documents_backup.log.

## check in: /home/votre-user/backup/fichier.tar.gz and db inside the tar.gz /documents/admin/backup !need .my.cnf!
22 3 * * * mysqldump -h 127.0.0.1 -P 3306 dolibarr -l --single-transaction -K --add-drop-table=TRUE --tables -c -e --hex-blob --default-character-set=utf8 | gzip > /var/www/html/dolibarr/documents/admin/backup/mysqldump_dolibarr_5.x.x_`date +\%Y-\%m-\%d-\%H.\%M`.sql.gz && find /var/www/html/dolibarr/documents/admin/backup -type f -exec chown votre-user:www-data {} \; && tar jcvf /home/votre-user/backups/doli_documents_`date +\%Y-\%m-\%d_\%H-\%M`.tar.bz2 /var/www/html/dolibarr/documents/ && echo "$(date): Backup /var/www/html/dolibarr/documents/ to /home/votre-user/backups/doli_documents_YYYY-MM-DD_HH-MM.tar.gz" >> /var/log/dolibarr-documents_backup.log

cette seconde tache cron vient faire une peu le ménage dans les dump et les dossiers Documents compressés plus vieux de 15 jours.

33 3 * * * find /var/www/html/dolibarr/documents/admin/backup/mysqldump_* -mtime +15 -exec rm {} \; && find /home/votre-user/backups/doli_* -mtime +15 -exec rm {} \; && echo "$(date): REMOVED old files inside /var/www/html/dolibarr/documents/admin/backup/ and /home/votre-user/backups/" >> /var/log/dolibarr-documents_backup.log

On peut vérifier nos taches cron avec les commandes

cat /var/log/dolibarr-documents_backup.log
# ou les analysés live avec un tail
tail -f /var/log/syslog | grep CRON

Mise à jour de Dolibarr

C’est souvent une bonne idée et c’est très souvent recommandé d’activer le module Syslog : Configuration > Modules > Journaux et traces
Consultation live dans les moments souhaités:
tail -f /var/www/html/dolibarr/documents/dolibarr.log

Télécharger le zip dolibarr dans la version souhaitée et l’envoyer sur le VPS pour procéder à l’installation.

#local
scp -P 8899 dolibarr-x.x.x votre-user@ip-du-vps:/home/user/file
#sur le vps
cd /home/user/file
tar zxvf dolibarr-x.x.x
cp -r dolibarr-x.x.x/* /var/www/html/dolibarr/

mv /var/www/html/dolibarr/documents/install.lock /var/www/html/dolibarr/documents/install.lock.bk && chmod -R 757 /var/www/html/dolibarr/htdocs/conf/conf.php && chomd -R 770 /var/www/html/dolibarr/htdocs/install

les fichiers sont mis à jour, il faut renseigner MySQL.
Pointé voter navigateur sur votre dolibarr https://monsite.com/htdocs/install/
puis choisir l’option de mise à jour qu’il vous convient, par rapport aux bonds de version.

mv /var/www/html/dolibarr/documents/install.lock.bk /var/www/html/dolibarr/documents/install.lock && chmod -R 400 /var/www/html/dolibarr/htdocs/conf/conf.php && chomd -R 400 /var/www/html/dolibarr/htdocs/install

Votre Dolibarr est à jour!

Share
48.136766; -3.867187
vps, linux, dolibarr

© 2017 Jekyll hack mostly crafted on my couch while having a nice cup of tea