Installation de GeoNature uniquement

Cette procédure détail l’installation de GeoNature seul, sans TaxHub et UsersHub. Si vous souhaitez installer GeoNature avec TaxHub et UsersHub, reportez-vous à la section Installation globale.

Installation des dépendances

Installer les paquets suivants :

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

Installation 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). Voir le tableau de compatibilité des versions de GeoNature avec ses dépendances.

    $ 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 suivant :

  • 01_install_backend.sh : Création du virtualenv python, installation des dépendances et du backend GeoNature dans celui-ci, création du service systemd (permettant d’utiliser sudo systemctl {start,stop} geonature2).

  • 02_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.

  • 03_install_gn_modules.sh : Installation des modules OccTax, OccHab et validation (si activé dans le fichier settings.ini).

  • 04_install_frontend.sh : Création des dossiers et liens symboliques nécessaires, création des fichier 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 front.

  • 05_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 GeoNature : sudo systemctl start geonature2

Configuration Apache

  • Copiez et adaptez le fichier de configuration d’exemple d’Apache de GeoNature :

    $ sudo cp install/assets/geonature_apache.conf /etc/apache2/sites-available/geonature.conf
    $ sudo nano /etc/apache2/sites-available/geonature.conf
    
  • Activez les modules suivants :

    $ sudo a2enmod rewrite
    $ sudo a2enmod proxy
    $ sudo a2enmod proxy_http
    
  • Activez la nouvelle configuration:

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

    $ sudo systemctl restart apache2
    
  • L’application est disponible à l’adresse suivante : http://monip.com/geonature

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.

Par contre il est nécessaire d’installer TaxHub (https://github.com/PnX-SI/TaxHub) pour que GeoNature fonctionne. En effet, GeoNature utilise l’API de TaxHub. Une fois GeoNature installé, il vous faut donc installer TaxHub en le connectant à la BDD de GeoNature, vu que son schéma taxonomie a déjà été installé par le script 02_create_db.sh de GeoNature. Lors de l’installation de TaxHub, n’installez donc que l’application et pas la BDD.

Télécharger TaxHub depuis son dépôt Github depuis la racine de votre utilisateur :

cd ~
wget https://github.com/PnX-SI/TaxHub/archive/X.Y.Z.zip
unzip X.Y.Z.zip
rm X.Y.Z.zip

en mode développeur:

https://github.com/PnX-SI/TaxHub.git

Rendez vous dans le répertoire téléchargé et dézippé, puis “désamplez” le fichier settings.ini et remplissez la configuration avec les paramètres de connexion à la BDD GeoNature précedemment installée :

cp settings.ini.sample settings.ini
nano settings.ini

Lancer le script d’installation de l’application :

mkdir var
mkdir var/log
touch var/log/install_app.log
./install_app.sh 2>&1 | tee var/log/install_app.log

Suite à l’execution de ce script, l’application Taxhub a été lancé automatiquement par le superviseur et est disponible à l’adresse 127.0.0.1:5000 (et l’API, à 127.0.0.1:5000/api)

Voir la doc d’installation de TaxHub : http://taxhub.readthedocs.io/

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

Passer en mode développement

Si vous avez téléchargé GeoNature zippé (via la procédure d’installation globale install_all.sh ou en suivant la documentation d’installation standalone), il est nécessaire de rattacher votre répertoire au dépôt GitHub afin de pouvoir télécharger les dernières avancées du coeur en git pull. Pour cela, suivez les commandes suivantes en vous placant à la racine du répertoire de GeoNature.

--- Se créer un répertoire .git ---
mkdir .git
---  récupérer l'historique du dépôt ---
git clone --depth=2 --bare https://github.com/PnX-SI/GeoNature.git .git
--- initialiser un dépôt git à partir de l'historique téléchargé ---
git init
--- vérifier que le dépôt distant et le contenu local sont synchronisés ---
git pull
--- Reset sur HEAD pour mettre à jour les status ---
git reset HEAD
-> vous êtes à jour sur la branche master
--- Cloner les sous-modules pour récupérer les dépendances
git submodule init
git submodule update
--- Installer les dépendances de développement
cd backend && pip install -r requirements-dev.txt

@TODO : A relire et à basculer dans DOC DEVELOPEMENT ?

Editez le fichier de configuration de GeoNature (<GEONATURE_DIRECTORY>/config/geonature_config.toml) de la manière suivante :

URL_APPLICATION = 'http://127.0.0.1:4200'
API_ENDPOINT = 'http://127.0.0.1:8000'
API_TAXHUB =  'http://127.0.0.1:5000/api'
ID_APPLICATION_GEONATURE = 3

Puis le fichier /home/<mon_user>/geonature/frontend/src/conf/app.config.ts :

URL_APPLICATION: 'http://127.0.0.1:4200',
API_ENDPOINT: 'http://127.0.0.1:8000',
API_TAXHUB:  'http://127.0.0.1:5000/api',
ID_APPLICATION_GEONATURE: 3
  • Lancer le serveur de développement du frontend grâce à Angular-CLI :

    cd frontend
    npm run start
    
  • Lancer l’API en mode développement

Ouvrir un nouveau terminal :

cd backend

Stopper d’abord gunicorn qui est lancé en mode production via le supervisor :

sudo supervisorctl stop geonature2

Puis lancer le backend en mode développement :

source venv/bin/activate
geonature dev_back

Le serveur de développement du backend est disponible à l’adresse 127.0.0.1:8000

Le serveur de développement du frontend est disponible à l’adresse 127.0.0.1:4200.

Vous pouvez vous connecter à l’application avec l’identifiant admin et le mot de passe admin.