Ce projet a pour vocation d'ouvrir l'application BDOH aux acteurs extérieurs à INRAE, instituts de recherche ou bureaux d'étude, pouvant en bénéficier dans le cadre de leurs activités liées à l'hydrologie.
\ No newline at end of file
Ce projet a pour vocation d'ouvrir l'application BDOH aux acteurs extérieurs à INRAE, instituts de recherche ou bureaux d'étude, pouvant en bénéficier dans le cadre de leurs activités liées à l'hydrologie.
Ce guide est rédigé pour une installation sur un serveur ou machine virtuel vérifiant les prérequis suivants:
Ce guide est rédigé pour une installation sur un serveur ou machine virtuel vérifiant les prérequis suivants:
* système d'exploitation : [système d'exploitation Debian](https://www.debian.org/), version Buster.
* réseau déjà configuré avec accès complet à Internet,
* locales et fuseau horaire configurés,
* compte utilisateur non-administrateur mais qui peut utiliser `sudo` pour exécuter des commandes en tant que superutillisateur (`root`).
* une archive de BDOH v4.0.0 ou plus, par exemple : https://gitlab.irstea.fr/pole-is/bdoh/-/archive/v4.0.2/bdoh-v4.0.2.tar.bz2
* le réseau est déjà configuré et le serveur a un accès complet à Internet,
* la locale fr_FR.UTF-8 et le fuseau horaire sont configurés,
* un compte utilisateur non-administrateur a été crée. Il peut utiliser `sudo` pour exécuter des commandes en tant que superutillisateur (`root`).
* une archive de BDOH v4.0.0 est disponible sur le serveur, par exemple : https://gitlab.irstea.fr/pole-is/bdoh/-/archive/v4.0.2/bdoh-v4.0.2.tar.bz2
Il est possible d'installer facilement OpenBDOH sur une distribution Linux dérivée de Debian, comme Ubuntu Linux, par exemple. En revanche, l'installation sur une autre distribution, comme RedHad, CentOS..., nécessiterait des adaptations dans les commandes, les noms de paquets, les chemins de fichiers... qui ne seront pas abordées dans ce guide.
Il est possible d'installer facilement OpenBDOH sur une distribution Linux dérivée de Debian, comme Ubuntu Linux, par exemple. En revanche, l'installation
sur une autre distribution, comme RedHad, CentOS..., nécessiterait des adaptations dans les commandes, les noms de paquets, les chemins de fichiers... qui ne seront pas abordées dans ce guide.
## Communications sécurisées
Pour la mise en place de communications sécurisée (protocole HTTPS au lieu de HTTP), il est nécessaire d'obtenir :
* un nom d'hôte complet inscrit dans le DNS,
* une clef privée ainsi qu'un certificat SSL correspondant au nom ci-dessous.
## Conventions
Pour la suite de ce guide, les informations suivantes seront utilisées dans les exemples. Veillez à adapter à votre cas.
* nom du site web : `openbdoh.example.com`
* compte non-privilégié : `devops`
* chemin d'installation : `/var/www/bdoh`
* mot de passe de la base de données: `MotDePasseOpenBDOH`
* mot de passe de la base de données : `MotDePasseOpenBDOH`
* chemin de l'archive OpenBDOH : `/home/devops/bdoh-v4.0.2.tar.bz2`
Les commandes à exécuter sont indiquées dans des blocs comme ci-dessous. Il est prévu de les exécuter en tant que `devops`.
```
echo "une commande"
```
# Procédure d'installation
## Installation des paquets
## Installation des paquets systèmes
Certaines versions des logiciels n'étant pas disponibles dans la version de base de Debian, des dépôts APT tierce-partie sont utilisés.
Certaines versions des logiciels n'étant pas disponibles dans la version de base de Debian, des dépôts APT tierce-partie sont utilisés :
* le [dépôt APT de PHP par Ondřej Surý](https://deb.sury.org/),
* le [dépôt APT de NodeJS par NodeSource](https://github.com/nodesource/distributions#deb).
* Installer les paquets nécessaires pour utiliser les dépôts tierces.
*Ajouter le [dépôt APT de PHP par Ondřej Surý](https://deb.sury.org/) et le [dépôt APT de NodeJS par NodeSource](https://github.com/nodesource/distributions#deb) :
*Configurer APT pour utiliser les dépôts APT supplémentaires :
On ajoute un fichier de configuration pour l'outil logrotate:
On ajoute un fichier de configuration pour l'outil logrotate:
```shell
sudo tee /etc/logrotate.d/bdoh <<EOF
/var/www/bdoh/app/logs/*.log {
...
...
@@ -124,16 +134,16 @@ sudo tee /etc/logrotate.d/bdoh <<EOF
EOF
```
# Configuration du protocole SSL:
* afin d'offrir aux utilisateurs une connexion HTTPS, permettant de chiffrer les données échangées avec OpenBDOH il s'avère nécessaire de configurer le protocole SSL. Pour ce faire plusieurs étapes sont nécessaires:
# Configuration du protocole SSL:
* afin d'offrir aux utilisateurs une connexion HTTPS, permettant de chiffrer les données échangées avec OpenBDOH il s'avère nécessaire de configurer le protocole SSL. Pour ce faire plusieurs étapes sont nécessaires:
- obtenir les certificats SSL
- installer les certificats SSL sur le serveur OpenBDOH:
- installer les certificats SSL sur le serveur OpenBDOH:
- /etc/ssl/certs/ pour le certificat public
- /etc/ssl/private/ pour la clef privée
- configurer Apache2 afin d'utiliser les certificats nouvellement installés
# Paramétrage de PHP:
* activer les modules PHP nécessaires:
# Paramétrage de PHP:
* activer les modules PHP nécessaires:
```shell
sudo tee /etc/php/7.1/mods-available/owasp-security.ini <<'EOF'
* Configurer l'application. Pour cela, il faut modifier le fichier `/var/www/bdoh/app/config/parameters.yml` qui a été généré à l'étape précédente pour renseigner les paramètres tels ques:
* Configurer l'application. Pour cela, il faut modifier le fichier `/var/www/bdoh/app/config/parameters.yml` qui a été généré à l'étape précédente pour renseigner les paramètres tels ques:
-`database_*` : les informations de connexion à la base de données,
-`mailer_*` : le informations de connexion au serveur STMP sortant,
-`secret` : un "secret" pour la sécurisation des sessions,
...
...
@@ -178,7 +187,7 @@ yarn install --pure-lockfile
-`router.request_context.host` : le nom d'hôte.
- les paramètres `logo_long_web_link`, `logo_short_web_link` et `mini_logo_sonata` peuvent être modifiés pour afficher des logos ; le chemin est relatif à `/var/www/bdoh/web`.