Installation#

GeoNature repose sur les composants suivants :

  • PostgreSQL / PostGIS

  • Python 3 et dépendances Python nécessaires à l’application

  • Flask (framework web Python)

  • Apache

  • Angular 15, Angular CLI, NodeJS

  • Librairies javascript (Leaflet, ChartJS)

  • Librairies CSS (Bootstrap, Material Design)

Deux méthodes d’installation existent :

Prérequis#

Préparation du serveur#

Commencer la procédure en se connectant au serveur en SSH avec l’utilisateur linux root.

  • Mettre à jour de la liste des dépôts Linux :

    # apt update
    # apt upgrade
    
  • Configuration de la locale du serveur

    Certains serveurs sont livrés sans « locale » (langue par défaut). Pour l’installation de GeoNature, il est nécessaire de bien configurer la locale. Si la commande locale renvoie ceci :

    LANG=fr_FR.UTF-8
    LANGUAGE=fr_FR.UTF-8
    LC_CTYPE="fr_FR.UTF-8"
    LC_NUMERIC="fr_FR.UTF-8"
    LC_TIME="fr_FR.UTF-8"
    LC_COLLATE="fr_FR.UTF-8"
    LC_MONETARY="fr_FR.UTF-8"
    LC_MESSAGES="fr_FR.UTF-8"
    LC_PAPER="fr_FR.UTF-8"
    LC_NAME="fr_FR.UTF-8"
    LC_ADDRESS="fr_FR.UTF-8"
    LC_TELEPHONE="fr_FR.UTF-8"
    LC_MEASUREMENT="fr_FR.UTF-8"
    LC_IDENTIFICATION="fr_FR.UTF-8"
    LC_ALL=fr_FR.UTF-8
    

    Vous pouvez alors passer cette étape de configuration des locales.

    Sinon exécuter la commande dpkg-reconfigure locales. Une fenêtre s’affiche dans votre console. Dans la liste déroulante, sélectionnez fr_FR.UTF-8 UTF-8 avec Espace, puis cliquez sur OK. Une 2ème fenêtre s’affiche avec une liste de locale activées (fr_FR.UTF-8 doit être présent dans la liste), confirmez votre choix, en cliquant sur OK, puis attendez que la locale s’installe.

  • Installer l’utilitaire sudo :

    # apt install sudo
    
  • Créer un utilisateur Linux dédié (nommé geonatureadmin dans notre cas) pour ne pas travailler en root :

    # adduser geonatureadmin
    
  • Lui donner ensuite les droits administrateur en l’ajoutant au groupe sudo :

    # adduser geonatureadmin sudo
    

Note

Vérifier les droits du répertoire HOME de l’utilisateur

Il doit être en 7XX soit drwxr-xr-x. Si ce n’est pas le cas, exécuter la commande suivante :

# chmod 755 /home/geonatureadmin
  • Pour la suite du processus d’installation, on utilisera l’utilisateur non privilégié nouvellement créé. Si besoin d’éxecuter des commandes avec les droits d’administrateur, on les précèdera de sudo.

    Il est d’ailleurs possible renforcer la sécurité du serveur en bloquant la connexion SSH au serveur avec root. Voir https://docs.ovh.com/fr/vps/conseils-securisation-vps/ pour plus d’informations sur le sécurisation du serveur.

    Pour passer de l’utilisateur root à geonatureadmin, vous pouvez aussi utiliser la commande :

    # su - geonatureadmin
    

Installation globale#

Ce document décrit une procédure d’installation packagée de GeoNature.

En lançant le script d’installation ci-dessous, l’application GeoNature ainsi que ses dépendances seront installées sur un seul et même serveur au sein d’une seule base de données.

Les applications suivantes seront installées :

  • GeoNature (incluant TaxHub qui pilote le schéma taxonomie)

  • UsersHub qui pilote le schéma utilisateurs (le paramètre install_usershub_app du fichier de configuration install_all.ini permet de désactiver l’installation de l’application. Il est cependant recommandé d’installer l’application pour disposer d’une interface pour gérer les utilisateurs dans GeoNature)

Si vous disposez déjà de UsersHub sur un autre serveur ou une autre base de données et que vous souhaitez installer simplement GeoNature, veuillez suivre la documentation Installation de GeoNature uniquement.

Installation des applications#

Commencer la procédure en se connectant au serveur en SSH avec l’utilisateur dédié précédemment créé lors de l’étape de Préparation du serveur (usuellement geonatureadmin).

Téléchargement#

  • Se placer à la racine du home de l’utilisateur puis récupérer les scripts d’installation (X.Y.Z à remplacer par le numéro de la dernière version stable de GeoNature). Ces scripts installent les applications GeoNature (incluant TaxHub) et UsersHub (en option) ainsi que leurs bases de données (uniquement les schémas du coeur) :

    $ wget https://raw.githubusercontent.com/PnX-SI/GeoNature/X.Y.Z/install/install_all/install_all.ini
    $ wget https://raw.githubusercontent.com/PnX-SI/GeoNature/X.Y.Z/install/install_all/install_all.sh
    

Attention : l’installation globale fonctionne uniquement si les scripts sont placés à la racine du home de l’utilisateur courant.

Configuration#

  • Configurez votre installation en adaptant le fichier install_all.ini :

    $ nano install_all.ini
    
  • Renseignez à minima :

    • my_url : l’URL (ou IP) de votre serveur (avec un / à la fin)

    • user_pg : l’utilisateur PostgreSQL que vous souhaitez voir créé

    • user_pg_pass : mot de passe de l’utilisateur PostgreSQL

    Le script se chargera d’installer PostgreSQL, de crééer la base de donnée et de créer l’utilisateur que vous avez renseigné.

  • Variable mode

Pour l’installation d’une instance de production ou de test mode=prod, pour une installation de développement mode=dev.

Il est déconseillé de modifier les numéros de version des dépendances, chaque nouvelle version de GeoNature étant fournie avec les versions adaptées de ses dépendances.

Installation#

  • Lancer l’installation :

    $ touch install_all.log
    $ chmod +x install_all.sh
    $ ./install_all.sh 2>&1 | tee install_all.log
    

Une fois l’installation terminée, lancez la commande suivante:

$ exec bash

Les applications sont disponibles aux adresses suivantes :

Vous pouvez vous connecter avec l’utilisateur intégré par défaut (admin/admin).

Note:

Pour en savoir plus TaxHub, sa configuration et son utilisation, reportez-vous à sa documentation : https://taxhub.readthedocs.io. Idem pour UsersHub et sa documentation : https://usershub.readthedocs.io

Note:
  • GeoNature-atlas compatible avec GeoNature V2 est disponible sur PnX-SI/GeoNature-atlas

  • Vous pouvez utiliser le schéma ref_geo de GeoNature pour votre territoire, les communes et les mailles.

Si vous rencontrez une erreur, se reporter aux fichiers de logs /home/`whoami`/install_all.log.

Note:

Si vous souhaitez que GeoNature soit à la racine du serveur, ou à une autre adresse, editez le fichier de configuration Apache (/etc/apache2/sites-available/geonature.conf) en modifiant l’alias :

  • Pour /: Alias / /home/test/geonature/frontend/dist

  • Pour /saisie : Alias /saisie /home/test/geonature/frontend/dist

Note:

Par défaut et par mesure de sécurité, la base de données est accessible uniquement localement par la machine où elle est installée. Pour accéder à la BDD depuis une autre machine (pour s’y connecter avec QGIS, pgAdmin ou autre), vous pouvez consulter cette documentation PnX-SI/Ressources-techniques. Attention, exposer la base de données sur internet n’est pas recommandé. Il est préférable de se connecter via un tunnel SSH. QGIS et la plupart des outils d’administration de base de données permettent d’établir une connexion à la base de cette manière. Attention si vous redémarrez PostgreSQL (sudo service postgresql restart), il faut ensuite redémarrer les API de GeoNature et UsersHub :

$ sudo systemctl restart geonature
$ sudo systemctl restart geonature-worker
$ sudo systemctl restart usershub
Note:

Il est aussi important de configurer l’accès au serveur en HTTPS plutôt qu’en HTTP pour chiffrer le contenu des échanges entre le navigateur et le serveur (https://docs.ovh.com/fr/hosting/les-certificats-ssl-sur-les-hebergements-web/).

Installation de GeoNature uniquement#

Cette procédure détaille l’installation de GeoNature (incluant TaxHub) sans UsersHub. Si vous souhaitez installer GeoNature avec UsersHub, reportez-vous à la section Installation globale.

Installation des dépendances#

Installer les paquets suivants :

$ sudo apt install unzip git postgresql-postgis postgis python3-pip python3-venv python3-dev libpq-dev libgdal-dev libffi-dev libpangocairo-1.0-0 apache2 redis

Récupération de l’application#

  • Se placer dans le répertoire de l’utilisateur (/home/geonatureadmin/ dans notre cas)

  • Récupérer l’application (X.Y.Z à remplacer par le numéro de la dernière version stable de GeoNature).

    $ wget https://github.com/PnX-SI/GeoNature/archive/X.Y.Z.zip
    
  • Dézipper l’archive de l’application

    $ unzip X.Y.Z.zip
    $ rm X.Y.Z.zip
    
  • Renommer le répertoire de l’application puis placez-vous dedans :

    $ mv GeoNature-X.Y.Z /home/`whoami`/geonature/
    $ cd geonature
    
  • Copier puis mettre à jour le fichier de configuration (config/settings.ini) comportant les informations relatives à votre environnement serveur :

    $ cp config/settings.ini.sample config/settings.ini
    $ nano config/settings.ini
    

Installation de l’application#

Rendez vous dans le dossier install et lancez successivement dans l’ordre les scripts suivants :

  • 01_install_backend.sh : Création du virtualenv python, installation des dépendances et du backend de GeoNature dans celui-ci.

  • 02_configure_systemd.sh : Création des services systemd geonature et geonature-worker, configuration de logrotate, création des dossiers /run/geonature et /var/log/geonature.

  • 03_create_db.sh : Création du role PostgreSQL, de la base de données, ajout des extensions nécessaires (PostGIS, …), création des schémas nécessaires à GeoNature et ajout des données métiers.

  • 04_install_gn_modules.sh : Installation des modules Occtax, Occhab et Validation (si activé dans le fichier settings.ini).

  • 05_install_frontend.sh : Création des dossiers et liens symboliques nécessaires, création des fichiers custom à partir des fichiers d’exemple, génération des fichiers de configuration grâce à la commande geonature, installation de nvm, npm et node ainsi que toutes les dépendances javascript nécessaires puis build du frontend, génération du fichier src/assets/config.json qui permet de connecter le frontend au backend.

  • 06_configure_apache.sh : Installation du fichier de configuration Apache /etc/apache2/conf-available/geonature.conf et activation des modules Apache nécessaires.

Vous pouvez alors démarrer le backend de GeoNature : sudo systemctl start geonature

Configuration Apache#

  • Le script install/06_configure_apache.sh copie le fichier de configuration de référence install/assets/geonature_apache.conf, le place dans /etc/apache2/conf-available/geonature.conf et remplace ses variables à partir de votre configuration de GeoNature.

    Relancez ce script si vous changez l’URL de votre GeoNature ou les paramètres liés aux chemins et URL des fichiers statiques et des médias.

  • Créez la configuration du vhost, incluant la configuration par défaut créée précédemment :

    $ sudo cp install/assets/vhost_apache.conf /etc/apache2/sites-available/geonature.conf # Copier le vhost
    $ sudo nano /etc/apache2/sites-available/geonature.conf # Modifier la variable ``${DOMAIN_NAME}``
    
  • Activez la nouvelle configuration :

    $ sudo a2ensite geonature.conf
    
  • et redémarrez Apache :

    $ sudo systemctl reload apache2
    
  • L’application est disponible à l’adresse suivante : http://monurl.fr/geonature

Une page HTML de maintenance et un vhost dédié sont aussi disponibles. Pour les mettre en place :

$ sudo cp install/assets/vhost_apache_maintenance.conf /etc/apache2/sites-available/geonature_maintenance.conf # Copier le vhost
$ sudo nano /etc/apache2/sites-available/geonature_maintenance.conf # Modifier la variable ``${DOMAIN_NAME}``
$ sudo cp install/assets/maintenance.html /var/www/geonature_maintenance/index.html

Pour passer votre GeoNature en maintenance, vous pouvez alors désactiver le vhost de GeoNature et activer celui de la page de maintenance :

$ sudo a2dissite geonature.conf
$ sudo a2ensite geonature_maintenance.conf

Dépendances#

Lors de l’installation de la BDD (02_create_db.sh), le schéma utilisateurs de UsersHub et le schéma taxonomie de TaxHub sont intégrés automatiquement dans la BDD de GeoNature.

UsersHub n’est pas nécessaire au fonctionnement de GeoNature mais il sera utile pour avoir une interface de gestion des utilisateurs, des groupes et de leurs droits.

TaxHub v2 est intégré à GeoNature depuis sa version 2.15.0

Voir la documentation de TaxHub : https://taxhub.readthedocs.io/

Voir la doc d’installation de UsersHub : https://usershub.readthedocs.io/

Passer en mode développement#

Note

Consultez le guide Passer en mode développement de GeoNature.

Docker#

L’installation de GeoNature avec Docker est la manière la plus simple de déployer GeoNature, ses 4 modules externes principaux (Import, Export, Dashboard, Monitoring) et UsersHub, mais aussi de les mettre à jour, avec seulement quelques lignes de commandes.

Elle permet aussi d’installer GeoNature sur différents systèmes, et pas uniquement sur Debian, comme c’est le cas avec l’installation classique.

Elle peut néanmoins nécessiter de connaitre le fonctionnement de Docker pour ceux qui souhaitent aller plus loin et mettre en place une installation plus spécifique.

Docker Compose#

Pour déployer facilement GeoNature avec Docker, utilisez le Docker Compose proposé et documenté dans le dépôt GeoNature-Docker-services.

Pour des déploiements Docker plus avancés et spécifiques, des images Docker des différents outils (GeoNature, UsersHub, GeoNature et ses 4 modules externes principaux) sont automatiquement construites et publiées à chaque nouvelle version publiée.

Image backend#

Des images pré-construites automatiquement sont présentes sur Github.

Les images tagguées -wheels contiennent les wheels Python de GeoNature, de ses dépendances et modules contrib, de manière à pouvoir être enrichies avec vos wheels provenant de vos propres modules (images de type « builder »).

Construction manuelle de l’image :

DOCKER_BUILDKIT=1 docker build . \
        -f backend/Dockerfile \
        --target=prod \
        --tag=ghcr.io/pnx-si/geonature-backend:develop

Fonctionnement de l’image :

  • GeoNature attend sa configuration dans le dossier /dist/config (à monter dans un volume afin de pouvoir la modifier). L’emplacement du fichier de configuration peut également être précisé via la variable d’environnement GEONATURE_CONFIG_FILE.

  • Il est également possible de fournir une configuration Python via la variable d’environnement GEONATURE_SETTINGS.

  • Les médias seront stockés dans le dossier /dist/media (à monter dans un volume afin de les sauvegarder).

  • Toute variable d’environnement préfixée par GEONATURE_ se verra traduite par un paramètre de configuration homonyme (documentation Flask). Si vous souhaitez définir une variable de configuration se trouvant dans une section, utilisez deux underscore. Par exemple, pour définir le paramètre NB_LAST_OBS de la section [SYNTHESE], on définira une variable d’environnement GEONATURE_SYNTHESE__NB_LAST_OBS.

  • Pour peupler la base de données, référez-vous au script install/03_create_db.sh.

Image frontend#

Des images pré-construites automatiquement sont présentes sur Github.

Les images tagguées -source contiennent uniquement les sources de GeoNature et des modules contrib, et attendent d’être enrichies avec les sources de vos propres modules tandis que les images tagguées -nginx contiennent la configuration NGINX prête à l’emploi pour GeoNature (images de type « builder »).

Construction manuelle de l’image :

DOCKER_BUILDKIT=1 docker build . \
        -f frontend/Dockerfile \
        --target=prod \
        --tag=ghcr.io/pnx-si/geonature-frontend:develop

Fonctionnement de l’image :

  • La configuration NGINX de l’image est générée dynamiquement à son démarrage, à partir des variables d’environnement suivantes :

    • NGINX_PORT (défaut : 80)

    • NGINX_HOST (défaut : localhost)

    • NGINX_LOCATION (défaut : /, à modifier pour servir GeoNature sur un préfixe)

  • La variable d’environnement API_ENDPOINT est lue au démarrage de l’image afin de mettre à jour le fichier de configuration du frontend assets/config.json.

HTTPS#

Cette documentation est indicative car non-spécifique à GeoNature. Elle donne des indications sur la mise en place d’un certificat SSL pour une application web servie par Apache.

Utilisation de Cerbot#

Source. Sécuriser facilement et gratuitement un site avec HTTPS

La procédure décrit une méthode de certification HTTPS de votre domaine, grâce au service Let’s Encrypt. Les manipulations ont été effectuées sur un serveur Debian 9 avec Apache2 installé, et un utilisateur bénéficiant des droits sudo.

Cerbot ne peut pas être utilisé pour la création d’un certificat sur une adresse IP (Exemple d’instances de test sans nom de domaine). Pour celà utiliser OpenSSL présenté rapidement ci-dessous. Installation :

sudo apt-get install python3-certbot-apache

Lancer la commande suivante pour générer des certificats et des clés pour le nom de domaine que vous souhaitez mettre en HTTPS.

sudo certbot --apache --email monemail@mondomaine.fr

Activer les modules ssl, headers et rewrite puis redémarrer Apache :

sudo a2enmod ssl
sudo a2enmod rewrite
sudo a2enmod headers
sudo apachectl restart

Les fichiers de configuration du site UsersHub n’est pas à modifier, il sera automatiquement associé à la configuration HTTPS. En revanche, la configuration de GeoNature doit être mise à jour.

Utilisation de OpenSSL sur un environnement de test#

Cette procédure a été testée sur Debian 12 et Apache2 avec l’utilisation d’un certificat auto-signé. Cela signifie qu’une alerte sera envoyée aux navigateurs indiquant un manque de sécurisation du serveur. Cette méthode fonctionne avec un serveur sans nom de domaine.

Création d’un nouveau certificat de 365 jours (30 jours par défaut), de type X509 avec l’emplacement des fichiers de certificat et de clé privé.

sudo openssl req -new -x509 -days 365 -nodes -out /etc/ssl/certs/mailserver.crt -keyout /etc/ssl/private/mailserver.key

Sécurisation de la clé

sudo chmod 440 /etc/ssl/private/mailserver.key

Chargement du module ssl dans Apache

sudo a2enmod ssl

Modification de la configuration du VirtualHost en éditant le fichier /etc/apache2/sites-available/geonature.conf

<VirtualHost *:443>
    ServerName x.x.x.x
    […]
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/mailserver.crt
    SSLCertificateKeyFile /etc/ssl/private/mailserver.key
</VirtualHost>
sudo apachectl restart

Configuration de l’application GeoNature#

Il est nécessaire de mettre à jour le fichier de configuration geonature_config.toml situé dans le répertoire geonature/config :

cd geonature/config
nano geonature_config.toml

Modifier les éléments suivants :

URL_APPLICATION = 'https://mondomaine.fr/geonature'
API_ENDPOINT = 'https://mondomaine.fr/geonature/api'

Pour que ces modifications soient prises en compte, exécuter les actions à effecture après modification de la configuration.

Les applications sont désormais accessibles sur votre domaine sécurisé en HTTPS !

Taches planifiées#

Depuis sa version 2.12.0, les taches planifiées gérées par des crons ont été remplacées par des taches lancées automatiquement par Celery Beat, pour être mis en place automatiquement lors de l’installation de GeoNature et être plus facilement administrables.

Installation d’un module GeoNature#

L’installation de GeoNature n’est livrée qu’avec les modules du coeur par défaut : Occtax, Occhab et Validation. Pour ajouter un module GeoNature externe, il est nécessaire de l’installer :

Téléchargement#

Téléchargez le module depuis son dépôt Github puis dézippez-le dans le repertoire utilisateur, au même niveau que le dossier de GeoNature.

Installation automatique#

Installation avec la sous-commande install-gn-module :

source <dossier GeoNature>/backend/venv/bin/activate
geonature install-gn-module <dossier du module> <code du module>

Exemple pour le module Import :

source ~/GeoNature/backend/venv/bin/activate
geonature install-gn-module ~/gn_module_import/ IMPORT

Puis relancer GeoNature et son worker :

sudo systemctl restart geonature
sudo systemctl restart geonature-worker

Aucune permission n’est définie par défaut lors de l’installation d’un module. En tant qu’administrateur, vous pouvez exécuter une commande ajoutant tous les droits sur tous les modules à un groupe ou utilisateur. Cette commande peut être relancée après l’installation d’un module pour automatiquement attribuer toutes les permissions à un groupe ou utilisateur administrateur :

# changer "Grp_Admin" par le nom de votre groupe d'administrateur si vous l'avez changé
geonature permissions supergrant --group --nom "Grp_admin"

Vous devrez ensuite définir des droits à vos utilisateurs pour le nouveau module installé.

Installation manuelle#

Installation du backend

Installer le module avec pip en mode éditable après avoir activé le venv de GeoNature, puis relancer GeoNature :

source ~/geonature/backend/venv/bin/activate
pip install --editable <dossier du module>
sudo systemctl restart geonature

Installation du frontend

  • Créer un lien symbolique dans le dossier frontend/external_modules de GeoNature vers le dossier frontend du module. Le lien symbolique doit être nommé suivant le code du module en minuscule :

cd ~/geonature/frontend/external_modules/
ln -s <dossier du module>/frontend <code du module en minuscule>

Exemple pour le module Import :

cd ~/geonature/frontend/external_modules/
ln -s ~/gn_module_import/frontend import
  • Re-builder le frontend :

cd ~/geonature/frontend/
nvm use
npm run build

Installation de la base de données

source ~/geonature/backend/venv/bin/activate
geonature upgrade-modules-db <code du module>

Configuration du module#

De manière facultative, vous pouvez modifier la configuration du module. Pour cela, vous pouvez créer un fichier de configuration dans le dossier config de GeoNature en le nommant <code du module en minuscule>_config.toml. La plupart des modules fournissent un fichier d’exemple <module-code>_config.toml.example dans leur dossier racine dont vous pouvez vous inspirer.

Après création de ce fichier, activez le rechargement automatique de GeoNature lors des modifications du fichier en lançant les commandes suivantes :

sudo systemctl daemon-reload
sudo systemctl restart geonature

Avant la version 2.12.0 de GeoNature, après chaque modification de la configuration du module, vous devez recharger GeoNature manuellement :

sudo systemctl reload geonature

Mise à jour du module#

  • Déplacer le code de l’ancienne version du module : mv gn_module_xxx gn_module_xxx_old

  • Télécharger et désarchiver la nouvelle version du module, et renommer son dossier afin qu’il porte le même nom qu’avant (e.g. gn_module_xxx)

  • (Optionnel) Si le fichier de configuration du module est encore placé avec celui-ci, le déplacer dans la dossier de configuration centralisée de GeoNature : cp gn_module_xxx_old/config/conf_gn_module.toml geonature/config/<mode-code>_config.toml

  • Relancer l’installation du module : geonature install-gn-module gn_module_xxx XXX && sudo systemctl reload geonature

Mise à jour de l’application#

Avertissement

Avant chaque mise à jour de GeoNature, il est important de sauvegarder l’application et sa base de données, ou de faire un snapshot du serveur pour pouvoir revenir à son état antérieure avant mise à jour, en cas de problème.

Avertissement

Vérifiez préalablement la compatibilité des modules que vous utilisez avant de mettre GeoNature à jour. S’il est nécessaire de les mettre à jour, arrêtez vous après le remplacement du dossier par le nouveau code source (et la récupération éventuelle de la configuration); le script de migration de GeoNature s’occupera automatiquement d’installer la nouvelle version du module.

La mise à jour de GeoNature consiste à télécharger sa nouvelle version dans un nouveau répertoire, récupérer les fichiers de configuration et de surcouche, ainsi que les médias depuis la version actuelle et de relancer l’installation dans le répertoire de la nouvelle version.

La mise à jour doit être réalisée avec votre utilisateur linux courant (geonatureadmin par exemple) et non pas le super-utilisateur root.

  • Télécharger la dernière version de GeoNature :

wget https://github.com/PnX-SI/GeoNature/archive/X.Y.Z.zip
unzip X.Y.Z.zip
rm X.Y.Z.zip
  • Renommer l’ancien repertoire de l’application, ainsi que le nouveau :

mv ~/geonature/ ~/geonature_old/
mv ~/GeoNature-X.Y.Z ~/geonature/
cd ~/geonature
  • Suivez les éventuelles notes de version spécifiques décrites au niveau de chaque version : PnX-SI/GeoNature.

Sauf mentions contraires dans les notes de version, vous pouvez sauter des versions mais en suivant bien les différentes notes de versions intermédiaires.

  • Si vous devez aussi mettre à jour UsersHub, suivez ses notes de version et sa documentation (https://usershub.readthedocs.io).

  • Lancez le script de migration.sh à la racine du dossier geonature:

./install/migration/migration.sh 2>&1 | tee install/migration/migration.log

Depuis la version 2.12, le script migration.sh peut prendre en argument le chemin vers l’ancien dossier d’installation de GeoNature. Il peut s’agir du même dossier que la nouvelle installation de GeoNature. Cela permet d’utiliser ce script si la nouvelle version de GeoNature est dans le même dossier et donc de gérer le cas où GeoNature est installé et mis à jour avec git.

Dans ce cas, les commandes à exécuter sont :

cd ~/GeoNature
git status # optionnel, pour connaitre l'état et la version ou branche actuellement utilisée
git fetch
git checkout X.Y.Z # où X.Y.Z est le numéro du tag de la version vers laquelle faire la mise à jour, ou le nom de la branche à utiliser
git submodule update # ou "git config submodule.recurse true" lancé une seule fois, pour que la mise à jour des sous-modules soit relancée automatiquement à chaque "git pull"
./install/migration/migration.sh .