====== Installer GeoNature ====== * **Notes** : * Afin de pouvoir exécuter l'installation de la base sur l'instance //db-srv// et l'installation de l'appli sur l'instance //web-srv//, il est nécessaire d'installer et configurer GeoNature sur les 2 serveurs... * **Ressources** : * Documentation liée à cet installation : https://docs.geonature.fr/installation-standalone.html ===== Téléchargement et organisation des dossiers ===== ==== Méthode utilisant Git ==== * Se connecter sur l'instance //web-srv// avec l'utilisateur //geonat// : ''ssh geonat@db--sinp'' * Se rendre dans le home de l'utilisateur //geonat// : ''cd /home/geonat'' * Créer un dossier //www/// : ''mkdir ~/www'' * Se placer dans le dossier //www// : ''cd www'' * Cloner le dépôt Git de GeoNature : ''%%git clone https://github.com/PnX-SI/GeoNature.git geonature%%'' * Créer un lien symbolique depuis la racine du home de //geonat// : ''cd ~/; ln -s www/geonature geonature'' * Se placer dans le dépôt de GeoNature //www/geonature/// : ''cd ~/geonature'' * Basculer sur la version souhaitée de GeoNature : * sur un //tag// spécifique avec la commande ''git checkout ''. Par exemple : ''git checkout 2.13.3'' * sur une //branche// avec la commande : ''git switch ''. Par exemple : ''git switch feat/sinp'' ==== 🗑️ Méthode utilisant une archive ==== * Se connecter sur l'instance //web-srv// avec l'utilisateur //geonat// : ''ssh geonat@db--sinp'' * Se rendre dans le home de l'utilisateur //geonat// : ''cd /home/geonat'' * Créer les dossiers //dwl// (pour les téléchargments) et //www// (contenant les sources des applis web) : ''mkdir dwl; mkdir www'' * Se placer dans le dossier //dwl// : ''cd dwl'' * Exporter la dernière version de GeoNature dans une variable d'env locale à la session : '' export GNV=$(curl -s https://api.github.com/repos/PnX-SI/GeoNature/releases/latest | grep tag_name | cut -d\" -f4) '' * Télécharger l'archive : '' wget https://github.com/PnX-SI/GeoNature/archive/${GNV}.zip -O geonature_v${GNV}.zip '' * Décompresser l'archive dans le dossier //www// de l'utilisateur //geonat// : ''unzip geonature_v${GNV}.zip -d ~/www/'' * Se placer dans le dossier //www// : ''cd www'' * Renommer le dossier au format GeoNature (=> uniformité): ''mv GeoNature-${GNV} geonature_v${GNV}'' * Créer un lien symbolique (pour faciliter les mises à jour future) : ''ln -s geonature_v${GNV} geonature'' * Créer un lien symbolique depuis la racine du home de //geonat// : ''cd ~/; ln -s www/geonature geonature'' ===== Configuration de GeoNature ===== * Se placer dans //GeoNature// : ''cd /home/geonat/www/geonature'' * Configuration utilisée pour l'installation : * Copier le fichier : ''cp config/settings.ini.sample config/settings.ini'' * Éditer le fichier : ''vi config/settings.ini'' * Exemple de configuration (SINP PACA) : my_local=fr_FR.UTF-8 # Mettre "https://..." une fois SSL activé sur le site my_url=http://expert.silene.eu/ drop_apps_db=false db_host=10.0.1.20 db_port=5432 db_name=geonature2db user_pg=geonatadmin user_pg_pass= srid_local=2154 default_language=fr install_sig_layers=true install_grid_layer=true install_default_dem=true vectorise_dem=false add_sample_data=false install_module_validation=false install_module_occhab=false install_usershub_schema=true usershub_release=2.1.3 taxhub_release=1.7.3 habref_api_release=0.1.5 nomenclature_release=1.3.6 proxy_http= proxy_https= python_path=/usr/bin/python3 app_name=geonature2 venv_dir=venv # Workers number = 1 + (2 * CPU) gun_num_workers=5 gun_host=127.0.0.1 gun_port=8000 gun_timeout=300 ===== Synchronisation avec l'instance "db-srv" ===== Pour synchroniser le dossier d'installation de //GeoNature// entre les 2 instances, nous utiliserons //rsync// : * Copier le dossier //GeoNature// sur l'instance //db-srv// : '' rsync -av -e "ssh -p " /home/geonat/www/ geonat@db--sinp:/home/geonat/www/ ''