|  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-app [2020/02/25 13:27]  – [Téléchargement et organisation des dossiers de GeoNature]  jpmilcent | serveurs:installation:web-srv:geonature-app [2023/11/12 21:41] (Version actuelle)  – [Installer GeoNature App]  jpmilcent | 
|---|
| ====== Installer et configurer GeoNature App ====== | ====== Installer et configurer GeoNature App ====== | 
 |  | 
| ===== Téléchargement et organisation des dossiers de GeoNature =====  | ===== Téléchargement de GeoNature =====  | 
|   * Récupérer l'URL de la dernière version de GeoNature disponible : ''<nowiki> curl -s https://api.github.com/repos/PnX-SI/GeoNature/releases/latest | grep tarball_url | cut -d\" -f4 </nowiki>''  | Voir la [[serveurs:installation:geonature#installation_de_geonature|documentation commune aux 2 instances]]. | 
|   * Se placer dans le dossier //dwl// de l'utilisateur //geonat// : ''cd ~/dwl/''  |  | 
|   * Exporter la dernière version de GeoNature dans une variable d'env locale à la session : ''<nowiki> export GNV=$(curl -s https://api.github.com/repos/PnX-SI/GeoNature/releases/latest | grep tag_name | cut -d\" -f4) </nowiki>''  |  | 
|   * Télécharger l'archive : ''<nowiki> wget https://github.com/PnX-SI/GeoNature/archive/${GNV}.zip -O geonature_v${GNV}.zip </nowiki>''  |  | 
|   * Décompresser l'archive dans le dossier //www// de l'utilisateur //geonat// : ''unzip geonature_v${GNV}.zip -d ~/www/''  |  | 
|   * Se rendre dans le dossier //www// : ''cd ~/www/''  |  | 
|   * Renommer le dossier au format GeoNature (=> uniformité): ''mv GeoNature-${GNV} geonature_v${GNV}''  |  | 
|   * Suivez les éventuelles notes de version spécifiques décrites au niveau de chaque version : https://github.com/PnX-SI/GeoNature/releases  |  | 
| ===== Installer GeoNature App ===== | ===== Installer GeoNature App ===== | 
|   * Se placer dans le dossier //install/// de GeoNature : ''cd /home/geonat/www/geonature/install/''  |   * Si vous avez installer Nvm manuellement, installer la version de Node et Npm nécessaire à GeoNature :  | 
|   * Créer un fichier de log vide : ''touch ../var/log/install_app.log''  |     * Se placer dans le dossier ''frontend/'' : ''cd frontend/''  | 
|   * Lancer l'installation : ''./install_app.sh 2>&1 | tee ../var/log/install_app.log'' |     * Installer Node et Npm à l'aide du fichier ''.nvmrc'' présent dans ce dossier : ''nvm install''  | 
|   |   * Installer le backend de GeoNature :   | 
|   |     * Se placer dans le dossier //install/// de GeoNature : ''cd /home/geonat/www/geonature/install/''  | 
|   |     * Lancer l'installation du backend : ''./01_install_backend.sh 2>&1 | tee ./$(date +"%Y-%m-%d")_install_app.log'' | 
|   * Préalable à la configuration de l'application : |   * Préalable à la configuration de l'application : | 
|     * Générer un uuid avec la commande : ''uuid'' |     * Générer un uuid avec la commande : ''uuid'' | 
|     * Éditer le fichier de config de l'appli : ''vi config/geonature_config.toml'' |     * Éditer le fichier de config de l'appli : ''vi config/geonature_config.toml'' | 
|     * Contenu : <code properties> |     * Contenu : <code properties> | 
|   | URL_APPLICATION = 'https://expert.<domaine-sinp>'  | 
|   | API_ENDPOINT = 'https://expert.<domaine-sinp>/api' | 
| API_TAXHUB = 'https://taxhub.<domaine-sinp>/api' | API_TAXHUB = 'https://taxhub.<domaine-sinp>/api' | 
| SECRET_KEY = '<uuid>' # Mettre un uuid généré avec la commande 'uuid' dans une Console | SECRET_KEY = '<uuid>' # Mettre un uuid généré avec la commande 'uuid' dans une Console | 
|   | MAIL_ON_ERROR = true | 
| # Configuration de l'accès distant à UsersHub (API)  |  | 
| [USERSHUB]  |  | 
|     URL_USERSHUB = 'https://usershub.<domaine-sinp>' # sans slash final  |  | 
|     # Administrateur de mon application  |  | 
|     ADMIN_APPLICATION_LOGIN = "admin"  |  | 
|     ADMIN_APPLICATION_PASSWORD = "<mot-de-passe-admin>" |  | 
 |  | 
| # Configuration de l'envoie d'emails | # Configuration de l'envoie d'emails | 
|     MAIL_DEFAULT_SENDER = 'contact@<domaine-sinp>' |     MAIL_DEFAULT_SENDER = 'contact@<domaine-sinp>' | 
|     MAIL_ASCII_ATTACHMENTS = false |     MAIL_ASCII_ATTACHMENTS = false | 
|   |  | 
|   | # Configuration de l'accès distant à UsersHub (API) | 
|   | [USERSHUB] | 
|   |     URL_USERSHUB = 'https://usershub.<domaine-sinp>' # sans slash final | 
|   |     # Administrateur de mon application | 
|   |     ADMIN_APPLICATION_LOGIN = "admin" | 
|   |     ADMIN_APPLICATION_PASSWORD = "<mot-de-passe-admin>" | 
 |  | 
| # Gestion des demandes d'inscription | # Gestion des demandes d'inscription | 
|     values = ["valeur1", "valeur2"] |     values = ["valeur1", "valeur2"] | 
|     required = false |     required = false | 
|   |  | 
|   | [FRONTEND] | 
|   |     DISPLAY_MAP_LAST_OBS = true | 
|   |  | 
|   | [MAPCONFIG] | 
|   |     CENTER = [43.96387, 6.06216] | 
|   |     ZOOM_LEVEL = 8 | 
|   |     ZOOM_LEVEL_RELEVE = 15 | 
|   |     ZOOM_ON_CLICK = 16 | 
|   |     BASEMAP = [ | 
|   |         {"name" = "OpenStreetMap", "layer" = "//{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png", "attribution" = "© OpenStreetMap", "maxZoom" = 22, "maxNativeZoom" = 19}, | 
|   |         {"name" = "OpenTopoMap", "layer" = "//a.tile.opentopomap.org/{z}/{x}/{y}.png", "attribution" = "© OpenTopoMap", "maxZoom" = 22, "maxNativeZoom" = 17}, | 
|   |         {"name" = "GoogleSatellite", "layer" = "//{s}.google.com/vt/lyrs=s&x={x}&y={y}&z={z}", "subdomains" = ["mt0", "mt1", "mt2", "mt3"], "attribution" = "© GoogleMap", "maxZoom" = 22, "maxNativeZoom" = 21}, | 
|   |         {"name" = "IGN Plan v2", "layer" = "https://wxs.ign.fr/cartes/geoportail/wmts?&REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&STYLE=normal&TILEMATRIXSET=PM&FORMAT=image/png&LAYER=GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "attribution" = "© IGN", "maxZoom" = 22, "maxNativeZoom" = 19}, | 
|   |         {"name" = "IGN Ortho", "layer" = "https://wxs.ign.fr/ortho/geoportail/wmts?&REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&STYLE=normal&TILEMATRIXSET=PM&FORMAT=image/jpeg&LAYER=ORTHOIMAGERY.ORTHOPHOTOS&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "attribution" = "© IGN", "maxZoom" = 22, "maxNativeZoom" = 19}, | 
|   |         {"name" = "IGN Cadastre", "layer" = "https://wxs.ign.fr/parcellaire/geoportail/wmts?&REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&STYLE=normal&TILEMATRIXSET=PM&FORMAT=image/png&LAYER=CADASTRALPARCELS.PARCELS&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "attribution" = "© IGN", "maxZoom" = 22, "maxNativeZoom" = 19}, | 
|   |         {"name" = "IGN SCAN 25®", "layer" = "https://wxs.ign.fr/<clef-ign>/geoportail/wmts?LAYER=GEOGRAPHICALGRIDSYSTEMS.MAPS&EXCEPTIONS=text/xml&FORMAT=image/jpeg&SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE=normal&TILEMATRIXSET=PM&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "attribution" = "© IGN-F/Geoportail", "maxZoom" = 22, "maxNativeZoom" = 18} | 
|   |     ] | 
|   |  | 
|   | [SYNTHESE] | 
|   |     NB_MAX_OBS_MAP = 100000 | 
|   |     NB_MAX_OBS_EXPORT = 100000 | 
|   |     NB_LAST_OBS = 10000 | 
|   |     LIST_COLUMNS_FRONTEND = [ | 
|   |         { prop = "lb_nom", name = "Taxon" }, | 
|   |         { prop = "date_min", name = "Date début" }, | 
|   |         { prop = "observers", name = "Observateurs" }, | 
|   |         { prop = "dataset_name", name = "Jeu de données" } | 
| </code> | </code> | 
|   * Configuration de l'envoie d'email avec un compte Gmail. Il est nécessaire de: |   * Configuration de l'envoie d'email avec un compte Gmail. Il est nécessaire de: | 
|     * d'activer l'"accès aux applications moins sécurisées" sur [[https://myaccount.google.com/lesssecureapps|son compte Google]] |     * d'activer l'"accès aux applications moins sécurisées" sur [[https://myaccount.google.com/lesssecureapps|son compte Google]] | 
|   * Tester l'envoie d'email en essayant de s'inscrire depuis la page d'accueil de GeoNature |   * Tester l'envoie d'email en essayant de s'inscrire depuis la page d'accueil de GeoNature | 
|     * En cas de problème, les logs sont accessibles dans : ''tail -f ~/www/geonature/var/log/gn_errors.log'' |     * En cas de problème, les logs sont accessibles dans : ''tail -f /var/log/geonature.log'' | 
 |  | 
| ===== Modification de la config de GeoNature ===== | ===== Modification de la config de GeoNature ===== | 
|     * Une fois GeoNature installé, il faut modifié la config dans ''config/geonature_config.toml'' |     * Une fois GeoNature installé, il faut modifié la config dans ''config/geonature_config.toml'' | 
|   * Prise en compte des mises à jour de la config : |   * Prise en compte des mises à jour de la config : | 
|     * Se rendre dans le dossier //backend/// : ''cd ~/www/geonature/backend'' |     * Se rendre dans le dossier //backend// : ''cd ~/www/geonature/backend'' | 
|     * Activer l'env virtuel : ''source venv/bin/activate'' |     * Activer l'env virtuel : ''source venv/bin/activate'' | 
|     * Lancer la commande de mise à jour de la conf de GeoNature : ''geonature update_configuration'' |     * Lancer la commande de mise à jour de la conf de GeoNature : ''geonature update_configuration'' |