serveurs:installation:web-srv:geonature-atlas-mise-a-jour

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
serveurs:installation:web-srv:geonature-atlas-mise-a-jour [2022/03/25 20:55] – [À partir d'une branche] jpmilcentserveurs:installation:web-srv:geonature-atlas-mise-a-jour [2022/11/23 11:44] (Version actuelle) – [Surcouchage des fichiers Systemd de GeoNature Atlas (Atlas > v1.4.3)] jpmilcent
Ligne 231: Ligne 231:
     * Relancez l'installation automatique de l'application : '' cd ~/www/atlas/ ; ./install_app.sh ''     * Relancez l'installation automatique de l'application : '' cd ~/www/atlas/ ; ./install_app.sh ''
     * Consulter les logs de l'installation dans ''~/www/atlas/log/errors_atlas.log'' avec : ''tail -f ~/www/atlas/log/errors_atlas.log ''     * Consulter les logs de l'installation dans ''~/www/atlas/log/errors_atlas.log'' avec : ''tail -f ~/www/atlas/log/errors_atlas.log ''
-    * Réactiver le service de //Supervisor// : ''supervisorctl start atlas''+    * Réactiver le service : ''sudo systemctl start geonature-atlas''
     * Désactiver le mode maintenance de l'Atlas : ''sudo nginx_dissite atlas_maintenance.conf ; sudo nginx_ensite atlas.conf ; sudo service nginx reload''     * Désactiver le mode maintenance de l'Atlas : ''sudo nginx_dissite atlas_maintenance.conf ; sudo nginx_ensite atlas.conf ; sudo service nginx reload''
  
Ligne 241: Ligne 241:
     * Récupérer aussi les 7 derniers caractères du SHA1 du dernier commit de la branche à récupérer      * Récupérer aussi les 7 derniers caractères du SHA1 du dernier commit de la branche à récupérer 
     * Exporter la version de l'Atlas obtenu avec //cat// en la concaténant avec les 7 premiers caractères du commit séparé par "-" . Ex. : ''<nowiki> export GNAV="1.5.2-dev0-04dbbcb" </nowiki>''     * Exporter la version de l'Atlas obtenu avec //cat// en la concaténant avec les 7 premiers caractères du commit séparé par "-" . Ex. : ''<nowiki> export GNAV="1.5.2-dev0-04dbbcb" </nowiki>''
-  * Vérifier les versions en question : '' echo "Branche: ${GNAB} ; TaxHub : ${GNAV}" ''+  * Vérifier les versions en question : '' echo "Branche: ${GNAB} ; GeoNature-Atlas : ${GNAV}" ''
   * Se placer dans le dossier //dwl// de l'utilisateur //geonat// : ''cd ~/dwl/''   * Se placer dans le dossier //dwl// de l'utilisateur //geonat// : ''cd ~/dwl/''
   * Télécharger l'archive : ''<nowiki> wget https://github.com/PnX-SI/GeoNature-atlas/archive/<branche>.zip -O "atlas_${GNAB}_v${GNAV}.zip" </nowiki>''   * Télécharger l'archive : ''<nowiki> wget https://github.com/PnX-SI/GeoNature-atlas/archive/<branche>.zip -O "atlas_${GNAB}_v${GNAV}.zip" </nowiki>''
Ligne 258: Ligne 258:
     * //config.py// : '' vi ~/www/atlas_${GNAB}_v${GNAV}/atlas/configuration/config.py ''     * //config.py// : '' vi ~/www/atlas_${GNAB}_v${GNAV}/atlas/configuration/config.py ''
     * //settings.ini// : '' vi ~/www/atlas_${GNAB}_v${GNAV}/atlas/configuration/settings.ini ''      * //settings.ini// : '' vi ~/www/atlas_${GNAB}_v${GNAV}/atlas/configuration/settings.ini '' 
-  * Copier le contenu du dossier "//static//" : '' cp -aR ~/www/atlas/static/custom/ ~/www/atlas_${GNAB}_v${GNAV}/static ''+  * Copier 
 +    * le contenu du dossier "//static//" : '' cp -aR ~/www/atlas/atlas/static/custom/ ~/www/atlas_${GNAB}_v${GNAV}/atlas/static '' 
 +    * le fichier //environ// : ''cp ~/www/atlas/environ ~/www/atlas_${GNAB}_v${GNAV}/environ''
   * Modifier les liens symboliques :   * Modifier les liens symboliques :
     * pour la nouvelle version : ''cd ~/www; rm -f atlas; ln -s atlas_${GNAB}_v${GNAV} atlas''     * pour la nouvelle version : ''cd ~/www; rm -f atlas; ln -s atlas_${GNAB}_v${GNAV} atlas''
Ligne 267: Ligne 269:
   * Consulter les éventuelles notes de version spécifiques décrites au niveau de chaque version : https://github.com/PnX-SI/GeoNature-atlas/releases   * Consulter les éventuelles notes de version spécifiques décrites au niveau de chaque version : https://github.com/PnX-SI/GeoNature-atlas/releases
      * Sur l'instance "//web-srv//" exécuter tous les scripts en lien avec l'interface.      * Sur l'instance "//web-srv//" exécuter tous les scripts en lien avec l'interface.
-     * Sur l'instance "//db-srv//" exécuter tous les scripts en lien avec la base de données.+     * Sur l'instance "//db-srv//" exécuter tous les scripts en lien avec la base de données.
   * Sur "//db-srv//" :   * Sur "//db-srv//" :
     * Se connecter au serveur : ''ssh geonat@<sinp-db>''     * Se connecter au serveur : ''ssh geonat@<sinp-db>''
Ligne 274: Ligne 276:
   * Sur "//web-srv//" :   * Sur "//web-srv//" :
     * Relancez l'installation automatique de l'application : '' cd ~/www/atlas/ ; ./install_app.sh ''     * Relancez l'installation automatique de l'application : '' cd ~/www/atlas/ ; ./install_app.sh ''
-    * Consulter les logs de l'installation dans ''~/www/atlas/log/errors_atlas.log'' avec : ''tail -f ~/www/atlas/log/errors_atlas.log '' +    * Réactiver le service de //Systemd// : ''sudo systemctl restart geonature-atlas''
-    * Réactiver le service de //Systemd// : ''sudo systemctl start atlas''+
     * Désactiver le mode maintenance de l'Atlas : ''sudo nginx_dissite atlas_maintenance.conf ; sudo nginx_ensite atlas.conf ; sudo nginx-reload''     * Désactiver le mode maintenance de l'Atlas : ''sudo nginx_dissite atlas_maintenance.conf ; sudo nginx_ensite atlas.conf ; sudo nginx-reload''
  
 +===== Surcouchage des fichiers Systemd de GeoNature Atlas (Atlas > v1.4.3) =====
 +Surcoucher le service Systemd de GeoNature Atlas :
 +  * Afin d'éviter que les modifications effectuées dans le fichier ///lib/systemd/system/geonature-atlas.service// soient écrasées à chaque mise à jour de GeoNature Atlas, vous devez ajouter un fichier qui écrasera les valeurs par défaut.
 +  * Pour créer automatiquement l'arborescence de dossier et le fichier nécessaire, utiliser la commande suivante : '' systemctl edit geonature-atlas ''
 +  * La commande précédente ouvre l'éditeur par défaut du système, vous pouvez ajouter le contenu suivant et sortir de l'édition du fichier en sauvegardant : <code properties>
 +[Unit]
 +StartLimitIntervalSec=6min
 +StartLimitBurst=5
 +
 +[Service]
 +ExecStart=
 +ExecStart=/home/geonat/www/atlas/venv/bin/gunicorn atlas.wsgi:app \
 +                --statsd-host "localhost:8125" \
 +                --statsd-prefix "atlas"  \
 +                --name "${GUNICORN_PROC_NAME}" --workers "${GUNICORN_NUM_WORKERS}" \
 +                --bind "${GUNICORN_HOST}:${GUNICORN_PORT}" --timeout="${GUNICORN_TIMEOUT}"
 +Restart=on-failure
 +RestartSec=1min
 +</code>
 +    * **Note** : la première ligne //ExecStart=// vide permet de réinitialiser la commande de lancement
 +  * Les modifications devraient être présente dans le fichier suivant : '' vi /etc/systemd/system/geonature-atlas.service.d/override.conf ''
 +  * Lancer la prise en compte des modifications qui vérifiera une éventuelle erreur : '' systemctl daemon-reload ''
 +  * Relancer le service si nécessaire : '' systemctl restart geonature-atlas ''
  
 ===== Import des images de l'INPN ===== ===== Import des images de l'INPN =====
Ligne 314: Ligne 338:
 WHERE NOT s.cd_nom IN (SELECT DISTINCT cd_nom FROM taxonomie.bib_noms); WHERE NOT s.cd_nom IN (SELECT DISTINCT cd_nom FROM taxonomie.bib_noms);
 </code> </code>
-      * Utiliser //Psql// avec la requête suivante si ''bib_noms'' est vide (Temps d’exécution 20s pour 9,3 millions de lignes dans ''synthese''): '' psql -h localhost -U geonatadmin -d geonature2db -c "INSERT INTO taxonomie.bib_noms (cd_nom, cd_ref) SELECT DISTINCT s.cd_nom, t.cd_ref FROM gn_synthese.synthese AS s JOIN taxonomie.taxref AS t ON s.cd_nom = t.cd_nom ;" ''+      * Utiliser //Psql// avec la requête suivante si ''bib_noms'' est vide (Temps d’exécution 20s pour 9,3 millions de lignes dans ''synthese''): '' psql -h localhost -U geonatadmin -d geonature2db -c "INSERT INTO taxonomie.bib_noms (cd_nom, cd_ref) SELECT DISTINCT s.cd_nom, t.cd_ref FROM gn_synthese.synthese AS s JOIN taxonomie.taxref AS t ON s.cd_nom = t.cd_nom WHERE NOT s.cd_nom IN (SELECT DISTINCT cd_nom FROM taxonomie.bib_noms); 
 +" ''
   * Lancer le script : '' python import_inpn_media.py ''   * Lancer le script : '' python import_inpn_media.py ''
   * Vérifier la présence des médias dans la table ''taxonomie.t_medias''.   * Vérifier la présence des médias dans la table ''taxonomie.t_medias''.
Ligne 349: Ligne 374:
 </code> </code>
     * Soit : '' psql -h localhost -U geonatadmin -d geonature2db -c "WITH first_media AS (SELECT MIN(id_media) AS first_id_media_founded, cd_ref FROM taxonomie.t_medias GROUP BY cd_ref) UPDATE taxonomie.t_medias AS tm SET id_type = 1 FROM first_media AS fm WHERE tm.id_media = fm.first_id_media_founded AND  tm.cd_ref = fm.cd_ref ;" ''     * Soit : '' psql -h localhost -U geonatadmin -d geonature2db -c "WITH first_media AS (SELECT MIN(id_media) AS first_id_media_founded, cd_ref FROM taxonomie.t_medias GROUP BY cd_ref) UPDATE taxonomie.t_medias AS tm SET id_type = 1 FROM first_media AS fm WHERE tm.id_media = fm.first_id_media_founded AND  tm.cd_ref = fm.cd_ref ;" ''
 +    * Pour réinitialiser toutes les images en tant que secondaire : <code sql>
 +UPDATE taxonomie.t_medias AS tm 
 +    SET id_type = 2
 +    WHERE id_type = 1 ;
 +</code>
 +    * Pour favoriser certaines sources en tant qu'image principale en mise à jour : <code sql>
 +WITH exists_first_medias AS (
 + SELECT cd_ref 
 + FROM taxonomie.t_medias AS stm 
 + WHERE id_type = 1
 +),
 +priority_first_medias AS (
 + SELECT
 + 1 AS priority,
 + MIN(id_media) AS first_id_media_founded,
 + cd_ref 
 + FROM taxonomie.t_medias
 + WHERE cd_ref NOT IN ( SELECT cd_ref FROM exists_first_medias )
 + AND "source" != 'INPN'
 + AND supprime != true
 + GROUP BY cd_ref 
 + UNION 
 + SELECT
 + 2 AS priority,
 + MIN(id_media) AS first_id_media_founded,
 + cd_ref 
 + FROM taxonomie.t_medias
 + WHERE cd_ref NOT IN ( SELECT cd_ref FROM exists_first_medias )
 + AND "source" = 'INPN'
 + AND supprime != true
 + GROUP BY cd_ref 
 +),
 +first_medias AS (
 + SELECT DISTINCT ON (pfm.cd_ref) pfm.cd_ref, pfm.priority, pfm.first_id_media_founded
 + FROM priority_first_medias AS pfm
 + ORDER BY pfm.cd_ref, pfm.priority 
 +)
 +UPDATE taxonomie.t_medias AS tm 
 +    SET id_type = 1
 +    FROM first_medias AS fm
 +    WHERE tm.id_media = fm.first_id_media_founded
 +        AND tm.cd_ref = fm.cd_ref ;
 +</code>
   * Pour afficher les images sur l'Atlas, il est nécessaire de rafraichir les données des vues matérialisées //atlas.vm_medias// et //atlas.vm_taxons_plus_observes// : <code sql>   * Pour afficher les images sur l'Atlas, il est nécessaire de rafraichir les données des vues matérialisées //atlas.vm_medias// et //atlas.vm_taxons_plus_observes// : <code sql>
 REFRESH MATERIALIZED VIEW atlas.vm_medias WITH DATA ; REFRESH MATERIALIZED VIEW atlas.vm_medias WITH DATA ;
  • serveurs/installation/web-srv/geonature-atlas-mise-a-jour.1648241713.txt.gz
  • Dernière modification : 2022/03/25 20:55
  • de jpmilcent