Outils pour utilisateurs

Outils du site


nethserver_201_cahier_01_nethserver_et_dolibarr

Table des matières



Description générale

Introduction

Le Cahier-01 du cours NethServer-201 présente l'installation et la configuration minimale de DolibarrERP & CRM version 9.0.1 sur un Serveur NethServer-7.6.1810. La sauvegarde et la restauration de la base de données sont aussi décrites de même que la mise à jour de Dolibarr-9.0.0, déjà installé sur un autre Serveur NethServer, vers Dolibarr-9.0.1.

Vu que nous pouvons avoir un site WEB tel qu'un site de Commerce en ligne dans le répertoire Web par défaut /var/www/html, nous installerons Dolibarr dans le sous-répertoire /var/www/html/dolibarr spécialement créé pour ce dernier.

Référence: http://www.dolibarr.fr/.
Dolibarr ERP & CRM est un logiciel moderne de gestion de votre activité professionnelle ou associative (contacts, factures, commandes, stocks, agenda, etc…). C'est un logiciel LIBRE et gratuit adapté pour les entreprises, auto-entrepreneurs ou associations. Vous pouvez l'installer et l'utiliser comme une application autonome ou en ligne sur un serveur mutualisé ou dédié afin d'y accéder depuis n'importe où. Dolibarr est également disponible comme solution prête à l'emploi dans des services Cloud.

Documentation

Pour plus d'information sur les fonctionnalités, la documentation et la FAQ sur le projet, voir la documentation wiki: https://wiki.dolibarr.org/index.php/Accueil.

But de ce cahier

Installer un site Dolibarr fonctionnel et sécurisé. Dolibarr peut être installé sur un Serveur NethServer physique ou virtuel, sur un réseau LOCAL ou sur un serveur directement branché à l'Internet. Les procédures sont exactement les mêmes.


Cours NethServer-101

Le Cours NethServer-101, se voulant une base solide pour la création d'un site de Commerce en ligne, comprend plusieurs cahiers:

  1. Cahier-01: → Les bases de Linux.
  2. Cahier-02: → Installation et configuration des logiciels prérequis sur le poste de travail.
  3. Cahier-03: → Création d'un Serveur NethServer virtuel.
  4. Cahier-04: → Serveur NethServer LOCAL & Let's Encrypt.
  5. Cahier-05: → FAI, modem VDSL, domaine FQDN1) et Serveur NethServer physique.
  6. Cahier-06: → Installation de WordPress.
  7. Cahier-07: → Installation de l'extension de sécurité Wordfence.
  8. Cahier-08: → WooCommerce, comptes chez Stripe et PayPal pour les paiements en ligne.
  9. Cahier-09: → Sauvegarde/restauration ou migration d'un site avec l'extension Duplicator.
  10. Cahier-10: → Serveur mandataire inversé.
  11. Cahier-11: → Sauvegarde/restauration avec BackupPC.

Cours NethServer-201

Le Cours NethServer-201 décrit l'installation et la configuration d'applications sur un serveur NethServer.

  1. Cahier-201-01: → Dolibarr.
  2. Cahier-201-02: → Odoo-12.
  3. Cahier-201-03: → MediaWiki.
  4. Cahier-201-04: → DokuWiki.
  5. Cahier-201-05: → Moodle.
  6. Cahier-201-06: → Proxmox.
  7. Cahier-201-07: → Flectra.

Logiciels

Tous les logiciels nécessaires sont du domaine public ou LIBRE sous licence GPL; ils ne coûtent pas un sou. Le seul achat nécessaire est l'obtention d'un nom de domaine au prix initial de $15 CAD et son renouvellement annuel d'environ $30 CAD.

But final

Après avoir suivi le Cours NethServer-101, vous posséderez un site de Commerce en ligne fiable et hautement sécuritaire. De plus, vous pourrez utiliser un clone de votre site, sur un Serveur NethServer virtuel roulant sur votre poste de travail, pour tester de nouvelles extensions et applications sans compromettre la sécurité ou l'intégrité de votre site en ligne.

Particularités de ce document

Notes au lecteur

* Les captures d'écrans ne sont que des références.
** Les informations écrites ont préséance sur celles retrouvées dans les captures d'écrans. Veillez vous référer aux différents tableaux lorsque ceux-ci sont présents.
*** Une capture d'écran avec une accentuation en magenta indique qu'il faut remplacer cette distinction par vos propres paramètres ou implique un choix laissé à votre appréciation.

Conventions

Manipulation, truc ou ruse pour se tirer d'embarras.
Une recommandation ou astuce.
Une note.
Une étape, note ou procédure à surveiller.
Paragraphe non complété ou non vérifié.
Danger pour la sécurité du système.

Toutes les commandes à la console ou à travers PuTTY sont précédées d'une invite qui est toujours présente.

[root@dorgee ~]# ping 10.10.10.75 -c1

PING 10.10.10.75 (10.10.10.75) 56(84) bytes of data.
64 bytes from 10.10.10.75: icmp_seq=1 ttl=64 time=1.63 ms

--- 10.10.10.75 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.639/1.639/1.639/0.000 ms
[root@dorgee ~]#
Commande à exécuter si ce n'est déjà fait.
Commande indiquée à titre d'information seulement.


À savoir

Ce que fait Dolibarr

Référence: http://wiki.dolibarr.org/index.php/Ce_que_fait_Dolibarr.

Dolibarr ERP & CRM est un logiciel modulaire (on n'active que les fonctions que l'on désire) de gestions de TPE/PME, d'indépendants, d'entrepreneurs ou d'associations. C'est un projet OpenSource/LIBRE qui s'exécute au sein d'un serveur Web et peut donc être accessible depuis n'importe quel lieu disposant d'une connexion Internet (Projet basé sur un serveur WAMP, MAMP ou LAMP: Apache, MySQL, PHP).

Dolibarr se démarque des autres suites de gestion d'entreprise par sa plus grande simplicité (règle des 3 S):

  1. Simple d'installation (choix: clé en main pour ceux qui ignorent comment installer un serveur Web ou une installation manuelle).
  2. Simple d'utilisation (fonctions modulaires pour ne pas surcharger les menus, avec des informations claires à la saisie).
  3. Simple pour le développement (pas de frameworks lourds). Dolibarr intègre sa propre architecture (design patterns) permettant à tout développeur d'être tout de suite opérationnel sans connaissances particulières autre que PHP.

Dolibarr est également disponible grâce à des auto-installeurs pour les utilisateurs sans connaissances techniques afin d'installer Dolibarr et tous ses pré-requis (Apache, Mysql, PHP) par un simple fichier auto-installable. Ces versions s'appellent:

  1. DoliWamp, un installeur auto-exe pour les utilisateurs Windows.
  2. DoliDeb, un installeur pour les utilisateurs LinuxDebian/Ubuntu.
  3. DoliRpm, un installeur pour les utilisateurs Linux RedHat/Fedora/OpenSuSE/Mandriva/Mageia.

La version standard est compatible avec tous les systèmes et la plupart des offres Cloud du marché.

Modules principaux (tous optionnels)

  1. Annuaire des prospects et/ou clients et/ou fournisseurs.
  2. Annuaire des contacts/adresses.
  3. Catalogue de produits et services.
  4. Gestion des stocks.
  5. Gestion des comptes bancaires.
  6. Gestion des commandes.
  7. Gestion des propositions commerciales.
  8. Gestion des contrats de services.
  9. Gestion des factures clients et fournisseurs.
  10. Gestion des paiements.
  11. Gestion des virements bancaires.
  12. Gestion des expéditions.
  13. Gestion des adhérents d'association.
  14. Gestion des congés des employés.
  15. Gestion des notes de frais.
  16. Gestion des charges sociales / TVA.
  17. Enregistrement des paiements des salariés.
  18. Agenda partagé.
  19. Point de vente/Caisse enregistreuse.
  20. Réalisation de sondages.
  21. Publipostage de masses vers les clients, prospects ou utilisateurs Dolibarr.
  22. Suivi des marges.
  23. Récolte de dons.
  24. Marque-pages.
  25. Rapports et statistique.
  26. Exportation PDF de tous les éléments (factures, propositions commerciales, commandes, bons d'expéditions, etc…)
  27. Importations et exportations (CSV ou Excel).
  28. Gestion de la TVA NPR (non perçue récupérable - pour les utilisateurs français des DOM-TOM).
  29. Connectivité LDAP.
  30. De nombreuses autres fonctionnalités issues de modules officiels ou non (AWStats, Bittorrent, Gravatar, Google, …)
  31. Extensibles par de nombreux autres modules issus de la place de marché https://www.dolistore.com/fr/.


Autres caractéristiques diverses

  1. Application multi-utilisateur avec différents niveaux de permissions par module.
  2. Plusieurs gestionnaires de menus (possibilité de différencier les menus pour le back-office des utilisateurs internes ou le front office pour les clients ou fournisseurs).
  3. Application simple à utiliser.
  4. Facilement personnalisable (activation uniquement des modules désirés, champs personnalisés, choix du thème, options diverses…).
  5. Disponibilité d APIs web service ouvertes (soap et rest).
  6. Fonctionne avec PHP 5.4.0+ (requires functions like DateTimeZone.getOffset), MySQL 5.0.3+, MariaDB 5.0.3 ou PostgreSql 8.1.4+.
  7. Programme d'auto-installation pour Windows, Debian/Ubuntu, Fedora/Redhat/OpenSuSE ou serveur dédié/mutualisé. Également compatible avec toute solution Cloud respectant les prérequis PHP, MySql, MariaDB ou PostgreSQL (Par exemple chez les fournisseurs Cloud suivants: saas.dolibarr.org).

Ce que ne fait pas Dolibarr

Référence: http://wiki.dolibarr.org/index.php/Ce_que_ne_fait_pas_Dolibarr.

Ces fonctionnalités ne sont pas disponibles, y compris dans les dernières versions.

  1. Dolibarr ne contient pas de module de Gestion de la paie. Un module Salaire permet la saisie et donc le suivi du paiement des salaires, mais il n'y a pas de fonction pour calculer et générer la feuille de paie.
  2. Les tâches du module de gestion de projets n'ont pas de dépendance entre elle.
  3. Dolibarr ne contient pas de Webmail.
  4. La comptabilité double-partie est en développement. La compta actuelle est donc de la gestion: de trésorerie, de paiements, de rapprochement bancaire mais pas de génération de documents officiels comptables.
  5. La gestion multi-société (plusieurs sociétés gérées avec une seule installation et partage d'éléments, comme les clients) nécessite d'installer Module MultiSociété disponible sur https://www.dolistore.com/fr/. A défaut, il est toujours possible de créer autant d'instances que de sociétés, mais il n'y aura pas de partages d'information (tel le partage des clients comme on peut le faire avec le module).
  6. Dolibarr ne fait pas le café (pas encore).

Documentation

Logiciels recommandés

Pour les logiciels recommandés à être installés sur le poste de travail, voir le Cahier-02: Installations & configurations des logiciels prérequis.

Prérequis

Prérequis pour Dolibarr

Fichier hosts du poste de travail

Afin de simuler les réponses aux requêtes DNS, on ajoute les CNAME de notre Serveur NethServer au fichier hosts du poste de travail: C:\Windows\System32\drivers\etc\hosts. Voir la section Poste de travail dans le Cahier-03: Création d'un serveur NethServer virtuel du “Cours NethServer-101”.

Serveur NethServer

Pour l'installation d'un Serveur NethServer, voir le Cahier-03: Création d'un serveur NethServer virtuel du “Cours NethServer-101”.

Mise à jour

Avant de commencer quoi que ce soit, il est toujours préférable de mettre à jour le Serveur NethServer.

Pour une mise à jour d'un Serveur NethServer, voir la section Mises à jour des logiciels du Cahier-03: Création d'un serveur NethServer virtuel du “Cours NethServer-101”.

Certificat Let's Encrypt

Si on veut que notre Serveur NethServer soit pris au sérieux, il est préférable d'installer un certificat SSL gratuit de Let's Encrypt. Le serveur peut être virtuel ou physique sur un réseau LOCAL et accessible ou non depuis l'Internet. Voir le Cahier-4: NethServer LOCAL & Certificat Let's Encrypt du “Cours NethServer-101”.

Pour un Serveur NethServer physique ou virtuel directement accessible depuis l'Internet voir le Cahier-05: VDSL, FQDN, Internet et NethServer du “Cours NethServer-101”.

ClamAV

Référence: https://wiki.nethserver.org/doku.php?id=clamscan.
Il n'y a pas beaucoup de virus conçus pour les distributions Linux et, par conséquent, la plupart des utilisateurs de tels systèmes ne se donnent pas la peine d'utiliser un logiciel antivirus. Toutefois, ceux qui souhaitent pouvoir analyser leur système, ou d’autres systèmes Windows connectés sur un PC Linux via un réseau, peuvent utiliser ClamAV. ClamAV est un moteur antivirus LIBRE conçu pour détecter les virus, les chevaux de Troie, les logiciels malveillants et autres menaces. Il prend en charge plusieurs formats de fichiers (documents, exécutables ou archives) et utilise des fonctionnalités de balayages en traitement multifil2) et reçoit les mises à jour de sa base de données de signatures au moins 3 à 4 fois par jour.

Installation du référentiel stephdl

Référence: https://wiki.nethserver.org/doku.php?id=stephdl_.

Si ce n'est déjà fait, vous devez installer le référentiel stephdl.

[root@tchana ~]# yum install -y  http://mirror.de-labrusse.fr/NethServer/7/x86_64/nethserver-stephdl-1.0.7-1.ns7.sdl.noarch.rpm

...
Transaction Summary
============================================================================================
Install  1 Package

Total size: 40 k
Installed size: 40 k
...
Installed:
  nethserver-stephdl.noarch 0:1.0.7-1.ns7.sdl

Complete!
[root@tchana ~]#

Vérification.

[root@tchana ~]# rpm -qa | grep stephdl

nethserver-stephdl-1.0.7-1.ns7.sdl.noarch
[root@tchana ~]#

Installation de ClamAV

[root@tchana ~]# yum install -y nethserver-clamscan --enablerepo=stephdl

...
Transaction Summary
============================================================================================
Install  1 Package  (+1 Dependent package)
Upgrade             ( 6 Dependent packages)

Total download size: 60 k
...
Installed:
  nethserver-clamscan.noarch 0:0.1.2-3.ns7.sdl

Dependency Installed:
  clamav-scanner-systemd.x86_64 0:0.101.2-1.el7

Complete!
[root@tchana ~]#

Mise à jour

On peut manuellement mettre à jour la BD des virus.

[root@tchana ~]# freshclam

ClamAV update process started at Fri April  19 15:13:40 2019
main.cvd is up to date (version: 58, sigs: 4566249, f-level: 60, builder: sigmgr)
daily.cld is up to date (version: 25442, sigs: 1564671, f-level: 63, builder: raynman)
bytecode.cvd is up to date (version: 328, sigs: 94, f-level: 63, builder: neo)
[root@tchana ~]#

Configuration

On se logue à l'interface Web du Serveur NethServer à: https://10.10.10.75:980.

Configuration → Scanner Antivirus → onglet Clamscan.

Activer l'analyse des fichiers système
On coche cette option.

On choisit l'heure de l'analyse.

Déplacer les fichiers détectés vers la corbeille
On coche cette option.

Oui, je suis totalement sûr
On coche cette option.

Comme on le voit, la BD des virus est à jour.

SOUMETTRE.


Onglet Détections, on prend les défauts.

Onglet Fichiers, on prend les défauts.

Onglet PUA, on prend les défauts.


- À l'onglet Quarantaine, on peut récupérer les fichiers qui ont généré une fausse alarme.

- Onglet Signatures, on prend les défauts

Lancement manuel d'un balayage

À la console du Serveur NethServer, on peut lancer un balayage en arrière-plan en ajoutant & à la fin de la commande de démarrage (prendra plusieurs minutes à terminer).

[root@tchana ~]# /sbin/e-smith/nethserver-clamscan &

[1] 25238
[root@tchana ~]#

On vérifie.

[root@tchana ~]# ps aux | grep -i nethserver-clamscan

root     25238  0.0  0.2 151384  7848 pts/0    S    16:40   0:00 /usr/bin/perl -w /sbin/e-smith/nethserver-clamscan
root     25695  0.0  0.0 112708   988 pts/0    R+   16:47   0:00 grep --color=auto -i nethserver-clamscan
[root@tchana ~]#

L'interface Web affiche que le balayage est En cours d'exécution.

Lorsque le balayage sera terminé, le message ci-dessous apparaît à la console du Serveur NethServer.

[root@tchana ~]#
[1]+  Done            /sbin/e-smith/nethserver-clamscan
[root@tchana ~]#

On peut examiner le résultat du balayage en allant à:

Configuration → Scanner Antivirus → onglet Quarantaine.

Pour la documentation anglaise seulement, voir: https://github.com/Cisco-Talos/clamav-faq.

Collections de logiciels

Si vous utilisez le serveur du “Cours NethServer-101” et que vous avez déjà installé les Collections PHP et MariaDB 10.2, vous pouvez vous rendre directement à la section Création de la base de données DolibarrBD.

On ouvre une session PuTTY vers le Serveur NethServer.

Version PHP actuelle pour un Serveur NethServer-7.6-1810.

[root@tchana ~]# php --version

PHP 5.4.16 (cli) (built: Oct 30 2018 19:30:51)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
[root@tchana ~]#

Comme on le voit, notre version 5.4.16 de PHP est légèrement vieillotte.

Collections

Les développeurs de RedHat ont pensé qu'un inconvénient, avec entre autres la version 5 de PHP, allait survenir tôt ou tard et ont écrit les paquetages des Collections.

Tous les RPM des Collections sont installés dans le répertoire /opt; ce qui empêche toutes interférences ou conflits avec les installations par défaut.

PHP

Le but de la Collection PHP est d'installer PHP-5.6, PHP-7.0, PHP-7.1, PHP-7.2 et PHP-7.3 parallèlement à la version installée par défaut avec NethServer-7.6, sans devoir supprimer ou modifier cette dernière. Cette Collection utilise les RPM du référentiel remi qui sont en fait, les mêmes que ceux sur le site Web officiel, mais ils ont l'avantage de fournir plus de choix. Cette Collection nécessite d'installer le référentiel stephdl.

MariaDB

Nous installerons aussi la Collection MariaDB 10.2, car elle offre une durée de vie s'étendant jusqu'à mai 2022.

Installation des Collections

Si ce n'est déjà fait, on installe les Collections PHP et MariaDB 10.2 en suivant les instructions ci-dessous.

Ces Collection fournissent des versions plus récentes tout en conservant les version originales.

Collection PHP

Prérequis

Référence: https://wiki.nethserver.org/doku.php?id=php-scl.

Si ce n'est déjà fait, il faut installer les référentiels stephdl et remi pour pouvoir installer la Collection PHP.

Référentiel stephdl

Référence: https://wiki.nethserver.org/doku.php?id=stephdl_repository.

[root@tchana ~]# yum install -y  http://mirror.de-labrusse.fr/NethServer/7/x86_64/nethserver-stephdl-1.0.7-1.ns7.sdl.noarch.rpm

...
Résumé de la transaction
============================================================================================
Installation   1 Paquet

Taille totale  : 40 k
Taille d'installation : 40 k
...
Installed:
  nethserver-stephdl.noarch 0:1.0.7-1.ns7.sdl

Complete!
[root@tchana ~]#

Vérification.

[root@tchana ~]# rpm -qa | grep stephdl

nethserver-stephdl-1.0.7-1.ns7.sdl.noarch
[root@tchana ~]#

Référentiel remi

[root@tchana ~]# yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

...

Résumé de la transaction
============================================================================================
Installation   1 Paquet

Taille totale  : 19 k
Taille d'installation : 19 k
...
Installed:
  remi-release.noarch 0:7.6-2.el7.remi

Complete!
[root@tchana ~]#

Vérification

[root@tchana ~]# rpm -qa | grep remi

remi-release-7.6-2.el7.remi.noarch
[root@tchana ~]#

Installation de la Collection PHP

[root@tchana ~]# yum install -y nethserver-php-scl --enablerepo=stephdl

...
Résumé de la transaction
============================================================================================
Installation   1 Paquet (+124 Paquets en dépendance)

Taille totale des téléchargements : 46 M
Taille d'installation : 133 M
Downloading packages:
...
Installé :
  nethserver-php-scl.x86_64 0:1.2.4-1.ns7.sdl

Dépendances installées :
  enchant.x86_64 1:1.6.0-8.el7
...
 tcl.x86_64 1:8.5.13-8.el7

Terminé !
[root@tchana ~]#

Usage

Normalement, l'interface Web devrait être complète et vous ne devriez pas devoir utiliser la ligne de commande. Si vous pensez que Stéphane de Labrusse pourrait améliorer les paramètres PHP en apportant plus d'options, veuillez le lui demander: stephd arobas de-labrusse point fr.

Les réglages sont répartis dans deux endroits.

  1. Gestion → Hôtes virtuels
    Après avoir créé un hôte virtuel, vous pouvez choisir la version que vous utiliserez pour l'Ibay/virtualhost (par défaut, la version PHP d’Apache). Vu que NethServer utilise un script CGI pour gérer la version de PHP, vous ne pourrez pas ajuster les paramètres PHP avec le module nethserver-phpsettings; vous devez régler les paramètres à l'aide du fichier php.ini correspondant. Stéphane de Labrusse voulait coder quelque chose de “cool” afin que tous les paramètres ne soient pas basés uniquement sur des commandes de BD… Il a alors crée une page de configuration.
  2. Configuration → Paramètres PHP
    Vous pouvez choisir la version PHP que vous souhaitez utiliser pour l’ensemble du serveur. Lorsqu'Apache est le gestionnaire de PHP, vous pouvez alors définir les paramètres PHP avec le module nethserver-phpsettings. En d'autres termes, si vous souhaitez utiliser le module nethserver-phpsettings et que vous avez besoin d'une version spécifique de PHP, vous devez utiliser cette version pour tout le serveur. Bien sûr, vous pouvez revenir à la version par défaut en cas de problème avec une ancienne application Web.

Dans d’autres parties de ce document, vous pouvez ajuster les paramètres PHP pour toutes les versions de PHP.

Répertoire d'installation des Collections

Toutes les versions PHP de la Collection proviennent du référentiel remi-safe et sont installées dans le répertoire /opt/remi.

[root@tchana ~]# yum repolist | grep remi

 * remi-safe: mirror.team-cymru.com
remi-safe                   Safe Remi's RPM repository for Enterprise Lin  3 181
[root@tchana ~]#

On vérifie le répertoire /opt.

[root@tchana ~]# ls -ls /opt

total 0
0 drwxr-xr-x. 7 root root 81 18 janv. 20:26 puppetlabs
0 drwxr-xr-x  7 root root 71  4 avril 12:49 remi
0 drwxr-xr-x  2 root root  6 30 oct.  15:17 rh
[root@tchana ~]#

On affiche le répertoire /opt/remi.

[root@tchana ~]# ls -ls /opt/remi

total 0
0 dr-xr-xr-x 3 root root 32  4 avril 12:49 php56
0 dr-xr-xr-x 3 root root 32  4 avril 12:49 php70
0 dr-xr-xr-x 3 root root 32  4 avril 12:49 php71
0 dr-xr-xr-x 3 root root 32  4 avril 12:49 php72
0 dr-xr-xr-x 3 root root 32  4 avril 12:49 php73

[root@tchana ~]#

PHP72 par défaut, après une connexion à la ligne de commande

Référence: http://appdev.oit.umn.edu/2015/02/11/scl/

On crée le fichier d'activation qui sera lu lors d'une connexion à la ligne de commandes du Serveur NethServer.
Prendre tout le contenu de l'encadré pour la commande.

cat > /etc/profile.d/activer-php72.sh <<'EOT'
#!/bin/bash
source /opt/remi/php72/enable
if [[ "$X_SCLS" != *php72* ]]; then
src="`scl enable php72 'echo $X_SCLS'`"
pkgs=(${src// / })
uniq=($(printf "%s\n" "${pkgs[@]}" | sort -u));
export X_SCLS="${uniq[@]}"
fi
EOT

On rend le fichier exécutable.

[root@tchana ~]# chmod +x /etc/profile.d/activer-php72.sh

[root@tchana ~]#

On vérifie.

[root@tchana ~]# ls -als /etc/profile.d/activer-php72.sh

4 -rwxr-xr-x 1 root root 215  4 avril 12:56 /etc/profile.d/activer-php72.sh
[root@tchana ~]#

Vérification

On ferme la connexion PuTTY et on en relance une nouvelle.

On vérifie l'installation de la Collection.

[root@tchana ~]# rpm -qa | grep scl-

centos-release-scl-rh-2-3.el7.centos.noarch
scl-utils-20130529-19.el7.x86_64
centos-release-scl-2-3.el7.centos.noarch
nethserver-php-scl-1.2.4-1.ns7.sdl.x86_64
[root@tchana ~]#

Collections installées.

[root@tchana ~]# scl -l

php56
php70
php71
php72
php73
[root@tchana ~]#

Quel est le PHP par défaut?

[root@tchana ~]# which php

/opt/remi/php72/root/usr/bin/php
[root@tchana ~]#

Quelle est sa version?

[root@tchana ~]# php --version

PHP 7.2.17 (cli) (built: Apr  3 2019 08:31:48) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
[root@tchana ~]#

Sauvegarde

On vérifie si le nom du fichier /etc/profile.d/activer-php72.sh/ est déjà inclus dans le fichier d'inclusion de la sauvegarde des données: /etc/backup-data.d/custom.include, sinon on l'insère.

Prendre tout le contenu de l'encadré pour la commande.

NouvelleInclusion="/etc/profile.d/activer-php72.sh/"
if grep -Fxq "$NouvelleInclusion" /etc/backup-data.d/custom.include
then
    # L'entrée a été trouvée dans custom.include
    echo -e "\nLe fichier custom.include contient déjà l'entrée:\n$NouvelleInclusion \n"
else
    # L'entrée n'a pas été trouvée dans custom.include
    echo -e "$NouvelleInclusion" >> /etc/backup-data.d/custom.include
    echo -e "\nL'entrée: $NouvelleInclusion a été ajoutée\n"
fi

On vérifie.

[root@tchana ~]# cat /etc/backup-data.d/custom.include | grep /etc/profile.d/activer-php72.sh

/etc/profile.d/activer-php72.sh/
[root@tchana ~]#

Ci-dessus, il n'y a pas de ligne vide avant /etc/profile.d/activer-php72.sh. Nous en avons inséré une afin de faciliter la copie de la commande.

Mise à jour de la Collection

Nous utilisons pour NS7, le référentiel remi-safe. Ce qui signifie qu'il est activé par défaut, lancez simplement la commande suivante pour mettre à jour:

[root@tchana ~]# yum update -y nethserver-php-scl --enablerepo=stephdl

Modules complémentaires chargés : changelog, fastestmirror, nethserver_events
Loading mirror speeds from cached hostfile
 * ce-base: mirror.lug.udel.edu
 * ce-extras: mirror.lug.udel.edu
 * ce-sclo-rh: mirror.lug.udel.edu
 * ce-sclo-sclo: mirror.lug.udel.edu
 * ce-updates: mirror.lug.udel.edu
 * epel: mirror.csclub.uwaterloo.ca
 * nethforge: mirror.nethserver.org
 * nethserver-base: mirror.nethserver.org
 * nethserver-updates: mirror.nethserver.org
 * remi-safe: mirror.team-cymru.com
No packages marked for update
[root@tchana ~]#

S'il y avait une mise à jour, elle serait installée avec cette commande.

Ajustement des paramètres PHP

Les valeurs de certains paramètres de PHP ne sont pas suffisants pour certaines extensions de Dolibarr. Ces paramètres sont: MemoryLimit, PostMaxSize et UploadMaxFilesize. Il faut les ajuster.

Affichage des paramètres actuels PHP.

[root@tchana ~]# config show php72

php72=configuration
    AllowUrlFopen=On
    ExposePhp=0
    MaxExecutionTime=30
    MaxFileUpload=20
    MaxInputTime=60
    MemoryLimit=128
    PostMaxSize=20
    UploadMaxFilesize=10
[root@tchana ~]#

Il faut obligatoirement que le paramètre PostMaxSize soit plus grand que celui de UploadMaxFilesize. Si on modifie l'un, il faut vérifier l'autre pour que la correspondance des grandeurs soit respectée.

Nous allons ajuster: MemoryLimit (250M) > PostMaxSize (100M) > UploadMaxFilesize (75M).

MemoryLimit

Chaque fois qu'un client fait une requête au serveur Web, PHP génère un processus PHP. Le travail de ce processus est de générer du code HTML qu'il envoie au client. Le processus fournit un temps d'exécution à un script qui crée la réponse à la requête. La limite de mémoire MemoryLimit est la quantité maximale de mémoire que ce processus peut utiliser. Si la limite est atteinte ou dépassée, le processus échoue et Apache signale une erreur HTTP 500.

PostMaxSize

Référence: http://php.net/manual/en/ini.core.php#ini.post-max-size.

Le paramètre PostMaxSize définit la taille maximale autorisée pour les données d'un post. Ce paramètre affecte également le téléchargement de fichiers. Pour télécharger des fichiers volumineux, cette valeur doit absolument être toujours supérieure à UploadMaxFilesize.

UploadMaxFilesize

Pour certaines extensions, Dolibarr doit autoriser le téléversement de fichiers et la grandeur de ceux-ci ne peut dépasser la limite définie par le paramètre UploadMaxFilesize de PHP.


Version PHP par défaut

On se connecte à l'interface Web du Serveur NethServer et on définit la version PHP par défaut pour Apache.

- Configuration → Paramètres PHP → onglet Version PHP Apache → cliquer Php72 SCL Version.

→ SOUMETTRE.

Ajustements des paramètres de la version PHP-7.2

- Configuration → Paramètres PHP → onglet Php V7.2 SCL.

Allow php access to remote files On désactive cette option, car elle induit une faille de sécurité.

On ajuste en glisant le surseur:

Maximum of available memory → 250Mo
Maximum size of post data allowed → 100Mo
Maximum upload file size → 75Mo.

→ SOUMETTRE.

Vérifications à la ligne de commande

MemoryLimit

[root@tchana ~]# cat /etc/opt/remi/php72/php.ini | grep -i Memory_Limit

memory_limit                           = 250M
[root@tchana ~]#

PostMaxSize

[root@tchana ~]# cat /etc/opt/remi/php72/php.ini | grep -i post_max_size

post_max_size                          = 100M
[root@tchana ~]#

UploadMaxFilesize

[root@tchana ~]# cat /etc/opt/remi/php72/php.ini | grep -i upload_max_filesize

upload_max_filesize                    = 75M
[root@tchana ~]#

Comme on le voit ci-dessus, les grandeurs maximales sont maintenant de: MemoryLimit (250M) > PostMaxSize (100M) > UploadMaxFilesize (75M).

Collection MariaDB 10.2

Référence: https://wiki.nethserver.org/doku.php?id=mariadb102.

La Collection rh-mariadb102 est une récente version stable de MariaDB-10.2. Cette Collection de logiciels offre aux utilisateurs de CentOS et RHEL une alternative à MySQL. Compatible binairement avec MySQL et pouvant remplacé ce dernier. Cette version fournit plusieurs nouvelles fonctionnalités et améliorations.

Fin de vie

Référence: https://mariadb.org/about/maintenance-policy/.

La Foundation MariaDB peut décider de maintenir les versions sélectionnées au-delà de la période normale de 5 ans (fin de vie3)) si leur utilisation est exceptionnellement répandue. Vu que la version MariaDB 5.5, incluse dans plusieurs distributions Linux importantes, jouissait d'une durée de vie jusqu'en 2017 (date d'émission + 5ans), la Fondation s’est engagée à la maintenir jusqu’en 2020.

Vu que la version MariaDB 10.2 est assurée d'une durée de vie jusqu'en 2022, nous avons décidé d'utiliser cette Collection au lieu de la version 5.5.60 ci-dessous fournie par NethServer.

[root@tchana ~]# rpm -qa | grep mariadb

mariadb-server-5.5.60-1.el7_5.x86_64
mariadb-5.5.60-1.el7_5.x86_64
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@tchana ~]#

Prérequis pour l'installation

L'installation de MariaDB 10.2 requière le référentiel stephdl que nous avons déjà installé. Voir le paragraphe Installation du référentiel stephdl.

Installation

[root@tchana ~]# yum install -y --enablerepo=stephdl nethserver-rh-mariadb102

...
Résumé de la transaction
============================================================================================
Installation   1 Paquet (+8 Paquets en dépendance)

Taille totale des téléchargements : 27 M
Taille d'installation : 135 M
...
Installé :
  nethserver-rh-mariadb102.noarch 0:0.0.5-1.ns7.sdl

Dépendances installées :
  rh-mariadb102.x86_64 0:3.0-5.el7
...
  rh-mariadb102-runtime.x86_64 0:3.0-5.el7

Terminé !
[root@tchana ~]#

Vérification

On affiche les Collections installées.

[root@tchana ~]# scl -l

php56
php70
php71
php72
php73
rh-mariadb102
[root@tchana ~]#

La Collection a été installée dans le répertoire /opt/rh.

[root@tchana ~]# ls -als /opt/rh

total 0
0 drwxr-xr-x  3 root root 27  4 avril 13:14 .
0 drwxr-xr-x. 5 root root 46  4 avril 12:49 ..
0 dr-xr-xr-x  3 root root 59  4 avril 13:15 rh-mariadb102
[root@tchana ~]#

Les propriétés de la Collection.

[root@tchana ~]# config show rh-mariadb102-mariadb

rh-mariadb102-mariadb=configuration
    LocalNetworkingOnly=no
    MaxAllowedPacket=16M
    TCPPort=3312
    access=private
    status=enabled
[root@tchana ~]#

Le port 3312 est à retenir, car nous devrons le spécifier lors de l'installation de Dolibarr.

Vérification du lancement du démon et de ses services.

[root@tchana ~]# ps aux | grep mariadb102

mysql     3653  0.2  2.3 1764152 92156 ?       Ssl  19:38   0:01 /opt/rh/rh-mariadb102/root/usr/libexec/mysqld --basedir=/opt/rh/rh-mariadb102/root/usr
root      5716  0.0  0.0 112732   980 pts/0    S+   19:53   0:00 grep --color=auto mariadb102
[root@tchana ~]#
[root@tchana ~]# systemctl list-unit-files | grep mariadb

mariadb.service                               disabled
rh-mariadb102-mariadb.service                 enabled
rh-mariadb102-mariadb@.service                disabled
[root@tchana ~]#

Journal

Le journal pour cette Collection est situé dans le fichier /var/log/rh-mariadb102/mariadb.log.

[root@tchana ~]# ls -ls /var/log/rh-mariadb102/mariadb.log

8 -rw-rw---- 1 mysql mysql 7326  4 avril 13:15 /var/log/rh-mariadb102/mariadb.log
[root@tchana ~]#

Usage

Il n'existe pas de page dédiée à cette Collection dans l'interface Web. Si vous en avez besoin d'une, installez nethserver-phpmyadmin, puis lancez signal-event nethserver-phpmyadmin-save.

Stéphane a créé plusieurs raccourcis pour faciliter l'utilisation de cette Collection depuis votre terminal.

mysql102
mysqladmin102
mysqlbinlog102
mysqlcheck102
mysql_config_editor102
mysqld_multi102
mysqldump102
mysqlimport102
mysql_plugin102
mysqlshow102
mysqlslap102

Si vous voulez lancer MariaDB 10.2 depuis votre terminal, utilisez la commande suivante.

 mysql102

Mise à jour de la Collection

Nous utilisons pour NS7, le référentiel remi-safe. Ce qui signifie qu'il est activé par défaut, lancez simplement la commande suivante pour la mise à jour de la Collection.

[root@tchana ~]# yum update -y rh-mariadb102-mariadb --enablerepo=stephdl

Modules complémentaires chargés : changelog, fastestmirror, nethserver_events
Loading mirror speeds from cached hostfile
 * ce-base: mirror.rackspace.com
 * ce-extras: mirror.rackspace.com
 * ce-updates: mirror.rackspace.com
 * epel: mirror.texas3006.com
 * nethforge: mirror.nethserver.org
 * nethserver-base: mirror.nethserver.org
 * nethserver-updates: mirror.nethserver.org
 * remi-safe: mirror.bebout.net
No packages marked for update
[root@tchana ~]#

S'il y avait une mise à jour, elle serait installée avec cette commande.

Création de la base de données DolibarrBD

On entre dans la console de MariaDB 10.2.

[root@tchana ~]# mysql102

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.2.8-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

On affiche les BD déjà présentes.

MariaDB [(none)]> show databases;

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| phpmyadmin         |
+--------------------+
4 rows in set (0,00 sec)

MariaDB [(none)]>

On vérifie le port utilisé par MariaDB 10.2.

MySQL [(none)]> SHOW GLOBAL VARIABLES LIKE 'PORT';

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3312  |
+---------------+-------+
1 row in set (0,00 sec)

MySQL [(none)]>

Le port utilisé est bien 3312.

On crée la base de données, dans notre exemple, on utilise DolibarrBD, utilisant le jeu de caractère utf8mb4.

MariaDB [(none)]> CREATE DATABASE DolibarrBD CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Query OK, 1 row affected (0,03 sec)

MariaDB [(none)]>


Si vous n'utilisez pas le jeu de caractères utf8mb4, vous recevrez les erreurs ci-contre lors de la Création des tables de la BD.

De plus, vous ne pourrez pas choisir un état ou une province lors de l'entrée des Informations de votre société et vous compromettrez ainsi le calcul de la TVA à percevoir sur vos ventes.

On vérifie que la base de données ait bien été créée.

MariaDB [(none)]> show databases;

+--------------------+
| Database           |
+--------------------+
| DolibarrBD         |
| information_schema |
| mysql              |
| performance_schema |
| phpmyadmin         |
+--------------------+
5 rows in set (0,00 sec)

MariaDB [(none)]>


GRANT

On crée l'utilisateur usager_dolibarr et on lui donne le mot de passe mdp_dolibarr.

MariaDB [(none)]> CREATE USER 'usager_dolibarr'@'localhost' IDENTIFIED BY 'mdp_dolibarr';

Query OK, 0 rows affected (0,00 sec)

MariaDB [(none)]>

Pour l'usager de la BD de Dolibarr, il faut choisir un mot de passe robuste, au moins 7 caractères: minuscules, majuscules, non-alphanumériques et chiffres. Il ne faut pas prendre notre exemple de mot de passe.

C'est seulement après la création de l'utilisateur, qu'on lui donne tous les droits sur la BD DolibarrBD.

MariaDB [(none)]> GRANT ALL ON DolibarrBD.* TO 'usager_dolibarr'@'localhost';

Query OK, 0 rows affected (0,01 sec)

MariaDB [(none)]>

Notez le nom de la base de données: DolibarrBD, le nom de l'utilisateur: usager_dolibarr et son mot de passe: mdp_dolibarr; ils serviront plus tard lors de l'installation de Dolibarr.

On doit exécuter la commande FLUSH PRIVILEGES pour indiquer à MariaDB qu'il doit recharger les privilèges.

MariaDB [(none)]> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>

On vérifie les privilèges de l'utilisateur usager_dolibarr.

MariaDB [(none)]> show grants for usager_dolibarr@localhost;

+------------------------------------------------------------------------------------------+
| Grants for usager_dolibarr@localhost                                                     |
+------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'usager_dolibarr'@'localhost' IDENTIFIED BY PASSWORD '*636805F8A083C66B77DF119B8F555E5C3A6A5F22' |
| GRANT ALL PRIVILEGES ON `DolibarrBD`.* TO 'usager_dolibarr'@'localhost'                  |
+------------------------------------------------------------------------------------------+
2 rows in set (0,01 sec)

MariaDB [(none)]>

On quitte la console de MariaDB 10.2.

MariaDB [(none)]> quit;

Bye
[root@tchana ~]#


Changement du mot de passe d'un usager de MariaDB

MariaDB [(none)]> ALTER USER 'usager_dolibarr'@'localhost' IDENTIFIED BY 'nouveau_mdp';

Query OK, 0 rows affected (0,02 sec)

MariaDB [(none)]>

On doit exécuter la commande FLUSH PRIVILEGES pour indiquer à MariaDB qu'il doit recharger les privilèges.

MariaDB [(none)]> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>


Fichier httpd.conf

Le fichier /etc/httpd/conf/httpd.conf contient toutes les directives qui contrôlent le démon httpd. Celle qui a le plus d'influence sur les fichiers .htaccess du répertoire /var/www/html et de ses sous-répertoires est la directive AllowOverride vers la ligne 151 du fichier de configuration du démon.

Par défaut, cette directive est à None et fait en sorte que le démon httpd ne traitera aucun fichier .htaccess qu'il rencontrera; il les ignorera tous.

Édition du ficher httpd.conf

Dans le répertoire /root, on crée une copie de sauvegarde du fichier original httpd.conf.

[root@tchana ~]# cp /etc/httpd/conf/httpd.conf  /root/httpd.conf_original

[root@tchana ~]#

On vérifie.

[root@tchana ~]# ls -ls /root/httpd.conf_original

12 -rw-r--r-- 1 root root 11753  4 avril 14:01 /root/httpd.conf_original
[root@tchana ~]#

On édite le fichier /etc/httpd/conf/httpd.conf. Ce fichier contient plusieurs fois la directive AllowOverride. Assurez-vous de modifier celle du bon répertoire <Directory “/var/www/html”>. Remplacer la ligne AllowOverride None par la ligne débutant par ##### et les quatre lignes qui suivent cette dernière.

...
<Directory "/var/www/html">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    ##### AllowOverride None
    # Modification par Michel-André le 4 avril 2019
    # afin que le démon httpd traite les fichers .htacces dans 
    # les répertoires et sous-répertoires de /var/www/html.
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>
...

La directive AllowOverride All signifie d'écraser les directives du fichier de configuration httpd.conf lorsque le démon rencontre des directives identiques dans un fichier .htaccess.

Redémarrage du démon httpd

On redémarre le démon Apache afin qu'il relise son fichier de configuration.

[root@tchana ~]# systemctl restart httpd

[root@tchana ~]#

Sauvegarde

Répertoire du fichier httpd.conf

On vérifie si le nom du répertoire /etc/httpd/conf/ est déjà inclus dans le fichier d'inclusion de la sauvegarde des données: /etc/backup-data.d/custom.include, sinon on l'insère.

Prendre tout le contenu de l'encadré pour la commande.

NouvelleInclusion="/etc/httpd/conf/"
if grep -Fxq "$NouvelleInclusion" /etc/backup-data.d/custom.include
then
    # L'entrée a été trouvée dans custom.include
    echo -e "\nLe fichier custom.include contient déjà l'entrée:\n$NouvelleInclusion \n"
else
    # L'entrée n'a pas été trouvée dans custom.include
    echo -e "$NouvelleInclusion" >> /etc/backup-data.d/custom.include
    echo -e "\nL'entrée: $NouvelleInclusion a été ajoutée\n"
fi

On vérifie.

[root@tchana ~]# cat /etc/backup-data.d/custom.include | grep /etc/httpd/conf/

/etc/httpd/conf/
[root@tchana ~]#

Ci-dessus, il n'y a pas de ligne vide avant /etc/httpd/conf/. Nous en avons inséré une afin de faciliter la copie de la commande.

Répertoire well-known

Référence: https://dev-notes.eu/2017/01/apache-directives-in-config-vs-htaccess/
Référence: http://httpd.apache.org/docs/current/howto/htaccess.html#page-header.

Lors d'une demande de certificat à Let's Encrypt, ce dernier doit pouvoir accéder au répertoire .well-known et à son sous-répertoire acme-challenge.

Nous allons créer un fichier /etc/httpd/conf.d/z_well-known.conf pour indiquer à Apache de rendre accessibles les deux répertoires en question.

Prendre tout le contenu de l'encadré pour la commande.

cat > /etc/httpd/conf.d/z_well-known.conf <<'EOT'
Alias "/.well-known/acme-challenge/" "/var/www/html/.well-known/acme-challenge/"
<Directory "/var/www/html/.well-known/acme-challenge/">
   Require all granted
   Options -Indexes +FollowSymLinks
   AllowOverride All
</Directory>

EOT

On vérifie.

[root@tchana ~]# ls -als /etc/httpd/conf.d/z_well-known.conf

4 -rw-r--r-- 1 root root 231 Apr 20 13:36 /etc/httpd/conf.d/z_well-known.conf
[root@tchana ~]#

On affiche le contenu du fichier.

[root@tchana ~]# cat /etc/httpd/conf.d/z_well-known.conf

Alias "/.well-known/acme-challenge/" "/var/www/html/.well-known/acme-challenge/"
<Directory "/var/www/html/.well-known/acme-challenge/">
   Require all granted
   Options -Indexes +FollowSymLinks
   AllowOverride All
</Directory>

[root@tchana ~]#

Il n'y a pas de ligne vide au dessus de Alias… Ci-dessus, nous avons inséré une ligne vide pour faciliter la copie de la commande.

Lors de son lancement, Apache incorpore tous les fichiers qui se trouvent dans le répertoire /etc/httpd/conf.d/ et qui ont l'extension .conf. Cette incorporation des fichier se fait par ordre alphabétique et c'est pour cette raison qu'on a nommé notre nouveau fichier de configuration z_well-known.conf.

Sauvegarde

Fichier z_well-known.conf

On vérifie si le nom du fichier /etc/httpd/conf.d/z_well-known.conf/ est déjà inclus dans le fichier d'inclusion de la sauvegarde des données: /etc/backup-data.d/custom.include, sinon on l'insère.

Prendre tout le contenu de l'encadré pour la commande.

NouvelleInclusion="/etc/httpd/conf.d/z_well-known.conf/"
if grep -Fxq "$NouvelleInclusion" /etc/backup-data.d/custom.include
then
    # L'entrée a été trouvée dans custom.include
    echo -e "\nLe fichier custom.include contient déjà l'entrée:\n$NouvelleInclusion \n"
else
    # L'entrée n'a pas été trouvée dans custom.include
    echo -e "$NouvelleInclusion" >> /etc/backup-data.d/custom.include
    echo -e "\nL'entrée: $NouvelleInclusion a été ajoutée\n"
fi

On vérifie.

[root@tchana ~]# cat /etc/backup-data.d/custom.include | grep /etc/httpd/conf/

/etc/httpd/conf.d/z_well-known.conf/
[root@tchana ~]#

Ci-dessus, il n'y a pas de ligne vide avant /etc/httpd/conf.d/z_well-known.conf. Nous en avons inséré une afin de faciliter la copie de la commande.

Instantané VirtualBox

Il est fortement recommandé d'arrêter le Serveur NethServer et d'en prendre un instantané VirtualBox afin de pouvoir y revenir si nous exécutions une fausse manipulation qui ruinerait tout notre travail jusqu'ici.

Grâce aux instantanés VirtualBox, vous pouvez enregistrer l'état particulier d'une machine virtuelle à un moment donné pour pouvoir l'utiliser plus tard. Ainsi, après avoir pris un instantané, vous pourrez à n'importe quel moment revenir à cet état, même si la machine virtuelle a été complètement changée ou endommagée.

Voir le chapitre Instantané d'une machine virtuelle dans le Cahier-03: Création d'un Serveur NethServer virtuel du “Cours NethServer-101”.

Tous les prérequis sont remplis.


Téléchargement et préparation

Répertoire racine

Si ce n'est déjà fait, on se rend dans le répertoire racine par défaut du Serveur NethServer.

[root@tchana ~]# cd /var/www/html/

[root@tchana html]#

On vérifie.

[root@tchana html]# pwd

/var/www/html/html
[root@tchana html]#

Choix de la branche de Dolibarr

Avec un fureteur Web de la station de travail, on se rend à l'URL:
https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/9.0.1/

On claque (clic droit) sur dolibarr-9.0.1.tgz → Copier l'adresse du lien.

Pour le fichier dolibarr-9.0.1.tgz le lien est:
https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/9.0.1/dolibarr-9.0.1.tgz/download


On entre wget suivi d'un [espace] et on clique pour coller l'adresse du lien qu'on vient de copier ci-dessus.

[root@tchana html]# wget https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/9.0.1/dolibarr-9.0.1.tgz/download

--2019-04-05 14:39:47--  https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/9.0.1/dolibarr-9.0.1.tgz/download
Résolution de sourceforge.net (sourceforge.net)... 216.105.38.13
Connexion vers sourceforge.net (sourceforge.net)|216.105.38.13|:443...connecté.
requête HTTP transmise, en attente de la réponse...302 Found
Emplacement: https://downloads.sourceforge.net/project/dolibarr/Dolibarr%20ERP-CRM/9.0.1/dolibarr-9.0.1.tgz?r=&ts=1554489588&use_mirror=iweb [suivant]
--2019-04-05 14:39:48--  https://downloads.sourceforge.net/project/dolibarr/Dolibarr%20ERP-CRM/9.0.1/dolibarr-9.0.1.tgz?r=&ts=1554489588&use_mirror=iweb
Résolution de downloads.sourceforge.net (downloads.sourceforge.net)... 216.105.38.13
Connexion vers downloads.sourceforge.net (downloads.sourceforge.net)|216.105.38.13|:443...connecté.
requête HTTP transmise, en attente de la réponse...302 Found
Emplacement: https://iweb.dl.sourceforge.net/project/dolibarr/Dolibarr%20ERP-CRM/9.0.1/dolibarr-9.0.1.tgz [suivant]
--2019-04-05 14:39:48--  https://iweb.dl.sourceforge.net/project/dolibarr/Dolibarr%20ERP-CRM/9.0.1/dolibarr-9.0.1.tgz
Résolution de iweb.dl.sourceforge.net (iweb.dl.sourceforge.net)... 192.175.120.182, 2607:f748:10:12::5f:2
Connexion vers iweb.dl.sourceforge.net (iweb.dl.sourceforge.net)|192.175.120.182|:443...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 49454958 (47M) [application/octet-stream]
Sauvegarde en : «download»

100%[==================================================>] 49 454 958  1,79MB/s   ds 26s

2019-04-05 14:40:14 (1,79 MB/s) - «download» sauvegardé [49454958/49454958]

[root@tchana html]#

On vérifie le téléchargement.

[root@tchana html]# ls -als download

48296 -rw-r--r-- 1 root root 49454958  5 mars  11:04 download
[root@tchana html]#

On décompresse le fichier.

[root@tchana html]# tar -zxvf download

...
dolibarr-9.0.1/
...
dolibarr-9.0.1/CODE_OF_CONDUCT.md
[root@tchana html]#

On affiche le contenu du répertoire. Présentement, nous n'avons aucun WordPress d'installé dans ce répertoire.

[root@tchana html]# ls -als

total 48296
    0 drwxr-xr-x. 4 root root       63  5 avril 14:50 .
    0 drwxr-xr-x. 4 root root       33 18 janv. 20:25 ..
    0 drwxr-xr-x  7  500  500      318  5 mars  10:52 dolibarr-9.0.1
48296 -rw-r--r--  1 root root 49454958  5 mars  11:04 download
    0 drwxr-xr-x. 3 root root       28 18 janv. 20:26 .well-known
[root@tchana html]#

Le répertoire .well-known est obligatoire pour la vérification des défis lancés lors de l'installation d'un certificat Let's Encrypt.

On supprime le fichier download.

[root@tchana html]# rm download

rm : supprimer fichier « download » ? y
[root@tchana html]#

On renomme le répertoire dolibarr-9.0.1 pour dolibarr.

[root@tchana html]# mv dolibarr-9.0.1/ dolibarr

[root@tchana html]#

On vérifie.

[root@tchana html]# ls -ls

total 0
0 drwxr-xr-x 7 500 500 318  5 mars  10:52 dolibarr
[root@tchana html]#

On affiche le contenu du répertoire racine de notre site Dolibarr.

[root@tchana html]# ls -als dolibarr

total 448
  0 drwxr-xr-x   5 root root    256  4 avril 11:41 .
  0 drwxr-xr-x.  4 root root     41  4 avril 14:39 ..
296 -rw-r--r--   1 root root 301797  4 avril 11:41 ChangeLog
  8 -rw-r--r--   1 root root   5470  4 avril 11:41 CODE_OF_CONDUCT.md
  4 -rw-r--r--   1 root root   2080  4 avril 11:41 composer.json
 64 -rw-r--r--   1 root root  63478  4 avril 11:41 composer.lock
 36 -rw-r--r--   1 root root  35147  4 avril 11:41 COPYING
  8 -rw-r--r--   1 root root   5444  4 avril 11:41 COPYRIGHT
  0 drwxr-xr-x   2 root root     86  4 avril 11:41 .github
  4 -rw-r--r--   1 root root    251  4 avril 11:41 .gitmessage
  4 drwxr-xr-x  66 root root   4096  4 avril 11:41 htdocs
  4 -rw-r--r--   1 root root     91  4 avril 11:41 INSTALL
  8 -rw-r--r--   1 root root   7510  4 avril 11:41 README-FR.md
  8 -rw-r--r--   1 root root   8035  4 avril 11:41 README.md
  4 -rw-r--r--   1 root root     95  4 avril 11:41 robots.txt
  0 drwxr-xr-x  16 root root    230  4 avril 11:41 scripts
[root@tchana html]#

Plus loin, nous nous occuperons du propriétaire, du groupe et des droits.

Répertoire documents

On se rend dans le répertoire dolibarr.

[root@tchana html]# cd /var/www/html/dolibarr

[root@tchana dolibarr]#

On vérifie.

[root@tchana dolibarr]# pwd

/var/www/html/dolibarr
[root@tchana dolibarr]#

Il faut maintenant créer un répertoire qui contiendra tous les documents générés ou téléversés par Dolibarr.

[root@tchana dolibarr]# mkdir documents

[root@tchana dolibarr]#


Fichier conf.php

Présentement, le fichier conf.php n'existe pas, mais un exemple est donné et on peut simplement copier celui-ci.

On se rend dans le répertoire de configuration.

[root@tchana dolibarr]# cd htdocs/conf/

[root@tchana conf]#

On vérifie.

[root@tchana conf]# pwd

/var/www/html/dolibarr/htdocs/conf
[root@tchana conf]#

On affiche le contenu.

[root@tchana conf]# ls -als

total 24
 0 drwxr-xr-x  2 500 500    87  5 mars  10:52 .
 4 drwxr-xr-x 66 500 500  4096  5 mars  10:52 ..
12 -rw-r--r--  1 500 500 11674 31 oct.  07:35 conf.php.example
 4 -rw-r--r--  1 500 500  1792 29 janv. 04:55 conf.php.pgsql
 4 -rw-r--r--  1 500 500    31 31 oct.  07:35 .htaccess
 0 -rw-r--r--  1 500 500     0 31 oct.  07:35 index.html
[root@tchana conf]#

On copie le fichier d'exemple vers conf.php.

[root@tchana conf]# cp conf.php.example conf.php

[root@tchana conf]#

On ajuste Récursivement le propriétaire et le groupe du répertoire dolibarr.

[root@tchana conf]# chown -R apache:apache /var/www/html/dolibarr/*

[root@tchana conf]#

On répète la commande pour les répertoires et fichiers cachés.

[root@tchana conf]# chown -R apache:apache /var/www/html/dolibarr/.*

[root@tchana conf]#

On enlève Récursivement tous les droits à “other” dans le répertoire dolibarr.

[root@tchana conf]# chmod -R o-rwx /var/www/html/dolibarr/*

[root@tchana conf]#

On répète la commande pour les répertoires et fichiers cachés.

[root@tchana conf]# chmod -R o-rwx /var/www/html/dolibarr/.*

[root@tchana conf]#

On vérifie.

[root@tchana conf]# ls -als  /var/www/html/dolibarr/

total 464
  0 drwxr-x---   8 apache apache    335  5 avril 15:01 .
  0 drwxr-x---.  4 apache apache     41  5 avril 14:58 ..
  4 drwxr-x---  20 apache apache   4096  5 mars  10:58 build
296 -rw-r-----   1 apache apache 301797  5 mars  09:51 ChangeLog
  4 -rw-r-----   1 apache apache    249 31 oct.  07:35 .codeclimate.yml
  8 -rw-r-----   1 apache apache   5470 31 oct.  07:35 CODE_OF_CONDUCT.md
  4 -rw-r-----   1 apache apache   2080 31 oct.  07:35 composer.json
 64 -rw-r-----   1 apache apache  63478 31 oct.  07:35 composer.lock
 36 -rw-r-----   1 apache apache  35147 31 oct.  07:35 COPYING
  8 -rw-r-----   1 apache apache   5444 31 oct.  07:35 COPYRIGHT
  0 drwxr-x---   8 apache apache    101  5 mars  10:52 dev
  0 drwxr-x---   5 apache apache     65  5 mars  10:52 doc
  0 drwxr-x---   2 apache apache      6  5 avril 15:01 documents
  4 drwxr-x---  66 apache apache   4096  5 mars  10:52 htdocs
  4 -rw-r-----   1 apache apache     91 31 oct.  07:35 INSTALL
  8 -rw-r-----   1 apache apache   6345 11 nov.  11:35 .mailmap
  4 -rw-r-----   1 apache apache    310  7 juin   2018 .pydevproject
  8 -rw-r-----   1 apache apache   7510  1 févr. 09:08 README-FR.md
  8 -rw-r-----   1 apache apache   8033  1 févr. 09:04 README.md
  4 -rw-r-----   1 apache apache     95 31 oct.  07:35 robots.txt
  0 drwxr-x---  16 apache apache    230 17 juil.  2017 scripts
[root@tchana conf]#

L'utilisateur root peut retourner dans son répertoire personnel.

[root@tchana conf]# cd

[root@tchana ~]#


Instantané VirtualBox

Il est fortement recommandé d'arrêter le Serveur NethServer et d'en prendre un instantané VirtualBox afin de pouvoir y revenir si nous exécutions une fausse manipulation qui ruinerait tout notre travail jusqu'ici.

Tout est en place pour l'installation.


Installation

Fichier hosts du poste de travail

Afin de simuler les réponses aux requêtes DNS, on ajoute les CNAME de notre Serveur NethServer au fichier hosts du poste de travail: C:\Windows\System32\drivers\etc\hosts.

Voir la section Poste de travail dans le Cahier-03: Création d'un serveur NethServer virtuel du “Cours NethServer-101”.

Vu que nous utilisons une machine virtuelle, que nous n'avons pas de nom de domaine d'un régistraire autorisé pour celle-ci et que nous avons modifié le fichier C:\Windows\System32\drivers\etc\hosts du poste de travail, nous pouvons utiliser le nom de domaine: micronator-dev.org après avoir vidanger le cache DNS du poste de travail et l'historique de notre navigateur WEB.

Lancement de l'installation

On pointe un navigateur vers le répertoire d'installation (htdocs/install).

On peut utiliser le nom du Domaine ou l'adresse IP.
Il est fortement recommandé d'utiliser le nom du domaine sinon, plus tard, si on utilise un nom de domaine, il faudra alors modifier le fichier htdocs/conf/conf.php et changer partout l'adresse IP pour le nom du domaine.

On se rend à: https://www.micronator-dev.org/dolibarr/htdocs/install.

Vérification des prérequis

☑ La langue française est reconnue, les vérifications sont effectuées et tout est vert.

☑ C'est une première installation.

On continue en cliquant Démarrer.


Serveur Web

Pour l'obtention d'un certificat Let's Encrypt pour un serveur virtuel LOCAL, voir le Cahier-4: NethServer LOCAL & Certificat Let's Encrypt du “Cours NethServer-101”.

Forcer les connexions sécurisées (HTTPS)
Vu que nous avons un certificat Let's Encrypt, on coche cette option.


Base de données Dolibarr

On entre les informations demandées.

Il faut absolument utiliser 127.0.0.1 pour le Serveur de base de données et le port 3312, car nous utilisons MariaDB 10.2.

→ Étape suivante.


La configuration a été enregistré dans le fichier ../conf/conf.php

c.-à-d. /var/www/html/dolibarr/htdocs/conf/conf.php.

Tout est au vert → Étape suivante.


(Peut prendre un certain temps.)


Création des tables de la BD

→ Étape suivante.


Si vous recevez les erreurs ci-contre, la BD DolibarrBD n'a pas été correctement créée. Vous référez à la section Création de la base de données DolibarrBD.


Identifiant de l'utilisateur administrateur de Dolibarr

Par sécurité et pour ne pas tenter les pirates, on ne choisit jamais le nom admin comme administrateur principal.

On entre le nom du futur administrateur de Dolibarr, son mot de passe et on le confirme.

→ Étape suivante.

Fin de l'installation

L'installation est terminée et un message d'avertissement de sécurité est affiché:

“Attention, pour des raisons de sécurité, afin de bloquer une nouvelle utilisation des outils d'installation/migration, une fois l'installation terminée, il est conseillé de placer dans le répertoire document de Dolibarr un fichier nommé install.lock en lecture seule.”

On crée le fichier install.lock et on y insère son contenu.
Prendre tout le contenu de l'encadré pour la commande.

cat > /var/www/html/dolibarr/documents/install.lock <<'EOT'
# ************************************** 
# Fichier de sécurité.
# ************************************** 
EOT

On ajuste les droits du fichier.

[root@tchana ~]# chmod 444 /var/www/html/dolibarr/documents/install.lock

[root@tchana ~]#

On ajuste le propriétaire et le groupe.

[root@tchana ~]# chown root:root /var/www/html/dolibarr/documents/install.lock

[root@tchana ~]#

On vérifie.

[root@tchana ~]# ls -ls /var/www/html/dolibarr/documents/install.lock

4 -r--r--r--  root root 109  5 avril 15:39 /var/www/html/dolibarr/documents/install.lock
[root@tchana ~]#

On vérifie le contenu.

[root@tchana ~]# cat /var/www/html/dolibarr/documents/install.lock

# **************************************
# Fichier de sécurité.
# **************************************
[root@tchana ~]#

Il n'y a pas de ligne vide avant la ligne # ******... Ci-dessus, nous avons inséré une ligne vide pour faciliter la copie de la commande.

On accède à Dolibarr.

→ Accéder à Dolibarr (espace de configuration).


Écran de connexion

L'identifiant de l'administrateur est affiché, on entre le mot de passe.

→ Se connecter.

On ne peut se loguer à moins d'avoir autorisé “JavaScript” et les “témoins” (cookies) dans le navigateur.

S'il est encore impossible de se loguer et que le fichier dolibarr/documents/dolibarr.log existe, il faut y ajouter le droit d'écriture.

Victoire!

La page d'accueil de Dolibarr s'affiche correctement.

Le cadenas est vert et implique que la connexion est sécurisée, car notre certificat Let's Encrypt est reconnu.


Configuration

Société/Institution

Cliquer Société/Institution pour entrer les informations de configuration obligatoires de votre société.


On clique Modifier, au bas de l'écran, à droite.


Informations de votre société

On entre les informations demandées.















On clique Parcourir….

On sélectionne l'image de notre logo → Ouvrir.

Le nom du fichier de notre logo s'affiche.

→ Enregistrer.


Au retour, notre logo s'affiche.

On clique Configuration.


Modules

À l'écran Configuration, la mise en garde pour Société/Institution est disparue.

Pour entrer les autres informations de configuration obligatoire, on clique Modules.


Modules principaux

Sous l'onglet Modules disponibles on a choisi tous les modules offerts pour un test de démonstration.

On peut tout aussi bien ne choisir seulement que les modules désirés.

Des icônes apparaissent dans le haut de l'écran dépendant du choix des modules.

Lorsqu'on active un module et que l'écran ci-dessous apparaît, l'activation de ce module nécessite d'accorder manuellement, si nécessaire, les autorisations aux utilisateurs ou groupes concernés.


Module PayPal et Stripe

Au paragraphe précédent, on peut activer les Modules PayPal et Stripe.

Pour configurer ces modules, on clique l'icône à la droite du module.

Pour créer un compte PayPal ou Stripe, voir le Cahier-08: WooCommerce, PayPal & Stripe du “Cours NethServer-101”.


Plus de modules...

Pour rechercher des modules externes, on peut se rendre à l'adresse indiquée.


Autres configurations

On peut configurer tous les paramètres disponibles en cliquant les menus sous Configuration → Module → Modifier.

Après avoir modifié un paramètre, il faut cliquer Enregistrer.

.
Le présent document ne donne que la configuration minimale de Dolibarr.

Sécurité

Il faut absolument configurer, au moins, la sécurité: Accueil → Configuration → Sécurité.

Pour de plus amples détails, voir les sections: Masque des nouveaux fichiers sous Unix/Linux/BSD/Mac et Chemin complet vers la commande Antivirus.


Langue d'affichage

Accueil → Configuration → Affichage → Modifier.

On peut choisir une autre langue d'affichage et ajuster d'autres paramètres tels que: Afficher le logo dans le menu gauche, choisir le Premier jour de la semaine, etc…


On peut aussi Activer l'interface multi-langue.


Accueil

En bas de la page d'accueil, un message nous avertit que le fichier conf.php est accessible en écriture.


Permissions du fichier conf.php

On vérifie.

[root@tchana ~]# ls -als /var/www/html/dolibarr/htdocs/conf/conf.php

4 -rw-r----- 1 apache apache 1773  5 avril 15:33 /var/www/html/dolibarr/htdocs/conf/conf.php
[root@tchana ~]#

Les permissions ne sont pas sécuritaires, on les ajuste.

[root@tchana ~]# chmod 440 /var/www/html/dolibarr/htdocs/conf/conf.php

[root@tchana ~]#

On vérifie.

[root@tchana ~]# ls -als /var/www/html/dolibarr/htdocs/conf/conf.php

4 -r--r----- 1 apache apache 1773  5 avril 15:33 /var/www/html/dolibarr/htdocs/conf/conf.php
[root@tchana conf]#

On rafraîchit la page d'accueil.

L'avertissement est disparu.


Redirection de page

Fichier .htaccess du répertoire racine du site web par défaut

Au paragraphe Fichier httpd.conf, nous avons déjà modifier le fichier httpd.conf pour permettre au démon Apache de lire et d'appliquer les directives qu'il pourrait rencontrer dans les fichiers .htaccess des répertoires du site Web par défaut.

Si nous n'avons aucun WordPress d'installer dans le site Web par défaut, nous allons y créer un fichier .htaccess pour spécifier au démon Apache de suivre les liens symboliques et de ne pas afficher les contenus des répertoires.

L'option » de la commande cat spécifie d'ajouter au fichier s'il existe; ainsi, il ne détruira pas les directives qui pourraient déjà s'y trouver au cas où on aurait installer WordPress dans le répertoire du site Web par défaut.

Prendre tout le contenu de l'encadré pour la commande.

cat >> /var/www/html/.htaccess <<'EOT'
# **************************************
# DIRECTIVES POUR APACHE

# Permettre au serveur de suivre les liens symboliques dans les répertoires concernés.
Options +FollowSymLinks

# Empêcher d'afficher le contenu des répertoires s'ils ne contiennent aucun DirectoryIndex
# c'est-à-dire index.html, index.php etc...
Options -Indexes

EOT


Fichier .htaccess du répertoire racine de Dolibarr

Dans le répertoire racine de Dolibarr, il n'y a aucun fichier index.html ou index.php. Si on spécifie seulement https://www.micronator-dev.org/dolibarr, Apache ne trouvant aucun fichier index de quelque sorte que ce soit dans le répertoire dolibarr, retournera le message ci-contre.

Il faudrait spécifier https://www.micronator-dev.org/dolibarr/htdocs et ainsi, Apache trouverait le fichier index.php qui lance la page d'accueil de Dolibarr.

Habituellement, on accède à Dolibarr en spécifiant https://FQDN/dolibarr qui est beaucoup plus explicite. Dans notre cas spécifique, ce serait: https://www.micronator-dev.org/dolibarr.

Pour remédier à la situation, nous allons créer un fichier .htaccess dans le répertoire racine du site Dolibarr c.-à.-d. /var/www/html/dolibarr/ et spécifier les directives pour activer la redirection et celle pour rediriger vers la page dolibarr/htdocs.

Prendre tout le contenu de l'encadré pour la commande.

cat >> /var/www/html/dolibarr/.htaccess <<'EOT'
# **************************************
# Directive activant la redirection de page.
RewriteEngine On

# Ditective redirectionnant vers la page FQDN/dolibarr/htdocs
RewriteRule ^$ /dolibarr/htdocs
# **************************************

EOT

Plus d'informations sur ces directives à la page: https://httpd.apache.org/docs/2.4/rewrite/remapping.html.

Vérification

On quitte Dolibarr en cliquant l'icône de sortie à l'extrême droite supérieure de l'écran et on vidange l'historique de notre navigateur.


On se rend à la page:
/https://www.micronator-dev.org/dolibarr..

Nous sommes alors redirigés vers:
https://www.micronator-dev.org/dolibarr/htdocs/

Notre logo est fonctionnel.

On entre notre justificatif d'identité → Se connecter.


La page du tableau de bord de Dolibarr s'affiche.

La redirection fonctionne correctement.

Tout est fonctionnel.


Divers

Fichiers du journal Dolibarr

Le fichier du journal de Dolibarr se trouve dans le répertoire documents.

[root@tchana ~]# ls -als /var/www/html/dolibarr/documents/dolibarr.log

536 -rw-rw-r-- 1 apache apache 544797  5 avril 23:26 /var/www/html/dolibarr/documents/dolibarr.log
[root@tchana ~]#

Fichiers (Envoyer fichier)

Accueil → Configuration → Sécurité → onglet Fichiers (Envoyer fichier).

Taille maximum des fichiers envoyés

On spécifie une limite de 2048 Ko pour la Taille maximum des fichiers envoyés.

Il est à noter que les fichiers téléchargés seront analysés par l'antivirus ClamAV et qu'il accaparera 100% du temps CPU pendant le balayage des fichiers.

Masque des nouveaux fichiers sous Unix/Linux/BSD/Mac

Par mesure de sécurité, il n'est pas recommandé de donner des droits à “other”. Il est donc préférable de changer le masque par défaut des nouveaux fichiers qui seront créés par Dolibarr.

On spécifie le nombre octal 0660 pour l'option Masque des nouveaux fichiers sous Unix/Linux/BSD/Mac. Cette valeur représente les droits de lecture et d'écriture pour le propriétaire et le groupe seulement.

Chemin complet vers la commande Antivirus

Il faut spécifier le chemin complet du programme antivirus que le Serveur NethServer utilise.

Pour trouver le chemin du programme antivirus.

[root@tchana ~]# which clamscan

/usr/bin/clamscan
[root@tchana ~]#

Modifier pour enregistrer les modifications.

On s'assure du succès de l'opération.

Test d'envoi

Nous allons télécharger un fichier pour vérifier que le module FTP de Dolibarr fonctionne correctement.

Au bas de la page Fichiers (Envoyer fichier) on clique Parcourir…

On sélectionne un fichier → Ouvrir.

Envoyer fichier.

Si vous recevez ce message…

Ne pas essayer de recharger la page, car si Dolibarr n'a pas terminé le téléchargement, il croira que vous lui indiquez un nouveau téléchargement et va mettre ce nouveau fichier (le même) en file d'attente à cause du rafraîchissement et lorsqu'il aura terminé le téléchargement original, va télécharger le fichier encore une fois et affichera un message indiquant que le fichier existe déjà.

Il est fortement préférable d'attendre patiemment. Dolibarr affichera un message à la fin du téléchargement indiquant que Le fichier a été correctement transféré et utiliser Accueil → Configuration → Sécurité → onglet Fichiers (Envoyer fichier) pour retourner à la page.

Même pour un petit fichier, le temps du balayage est relativement assez long car ClamAV doit relire sa configuration et surtout recharger la volumineuse BD des virus à chaque lancement d'un balayage.

À la console du serveur, lancez la commande suivante.

[root@tchana ~]# top -d 1

L'utilitaire clamscan est en train de balayer le fichier et il accapare 100% du temps CPU.

Attendre quelques secondes pour que clamscan ait terminé le balayage.

Pour quitter top → q.
Lorsque clamscan aura terminé, Dolibarr indiquera que le fichier a été correctement transféré.

Le nom du fichier téléchargé apparaît sous Documents.

On peut le supprimer en cliquant la petite corbeille à son extrême droite.

Vérification

On installe l'utilitaire locate pour la recherche de fichiers.

[root@tchana ~]# yum install -y mlocate

...
Résumé de la transaction
============================================================================================
Installation   1 Paquet

Taille totale des téléchargements : 113 k
Taille d'installation : 379 k
...
Installé :
  mlocate.x86_64 0:0.26-8.el7

Terminé !
[root@tchana ~]#

On met à jour la BD de locate. (La première mise à jour peut prendre un certain temps, les suivantes ne prennent que quelques secondes seulement.)

[root@tchana ~]# updatedb

[root@tchana ~]#

On localise le fichier qu'on vient de télécharger.

Il n'est pas nécessaire de spécifier le nom complet du fichier, mais il faut respecter la case minuscule/majuscule ou utiliser l'option -i pour “ignore case”.

[root@tchana ~]# locate NS-201_Cahier-01

/var/www/html/dolibarr/documents/admin/temp/NS-201_Cahier-01_Dolibarr_2019-04-04_17h39.odg
[root@tchana ~]#

On affiche les droits du fichier.

[root@tchana ~]# ls -als /var/www/html/dolibarr/documents/admin/temp/NS-201_Cahier-01_Dolibarr_2019-04-04_17h39.odg

1732 -rw-rw---- 1 apache apache 3057626  6 avril 00:09 /var/www/html/dolibarr/documents/admin/temp/NS-201_Cahier-01_Dolibarr_2019-04-04_17h39.odg
[root@tchana ~]#

Le masque 0660 fonctionne correctement.

Création d'un usager standard

Accueil → Utilisateurs & Groupes → Nouvel utilisateur → on entre les informations demandées → Créer l'utilisateur.


Le nouvel utilisateur a été créé et il est actif.

→ Permissions.


Droits de Gestion Électronique de Documents (GED)

Cliquer le + vis à vis de toutes les lignes pour accorder ces droits au nouvel utilisateur.


Test de téléversement de documents par un usager standard

On sort de Dolibarr et on se logue en tant que le nouvel utilisateur.


L'utilisateur toto doit créer un répertoire pour y téléverser ses documents dans Dolibarr.

Documents → Arborescence manuelle → cliquer l'icône du répertoire.



Entrer le nom du répertoire à créer et sa description → Créer.

Au retour, sélectionner le nouveau répertoire → Parcourir… pour y ajouter un fichier.


Sélectionner un fichier → Ouvrir.

Envoyer fichier. (Peut prendre un certain temps).

Lorsque clamscan aura terminé, Dolibarr indiquera que le fichier a été correctement transféré.
* On s'assure du succès de l'opération.

Le nom du fichier apparaît sous Documents. L'utilisateur peut le supprimer en cliquant la petite corbeille à l'extrême droite.

Le fichier est maintenant dans Dolibarr.


Avec WinSCP, on voit le répertoire créé par l'utilisateur toto: /var/www/html/dolibarr/documents/ecm/RepertoireToto.

Dans ce répertoire se trouve le fichier téléchargé.


Voilà, nous disposons d'un outil pour la gestion de notre société.


Mise à jour de Dolibarr

Référence: https://wiki.dolibarr.org/index.php/Installation_-_Mise_%C3%A0_jour.

Nous avons un ancien instantané VirtualBox de la machine tchana.micronator-dev.org avec une installation de Dolibarr-9.0.0. Nous récupérons cet instantané que nous allons mettre a jour vers Dolibarr-9.0.1. Les manipulations pour mettre à jour une version de Dolibarr vers une version plus récente suit toujours la même procédure que nous allons démontrer dans cette section.

Sauvegarde

Il est fortement recommandé de toujours exécuter une sauvegarde d'au moins la base de données avant de procéder à la mise à jour de Dolibarr. Voir la section Sauvegarde et restauration de la BD pour une sauvegarde de la BD.

Préparation à la mise à jour

On se rend dans le répertoire racine du site Web par défaut.

[root@tchana ~]# cd /var/www/html/

[root@tchana html]#

On vérifie.

[root@tchana html]# pwd

/var/www/html
[root@tchana html]#

On vérifie le répertoire racine de Dolibarr.

[root@tchana html]# ls -ald dolibarr/

drwxr-xr-x 8 apache apache 291  6 avril 15:58 dolibarr/
[root@tchana html]#

Téléchargement d'une nouvelle version

Avec un fureteur sur le poste de travail, on se rend au site: https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/9.0.1/

On claque (clic droit) sur dolibarr-9.0.1.tgz → Copier l'adresse du lien.

Pour le fichier dolibarr-9.0.1.tgz le lien est: https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/9.0.1/dolibarr-9.0.1.tgz/download


À l'écran de la session PuTTY, on entre wget suivi d'un [espace] et on clique pour coller l'adresse du lien qu'on vient de copier ci-dessus.

[root@tchana html]# wget https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/9.0.1/dolibarr-9.0.1.tgz/download

--2019-04-06 17:57:58--  https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/9.0.1/dolibarr-9.0.1.tgz/download
Résolution de sourceforge.net (sourceforge.net)... 216.105.38.13
Connexion vers sourceforge.net (sourceforge.net)|216.105.38.13|:443...connecté.
requête HTTP transmise, en attente de la réponse...302 Found
Emplacement: https://downloads.sourceforge.net/project/dolibarr/Dolibarr%20ERP-CRM/9.0.1/dolibarr-9.0.1.tgz?r=&ts=1554587878&use_mirror=superb-dca2 [suivant]
--2019-04-06 17:57:58--  https://downloads.sourceforge.net/project/dolibarr/Dolibarr%20ERP-CRM/9.0.1/dolibarr-9.0.1.tgz?r=&ts=1554587878&use_mirror=superb-dca2
Résolution de downloads.sourceforge.net (downloads.sourceforge.net)... 216.105.38.13
Connexion vers downloads.sourceforge.net (downloads.sourceforge.net)|216.105.38.13|:443...connecté.
requête HTTP transmise, en attente de la réponse...302 Found
Emplacement: https://superb-dca2.dl.sourceforge.net/project/dolibarr/Dolibarr%20ERP-CRM/9.0.1/dolibarr-9.0.1.tgz [suivant]
--2019-04-06 17:57:58--  https://superb-dca2.dl.sourceforge.net/project/dolibarr/Dolibarr%20ERP-CRM/9.0.1/dolibarr-9.0.1.tgz
Résolution de superb-dca2.dl.sourceforge.net (superb-dca2.dl.sourceforge.net)... 209.61.193.20
Connexion vers superb-dca2.dl.sourceforge.net (superb-dca2.dl.sourceforge.net)|209.61.193.20|:443...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 49454958 (47M) [application/octet-stream]
Sauvegarde en : «download»

100%[==================================================>] 49 454 958  1,79MB/s   ds 26s

2019-04-06 17:58:25 (1,80 MB/s) - «download» sauvegardé [49454958/49454958]

[root@tchana html]#

On vérifie le fichier téléchargé.

[root@tchana html]# ls -als download

48296 -rw-r--r-- 1 root root 49454958  5 mars  11:04 download
[root@tchana html]#

Arrêt des connexions

Si on décompresse le fichier de la nouvelle version et qu'on copie les nouveaux fichiers dans leurs destinations finales, tout usager qui accédera à une page de Dolibarr, verra la page de mise à jour et pourra la lancer lui-même et intervenir à tout moment.

Nous allons modifier le fichier .htaccess du répertoire racine de Dolibarr pour ne permettre l'accès que depuis les adresses IP du poste de travail seulement.

Adresses IP du poste de travail

Si nous travaillons à distance, il faut connaître notre adresse IP telle que vue depuis l'Internet. Nous pouvons nous rendre à la page https://checkmyip.com/ qui nous indiquera cette adresse.

Dans notre cas, nous sommes sur le réseau LOCAL du Serveur NethServer. Il faut alors connaître l'adresse IP du poste de travail.
* Sur le poste de travail, on ouvre un écran de commande.

- Clac sur le bouton Démarrer → Exécuter.

- On entre cmd → OK.

On affiche les adresses IP du poste de travail

C:\Users\michelandre> ipconfig

...
Carte Ethernet Ethernet :

   Suffixe DNS propre à la connexion. . . :
   Adresse IPv4. . . . . . . . . . . . . .: 10.10.10.81
   Masque de sous-réseau. . . . . . . . . : 255.255.255.0
   Adresse IPv4. . . . . . . . . . . . . .: 192.168.1.81
   Masque de sous-réseau. . . . . . . . . : 255.255.255.0
   Passerelle par défaut. . . . . . . . . : 10.10.10.75
                                       192.168.1.1
...
C:\Users\michelandre>

Ajout des directives de restriction d'accès

On ajoute les directives ci-dessous dans le fichier .htaccess du répertoire racine du Dolibarr.

Prendre tout le contenu de l'encadré pour la commande.

cat >> /var/www/html/dolibarr/.htaccess <<'EOT'
order deny,allow
deny from all
allow from 10.10.10.81
allow from 192.168.1.81
allow from 127.0.0.1
EOT

Si on travaille à distance, il faut remplacer les deux adresses IP du poste de travail ci-dessus, par une seule: celle indiquée par https://checkmyip.com/.

* On indique aussi toujours 127.0.0.1.

On vérifie.

[root@tchana html]# tail -n 6 /var/www/html/dolibarr/.htaccess

order deny,allow
deny from all
allow from 10.10.10.81
allow from 192.168.1.81
allow from 127.0.0.1
[root@tchana html]#

Extraction du fichier

On retourne à la sessions PuTTY.

On vérifie que nous sommes toujours dans le répertoire racine du site Web par défaut.

[root@tchana html]# pwd

/var/www/html
[root@tchana html]#

On extrait le fichier download dans le répertoire dolibarr en supprimant le 1er répertoire du chemin contenu dans l'extraction.

[root@tchana html]# tar -zxvf download -C dolibarr --strip-components 1

...
dolibarr-9.0.1/
dolibarr-9.0.1/.pydevproject
...
dolibarr-9.0.1/.mailmap
dolibarr-9.0.1/CODE_OF_CONDUCT.md
[root@tchana html]#

Présentement, nous n'avons aucun WordPress d'installé dans le répertoire du site Web par défaut.

On affiche le contenu du répertoire.

[root@tchana html]# ls -als

total 48304
    0 drwxr-x---. 4 apache apache       74  7 avril 10:21 .
    0 drwxr-xr-x. 4 root   root         49  6 avril 15:27 ..
    4 drwxr-xr-x  8 apache apache     4096  7 avril 10:22 dolibarr
48296 -rw-r--r--  1 root   root   49454958  5 mars  11:04 download
    4 -rw-r--r--  1 root   root        337  6 avril 15:57 .htaccess
    0 drwxr-x---. 3 apache apache       28 18 janv. 20:26 .well-known
[root@tchana html]#

Le répertoire .well-known est obligatoire pour la vérification des défis lancés lors de l'installation d'un certificat Let's Encrypt.

On supprime le fichier download.

[root@tchana html]# rm download

rm : supprimer fichier « download » ? y
[root@tchana html]#

On vérifie.

[root@tchana html]# ls -als

total 8
0 drwxr-x---. 4 apache apache   58  7 avril 10:23 .
0 drwxr-xr-x. 4 root   root     49  6 avril 15:27 ..
4 drwxr-xr-x  8 apache apache 4096  7 avril 10:22 dolibarr
4 -rw-r--r--  1 root   root    337  6 avril 15:57 .htaccess
0 drwxr-x---. 3 apache apache   28 18 janv. 20:26 .well-known
[root@tchana html]#

On affiche le contenu du répertoire racine de Dolibarr.

[root@tchana html]# ls -als dolibarr

total 476
  4 drwxr-xr-x   8 apache apache   4096  7 avril 10:22 .
  0 drwxr-x---.  4 apache apache     58  7 avril 10:23 ..
  4 drwxr-xr-x  20    500    500   4096  5 mars  10:58 build
296 -rw-r--r--   1    500    500 301797  5 mars  09:51 ChangeLog
  4 -rw-r--r--   1    500    500    249 31 oct.  07:35 .codeclimate.yml
  8 -rw-r--r--   1    500    500   5470 31 oct.  07:35 CODE_OF_CONDUCT.md
  4 -rw-r--r--   1    500    500   2080 31 oct.  07:35 composer.json
 64 -rw-r--r--   1    500    500  63478 31 oct.  07:35 composer.lock
 36 -rw-r--r--   1    500    500  35147 31 oct.  07:35 COPYING
  8 -rw-r--r--   1    500    500   5444 31 oct.  07:35 COPYRIGHT
  0 drwxr-xr-x   8    500    500    101  5 mars  10:52 dev
  0 drwxr-xr-x   5    500    500     65  5 mars  10:52 doc
  4 drwxr-xr-x  46 apache apache   4096  6 avril 15:54 documents
  4 -rw-r--r--   1 root   root      344  7 avril 10:14 .htaccess
  4 drwxr-xr-x  66    500    500   4096  5 mars  10:52 htdocs
  4 -rw-r--r--   1    500    500     91 31 oct.  07:35 INSTALL
  8 -rw-r--r--   1    500    500   6345 11 nov.  11:35 .mailmap
  4 -rw-r--r--   1    500    500    310  7 juin   2018 .pydevproject
  8 -rw-r--r--   1    500    500   7510  1 févr. 09:08 README-FR.md
  8 -rw-r--r--   1    500    500   8033  1 févr. 09:04 README.md
  4 -rw-r--r--   1    500    500     95 31 oct.  07:35 robots.txt
  0 drwxr-xr-x  16    500    500    230 17 juil.  2017 scripts
[root@tchana html]#

On ajuste Récursivement le propriétaire et le groupe du répertoire racine de Dolibarr et on enlève Récursivement tous les droits à “other”.

[root@tchana html]# chown -R apache:apache dolibarr/  ;  chmod -R o-rwx dolibarr/

[root@tchana html]#

On vérifie.

[root@tchana html]# ls -als dolibarr/

total 476
  4 drwxr-x---   8 apache apache   4096  7 avril 10:22 .
  0 drwxr-x---.  4 apache apache     58  7 avril 10:23 ..
  4 drwxr-x---  20 apache apache   4096  5 mars  10:58 build
296 -rw-r-----   1 apache apache 301797  5 mars  09:51 ChangeLog
  4 -rw-r-----   1 apache apache    249 31 oct.  07:35 .codeclimate.yml
  8 -rw-r-----   1 apache apache   5470 31 oct.  07:35 CODE_OF_CONDUCT.md
  4 -rw-r-----   1 apache apache   2080 31 oct.  07:35 composer.json
 64 -rw-r-----   1 apache apache  63478 31 oct.  07:35 composer.lock
 36 -rw-r-----   1 apache apache  35147 31 oct.  07:35 COPYING
  8 -rw-r-----   1 apache apache   5444 31 oct.  07:35 COPYRIGHT
  0 drwxr-x---   8 apache apache    101  5 mars  10:52 dev
  0 drwxr-x---   5 apache apache     65  5 mars  10:52 doc
  4 drwxr-x---  46 apache apache   4096  6 avril 15:54 documents
  4 -rw-r-----   1 apache apache    344  7 avril 10:14 .htaccess
  4 drwxr-x---  66 apache apache   4096  5 mars  10:52 htdocs
  4 -rw-r-----   1 apache apache     91 31 oct.  07:35 INSTALL
  8 -rw-r-----   1 apache apache   6345 11 nov.  11:35 .mailmap
  4 -rw-r-----   1 apache apache    310  7 juin   2018 .pydevproject
  8 -rw-r-----   1 apache apache   7510  1 févr. 09:08 README-FR.md
  8 -rw-r-----   1 apache apache   8033  1 févr. 09:04 README.md
  4 -rw-r-----   1 apache apache     95 31 oct.  07:35 robots.txt
  0 drwxr-x---  16 apache apache    230 17 juil.  2017 scripts
[root@tchana html]#

Suppression du fichier install.lock

Pour pouvoir exécuter la mise à jour, il faut supprimer le fichier install.lock sinon, il sera impossible de procéder à celle-ci.

[root@tchana html]# rm /var/www/html/dolibarr/documents/install.lock

rm : supprimer fichier « /var/www/html/dolibarr/documents/install.lock » ? o
[root@tchana html]#

Mise à jour

Vérification des prérequis

On se rend à l'URL:

https://Nom-du-Domaine/dolibarr/

La version actuelle sur ce Serveur NethServer est Dolibarr 9.0.0.

On accepte la suggestion de l'installeur.

On clique Démarrer.


Migration du format de la base de données

À l'écran qui s'affiche, tout s'est bien passé OK → Étape suivante.


Migration des données

Migration terminée → Étape suivante.


Un message s'affiche indiquant qu'il nous faut recréer le fichier install.lock.

“Attention, pour des raisons de sécurité, afin de bloquer une nouvelle utilisation des outils d'installation/migration, une fois l'installation terminée, il est conseillé de placer dans le répertoire document de Dolibarr un fichier nommé install.lock en lecture seule.”

Fichier install.lock

On recrée le fichier install.lock et on y insère son contenu.

Prendre tout le contenu de l'encadré pour la commande.

cat > /var/www/html/dolibarr/documents/install.lock <<'EOT'
# ************************************** 
# Fichier de sécurité.
# ************************************** 
EOT

On ajuste le propriétaire et le groupe.

[root@tchana ~]# chown root:root /var/www/html/dolibarr/documents/install.lock

[root@tchana ~]#

On vérifie.

[root@tchana ~]# ls -ls /var/www/html/dolibarr/documents/install.lock

4 -r--r--r--  root root 109  7 avril 10:36 /var/www/html/dolibarr/documents/install.lock
[root@tchana ~]#

On vérifie le contenu.

[root@tchana ~]# cat /var/www/html/dolibarr/documents/install.lock

# **************************************
# Fichier de sécurité.
# **************************************
[root@tchana ~]#

Il n'y a pas de ligne vide avant la ligne # ******... Ci-dessus, nous avons inséré une ligne vide pour faciliter la copie de la commande.

Fin de la mise à jour

On retourne à l'écran de mise à jour.

→ Accéder à Dolibarr.


Dolibarr est maintenant à la version 9.0.1.

Vérification

Accueil → Outils d'administration → Infos Dolibarr.

Tout s'est bien passé, on voit nos versions.


Ré-autorisation des connexions

Il faut supprimer les directives, restreignant l'accès à Dolibarr, qu'on a mises en place avant l'exécution de la mise à jour.

On édite le fichier /var/www/html/dolibarr/.htaccess et on supprime les lignes ajoutées au paragraphe Ajout des directives de restriction d'accès.

On vérifie.

[root@tchana html]# cat /var/www/html/dolibarr/.htaccess

# **************************************
# Directive activant la redirection de page.
RewriteEngine On

# Ditective redirectionnant vers la page FQDN/dolibarr/htdocs
RewriteRule ^$ /dolibarr/htdocs
# **************************************

[root@tchana html]#

Les lignes pour la restriction d'accès ne sont plus présentes.

La mise à jour s'est bien déroulée.


Sauvegarde et restauration de la BD

Sauvegarde

Nous sommes de retour à notre machine virtuelle originale du début de ce cahier.

Il est toujours préférable, de temps à autre ou de façon périodique, de sauvegarder la base de données de Dolibarr juste au cas où…

Outils d'administration → Sauvegarde.

Si la BD est volumineuse, on peut utiliser une compression.

Étape 1: Base de données

→ Générer sauvegarde.



La sauvegarde a été générée avec succès.

La sauvegarde est conservée dans le répertoire: documents/admin/backup/.


Téléchargement

On peut télécharger directement la sauvegarde en cliquant le fichier.


On choisit Enregistrer le fichier.

On peut aussi télécharger la sauvegarde en utilisant WinSCP ou FileZilla.

On se rend dans le répertoire de stockage des sauvegardes.

[root@tchana ~]# cd /var/www/html/dolibarr/documents/admin/backup

[root@tchana backup]#

On affiche le contenu du répertoire.

[root@tchana backup]# ls -ls

total 52
52 -rw-rw---- 1 apache apache 49789  6 avril 11:23 mysqldump_DolibarrBD_9.0.1_201904061105.sql.bz2
[root@tchana backup]#

Étape 2: Répertoire documents

“Sauvegardez le contenu du répertoire document (/var/www/html/dolibarr/documents) qui contient tous les fichiers envoyés et générés. Par conséquent il contient également les fichiers dump générés à l'étape 1.”

→ Générer sauvegarde.


Le répertoire archivé devra être placé en lieu sûr.

Cette sauvegarde est plus volumineuse, car elle contient également les fichiers dump générés à l'é­ta­pe 1.

On clique le fichier pour le télécharger dans le même répertoire sur le poste de travail que celle de l'étape 1.

Nos fichiers de sauvegardes sont maintenant sur le poste de travail.

Suppression de la sauvegarde

Après les téléchargements, il n'est pas recommandé de conserver les sauvegardes sur le serveur et il vaut mieux les supprimer.

- On supprime le fichier en cliquant la poubelle.

- On s'assure du succès des opérations.

- On supprime le fichier en cliquant la poubelle.

- On s'assure du succès des opérations.


Restauration

Pour restaurer une sauvegarde de la BD, on la téléverse de la station vers le Serveur NethServer, puis on la restaure.

Pour connaître la commande de restauration:

Accueil → Outils d'administration → Restauration → cliquer MySQL (mysql) → Afficher commande réelle avec mot de passe en clair.


Lorsqu'on clique MySQL (mysql), le panneau Importation MySQL s'affiche.


Ci-dessus, si on clique Afficher la commande réelle avec mot de passe en clair, le mot de passe de notre BD est affiché en clair.


Le fichier de sauvegarde à restaurer doit être décompressé avant la restauration. La décompression enlèvera le suffixe .bz2 du nom du fichier de notre dernière sauvegarde.

Pour la restauration de notre dernière sauvegarde, la commande de restauration sera la suivante:

La commande /usr/bin/mysql102 est équivalente à /opt/rh/rh-mariadb102/root/usr/bin/mysql.

/usr/bin/mysql102  DolibarrBD                                     \
                   -h 127.0.0.1 -P 3312                           \
                   -u usager_dolibarr                             \
                   -pmdp_dolibarr                                 \
                   < mysqldump_DolibarrBD_9.0.1_201904061105.sql

Téléversement de la sauvegarde

Sur le serveur, on téléverse la sauvegarde à restaurer dans le répertoire d'origine.
Si nous ne sommes pas dans le répertoire de la sauvegarde, on s'y rend.

[root@tchana ~]# cd /var/www/html/dolibarr/documents/admin/backup/

[root@tchana backup]#

On affiche le contenu du répertoire.

[root@tchana backup]# ls -als

total 52
 0 drwxrwx--x 2 apache apache    61  7 avril 12:26 .
 0 drwxrwx--x 5 apache apache    49  6 avril 11:46 ..
52 -rw-r--r-- 1 root   root   49789  6 avril 11:40 mysqldump_DolibarrBD_9.0.1_201904061105.sql.bz2
[root@tchana backup]#

Décompression

Si la sauvegarde est compressée, il faut commencer par la décompresser.

Format Gzip

Si l'extension du fichier de sauvegarde est: gz.

La commande de décompression est la suivante:

gunzip mysqldump_DolibarrDB_9.0.1_201904061105.sql.gz

Format Bzip2

Si l'extension du fichier de sauvegarde est: bz2.

La commande de décompression est la suivante:

bunzip2 mysqldump_DolibarrDB_9.0.1_201904061105.sql.bz2

On installe l'utilitaire bzip2 pour pouvoir décompresser des fichiers bz2.

[root@tchana backup]# yum install -y bzip2

...
Résumé de la transaction
============================================================================================
Installation   1 Paquet

Taille totale des téléchargements : 52 k
Taille d'installation : 82 k
...
Installé :
  bzip2.x86_64 0:1.0.6-13.el7

Terminé !
[root@tchana backup]#

On décompresse la sauvegarde.

[root@tchana backup]# bunzip2 mysqldump_DolibarrBD_9.0.1_201904061105.sql.bz2

[root@tchana backup]#

On vérifie le résultat.

[root@tchana backup]# ls -als

total 492
  0 drwxrwx--x 2 apache apache     57  7 avril 13:09 .
  0 drwxrwx--x 5 apache apache     49  6 avril 11:46 ..
492 -rw-r--r-- 1 root   root   502170  6 avril 11:40 mysqldump_DolibarrBD_9.0.1_201904061105.sql
[root@tchana backup]#

Restauration

Pour vérifier que la restauration sera réellement effectuée, on modifie le nom de la société.

Accueil → Configuration → Société/Institution → Modifier.

On change le nom de la Société.
→ Enregistrer.

On restaure.

[root@tchana backup]# /usr/bin/mysql102  DolibarrBD                                     \
                                         -h 127.0.0.1 -P 3312                           \
                                         -u usager_dolibarr                             \
                                         -pmdp_dolibarr                                 \
                                          < mysqldump_DolibarrBD_9.0.1_201904061105.sql

[root@tchana backup]#

Vérification

Après la restauration, on vérifie si le nom original de notre société est de retour.

La restauration a pleinement fonctionnée.

Suppression du fichier de sauvegarde

[root@tchana backup]# rm mysqldump_DolibarrBD_9.0.1_201904061105.sql

rm : supprimer fichier « mysqldump_DolibarrBD_9.0.1_201904061105.sql » ? y
[root@tchana backup]#

On vérifie.

[root@tchana backup]# ls -als

total 0
0 drwxrwx--x 2 apache apache  6  7 avril 13:20 .
0 drwxrwx--x 5 apache apache 49  6 avril 11:46 ..
[root@tchana backup]#

La restauration s'est parfaitement déroulée.


Vidéos sur YouTube

Matinale présentation de l'ERP CRM libre Dolibarr @Aplose @PoleREALIS #Montpellier
(1h48m33 - Ajoutée le 18 janv. 2019) https://www.youtube.com/watch?v=-c-qB6DLkKM

Conférence “What's new in 9 0” en langue française
(1h21m - Ajoutée le 3 déc. 2018) https://www.youtube.com/watch?v=lA9SGdfvY_Q

Tutoriel-ERP Dolibarr de A à Z
(55m24 - 2014) https://www.youtube.com/watch?v=Lst993NUW7k



Victoire totale, hissons la bannière de la victoire.


Crédits

© 2014-2015-2017-2018-2019 RF-232
Auteur: Michel-André Robillard CLP
Remerciement: Tous les contributeurs GNU/GPL
Intégré par: Michel-André Robillard CLP
Contact: michelandre at micronator.org

Répertoire de ce document: E:\000_DocPourRF232_general\RF-232_NethServer-201\RF-232_Cours_NethServer-201-01_Dolibarr_2019-08-10_10h08.odt.

Historique des modifications:

VersionDateCommentaireAuteur
0.0.12014-12-24Début pour la version Dolibarr-3.6.1.Michel-André
0.2.02015-12-11Mise à jour pour la version Dolibarr-3.8.2.Michel-André
1.0.02017-01-14Mise à jour pour la version Dolibarr-4.0.3.Michel-André
2.0.02017-05-28Mise à jour complète de cette documentation.Michel-André
3.0.02018-12-01Mise à jour vers la dernière version de Dolibarr.Michel-André
4.0.02019-04-03Adaptation pour NethServer.Michel-André
4.0.12019-05-06- Ajout de l'antivirus ClamAV.
- Ajout pour l'inclusion du script /etc/profile.d/activer-php72.sh dans la sauvegarde des données.
- Il faut activer le référentiel stephdl lors de l'installation de MariaDB 10.2.
- Ajout du répertoire /etc/httpd/conf/ dans la sauvegarde des données.
- Création du fichier /etc/httpd/conf.d/z_well-known.conf et son ajout dans la sauvegarde des données.
- Réorganisation et ajouts dans la section Fichiers (Envoyer fichier).
- Corrections mineures.
Michel-André
4.0.22019-05-14Erreur de lien de Renvoi dans le paragraphe Configuration/Sécurité.Michel-André
4.1.02019-08-09Ajustements pour DokuWiki.Michel-André
12345678901 12345678901

<html><hr style=“width:50%; margin: 0 auto;”></html>

AVIS DE NON-RESPONSABILITÉ

Ce document est uniquement destiné à informer. Les informations, ainsi que les contenus et fonctionnalités de ce do­cument sont fournis sans engagement et peuvent être modifiés à tout moment. RF‑232 n'offre aucune garantie quant à l'actualité, la conformité, l'exhaustivité, la qualité et la durabilité des informations, contenus et fonctionnalités de ce document. L'accès et l'utilisation de ce document se font sous la seule responsabilité du lecteur ou de l'utilisateur.

RF‑232 ne peut être tenu pour responsable de dommages de quelque nature que ce soit, y compris des dommages di­rects ou indirects, ainsi que des dommages consécutifs résultant de l'accès ou de l'utilisation de ce document ou de son contenu.

Chaque internaute doit prendre toutes les mesures appropriées (mettre à jour régulièrement son logiciel antivirus, ne pas ouvrir des documents suspects de source douteuse ou non connue) de façon à protéger le contenu de son ordina­teur de la contamination d'éventuels virus circulant sur la Toile.

Toute reproduction interdite Vous reconnaissez et acceptez que tout le contenu de ce document, incluant mais sans s’y limiter, le texte et les images, sont protégés par le droit d’auteur, les marques de commerce, les marques de service, les brevets, les secrets industriels et les autres droits de propriété intellectuelle. Sauf autorisation expresse de RF-232, vous acceptez de ne pas vendre, délivrer une licence, louer, modifier, distribuer, copier, reproduire, transmettre, afficher publiquement, exécuter en public, publier, adapter, éditer ou créer d’oeuvres dérivées de ce document et de son contenu.

Avertissement

Bien que nous utilisions ici un vocabulaire issu des techniques informatiques, nous ne prétendons nullement à la précision technique de tous nos propos dans ce domaine.

1)
FQDN: Dans le DNS, un Fully Qualified Domain Name (FQDN, ou nom de domaine complètement qualifié) est un nom de domaine qui révèle la position absolue d'un nœud dans l'arborescence DNS en indiquant tous les domaines de niveau supérieur jusqu'à la racine. On parle également de domaine absolu, par opposition aux domaines relatifs. Par convention, le FQDN est ponctué par un point final.
Référence: https://fr.wikipedia.org/wiki/Fully_qualified_domain_name.

2)
Traitement multifil: Traitement multitâche qui se traduit par l'exécution simultanée des fils d'un même processus, et qui permet d'accélérer l'exécution d'un programme par l'exploitation à d'autres fins du temps d'attente imposé au processeur lors de l'accès aux données.Notes:- Le traitement multifil est très utilisé, notamment pour le traitement synchronisé de données audio et vidéo.- Lors du traitement multifil, les fils constituant le processus sont exécutés de façon imbriquée de manière à simuler la simultanéité.- À la différence du multitraitement qui fonctionne au niveau de l'application, le traitement multifil fonctionne au niveau des fils du processus. Il a l'avantage de consommer moins de ressources que le traitement simultané de plusieurs processus. Par contre, il implique la synchronisation du partage des ressources et de la mémoire du processeur entre les différents fils qui composent le processus traité.Référence:http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8351242.
3)
Fin de vie(Eol - End of life): Se dit en informatique d'un logiciel ou d'un produit en fin de vie que l'éditeur ou le constructeur ne fait plus évoluer. Référence:https://fr.wikipedia.org/wiki/Fin_de_vie_(produit).
nethserver_201_cahier_01_nethserver_et_dolibarr.txt · Dernière modification : 2025-01-12 19:30 de 127.0.0.1