From 1fc755b4789012d433e644ba5169bccfff2b8685 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Guillaume=20Perr=C3=A9al?= <guillaume.perreal@inrae.fr>
Date: Fri, 26 Nov 2021 16:29:20 +0100
Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20la=20documentation?=
 =?UTF-8?q?=20d'installation.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 doc/guide_installation_OpenBDOH.md | 57 +++++++++++++++---------------
 1 file changed, 29 insertions(+), 28 deletions(-)

diff --git a/doc/guide_installation_OpenBDOH.md b/doc/guide_installation_OpenBDOH.md
index ae9d85967..d9b579c30 100644
--- a/doc/guide_installation_OpenBDOH.md
+++ b/doc/guide_installation_OpenBDOH.md
@@ -13,6 +13,7 @@ Ce guide est rédigé pour une installation sur un serveur ou machine virtuel v
     * Disque base de données Postgresql : 32 Go pour 70 millions de mesures.
   * la locale `fr_FR.UTF-8` et le fuseau horaire sont configurés, selon la localisation du serveur
   * un compte utilisateur non-administrateur a été crée. Il peut utiliser `sudo` pour exécuter des commandes en tant que superutillisateur (`root`)
+  * un archive des [sources d'OpenBDOH](https://gitlab.irstea.fr/pole-is/open_bdoh/-/tree/master).
 
 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.
 
@@ -25,13 +26,13 @@ Pour la mise en place de communications sécurisée (protocole HTTPS au lieu de
 ## 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`
+  * 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`
-  * chemin de l'archive OpenBDOH : `/home/devops/bdoh-v4.0.2.tar.bz2`
+  * chemin de l'archive OpenBDOH : `/home/DEVOPS/bdoh.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`.
+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"
 ```
@@ -63,18 +64,18 @@ sudo apt-get install -yq acl apache2 cron libpq-dev nodejs php7.1 php7.1-apcu ph
 
 ## Installation d'OpenBDOH
 ```shell
-sudo mkdir -p -m 02755 /var/www/bdoh
-sudo chown devops:www-data /var/www/bdoh
-tar xfj /home/devops/bdoh-v4.0.2.tar.bz2 --directory=/var/www/bdoh --strip-components=1
+sudo mkdir -p -m 02755 /VAR/WWW/BDOH
+sudo chown DEVOPS:www-data /VAR/WWW/BDOH
+tar xfj /home/DEVOPS/bdoh-v4.0.2.tar.bz2 --directory=/VAR/WWW/BDOH --strip-components=1
 ```
 
 # Paramétrage de PostgreSQL
 * Configurer les modes de connexion :
 ```shell
-# Ajoute une ligne 'local	all	devops peer' après la ligne 'local ... postgres'
+# Ajoute une ligne 'local	all	DEVOPS peer' après la ligne 'local ... postgres'
 # et remplace la ligne 'local all all peer' par 'local all all md5'
 sudo sed -i \
-  -e '/^local.*postgres/alocal all devops peer' \
+  -e '/^local.*postgres/alocal all DEVOPS peer' \
   -e '/^local.*all.*all.*peer/clocal all all md5' \
   /etc/postgresql/11/main/pg_hba.conf
 ```
@@ -82,16 +83,16 @@ sudo sed -i \
 ```shell
 sudo systemctl restart postgresql
 ```
-* Créer les utilisateurs devops et bdoh :
+* Créer les utilisateurs DEVOPS et bdoh :
 ```shell
 sudo -u postgres psql <<EOF
-CREATE USER devops SUPERUSER;
+CREATE USER DEVOPS SUPERUSER;
 CREATE USER bdoh WITH PASSWORD 'MotDePasseOpenBDOH';
 EOF
 ```
 * Créer la base de données BDOH :
 ```shell
-psql template1 devops <<'EOF'
+psql template1 DEVOPS <<'EOF'
 CREATE DATABASE bdoh ENCODING 'UTF8' LC_COLLATE "fr_FR.UTF-8" LC_CTYPE "fr_FR.UTF-8";
 ALTER DATABASE bdoh SET search_path = "bdoh", "$user", public;
 \c bdoh
@@ -106,15 +107,15 @@ sudo cp files/local_pg_dump /etc/cron.daily/
 sudo chmod 0555 /etc/cron.daily/local_pg_dump
 ```
 
-# (Optionel) Accès rapide à la base de données pour l'utilisateur devops
+# (Optionel) Accès rapide à la base de données pour l'utilisateur DEVOPS
 On configure les variables d'environnement PG* dans ~/.profile et on enregistre le mot de passe dans ~/.pgpass.
 ```shell
-echo "export PGDATABASE=bdoh PGUSER=devops PGHOST=/run/postgresql PGPORT=5432" >>~/.profile
+echo "export PGDATABASE=bdoh PGUSER=DEVOPS PGHOST=/run/postgresql PGPORT=5432" >>~/.profile
 echo "localhost:5432:bdoh:bdoh:MotDePasseOpenBDOH" >~/.pgpass
 chmod 0400 ~/.pgpass
 ```
 
-# Environnement de l'utilisateur devops
+# Environnement de l'utilisateur DEVOPS
 On configure les variables d'environnement SYMFONY_ENV et SYMFONY_DEBUG.
 ```shell
 echo "export SYMFONY_ENV=prod SYMFONY_DEBUG=0" >>~/.profile
@@ -125,7 +126,7 @@ echo "export SYMFONY_ENV=prod SYMFONY_DEBUG=0" >>~/.profile
 On ajoute un fichier de configuration pour l'outil logrotate :
 ```shell
 sudo tee /etc/logrotate.d/bdoh <<EOF
-/var/www/bdoh/app/logs/*.log {
+/VAR/WWW/BDOH/app/logs/*.log {
 	weekly
 	missingok
 	rotate 52
@@ -175,23 +176,23 @@ sudo npm install --global --production yarn
 # Déploiement de l'application
 * Se placer dans le répertoire d'installation :
 ```shell
-cd /var/www/bdoh
+cd /VAR/WWW/BDOH
 ```
 * Installer les librairies
 ```shell
 composer install --verbose --prefer-dist --no-progress --no-interaction --no-dev --optimize-autoloader --no-suggest
 yarn install --pure-lockfile
 ```
-* 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,
   - `theia_password_secret_key` : un "secret" pour la sécurisation des mots de passe Theia ; ce doit être une valeur de 32 octets en hexadécimal (i.e. 64 caractères),
   - `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`.
+  - 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`.
 ```shell
 # Exemple :
-cat >/var/www/bdoh/app/config/parameters.yml <<'EOF'
+cat >/VAR/WWW/BDOH/app/config/parameters.yml <<'EOF'
 parameters:
     database_driver:   pdo_pgsql
     database_host:     /run/postgresql
@@ -222,7 +223,7 @@ parameters:
     logo_short_web_link: images/Logo_INRAE.png
     mini_logo_sonata: images/MiniLogo_INRAE_REPUBLIQUE.png
 
-    router.request_context.host: 'openbdoh.example.com'
+    router.request_context.host: 'OPENBDOH.EXAMPLE.COM'
 EOF
 ```
 * Régénérer le cache de Symfony
@@ -237,14 +238,14 @@ yarn run encore production
 * Définir les permissions sur les dossiers :
 ```shell
 mkdir -p app/{cache,logs,imports,exports} web/{uploads,css/themes}
-setfacl -R -m u:www-data:rwX -m u:devops:rwX app/{cache,logs,imports,exports} web/{uploads,css/themes}
-setfacl -R -d -m u:www-data:rwX -m u:devops:rwX app/{cache,logs,imports,exports} web/{uploads,css/themes}
+setfacl -R -m u:www-data:rwX -m u:DEVOPS:rwX app/{cache,logs,imports,exports} web/{uploads,css/themes}
+setfacl -R -d -m u:www-data:rwX -m u:DEVOPS:rwX app/{cache,logs,imports,exports} web/{uploads,css/themes}
 ```
 * Appliquer les migrations de la base de données :
 ```shell
 app/console doctrine:migrations:migrate --no-interaction --allow-no-migration --write-sql
 # La commande a généré un fichier doctrine_migration_AAAAMMJJHHMMSS.sql, on l'exécute :
-psql bdoh devops <doctrine_migration_*.sql
+psql bdoh DEVOPS <doctrine_migration_*.sql
 ```
 
 # Paramétrage d'Apache2 :
@@ -256,7 +257,7 @@ ServerName openbdoh.example.org
 CustomLog /var/log/apache2/openbdoh-access.log common
 ErrorLog /var/log/apache2/openbdoh-error.log
 
-DocumentRoot /var/www/bdoh/web
+DocumentRoot /VAR/WWW/BDOH/web
 
 ServerTokens Prod
 ServerSignature Off
@@ -265,7 +266,7 @@ Header set X-Content-Type-Options: "nosniff"
 Header set X-XSS-Protection: "1; mode=block"
 Header set X-Frame-Options: "sameorigin"
 
-<Directory /var/www/bdoh/web>
+<Directory /VAR/WWW/BDOH/web>
   SetEnv           SYMFONY_ENV prod
   Require          all granted
   AllowOverride    None
@@ -298,7 +299,7 @@ sudo systemctl restart apache2
 ## Installation de l'éxécuteur de jobs
 * Installer le service bdoh-job-worker
 ```shell
-sudo cp /var/www/bdoh/app/config/bdoh-job-worker.service /etc/systemd/system/
+sudo cp /VAR/WWW/BDOH/app/config/bdoh-job-worker.service /etc/systemd/system/
 sudo chown root:root /etc/systemd/system/bdoh-job-worker.service
 sudo chmod 644 /etc/systemd/system/bdoh-job-worker.service
 sudo systemctl daemon-reload
-- 
GitLab