INSTALLATION

Cette documentation décrit l’installation indépendante de TaxHub. Il est aussi possible de réaliser l’installation avec le script automatisé d’installation globale de GeoNature (http://docs.geonature.fr/installation.html#installation-globale).

Prérequis

Pour installer TaxHub, il vous faut un serveur avec Debian 10 ou 11. L’utilisation de TaxHub avec une autre distribution est théoriquement possible, mais n’est pas officiellement supporté.

Vous devez avoir utiliser un éditeur de texte en console tel que nano. Si vous ne savez pas comment faire, suivez ce tutoriel: https://openclassrooms.com/fr/courses/43538-reprenez-le-controle-a-laide-de-linux/39267-nano-lediteur-de-texte-du-debutant

Création d’un utilisateur

Vous devez disposer d’un utilisateur Linux pour faire tourner TaxHub (nommé synthese dans notre exemple). L’utilisateur doit appartenir aux groupes sudo et www-data. Le répertoire de cet utilisateur synthese doit être dans /home/synthese. Si vous souhaitez utiliser un autre utilisateur Linux, vous devrez adapter les lignes de commande proposées dans cette documentation.

$ adduser --home /home/synthese synthese
$ adduser synthese sudo
$ adduser synthese www-data
Note:Pour la suite de l’installation, veuillez utiliser l’utilisateur Linux créé précedemment (synthese dans l’exemple), et non l’utilisateur root.

Installation des dépendances requises

Installez les dépendances suivantes :

$ sudo apt install -y apache2 python3-pip python3-venv libpq-dev libgdal-dev sudo unzip
$ sudo apt install -y postgresql postgresql-postgis

Installer NVM (Node version manager), node et npm :

$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

Fermer la console et la réouvrir pour que l’environnement npm soit pris en compte.

Configuration de PostgresQL

Créer un utilisateur PostgreSQL :

$ sudo -u postgres createuser geonatadmin --pwpromt

Récupération du code source de TaxHub

Récupérer le zip de l’application sur le Github du projet (X.Y.Z à remplacer par le numéro de version souhaité), dézippez le dans le répertoire /home/synthese :

$ cd /home/synthese
$ wget https://github.com/PnX-SI/TaxHub/archive/X.Y.Z.zip
$ unzip X.Y.Z.zip
$ mv TaxHub-X.Y.Z taxhub
$ rm X.Y.Z.zip
$ cd taxhub

Configuration de TaxHub

  • Créer et mettre à jour le fichier settings.ini :
$ cp settings.ini.sample settings.ini
$ nano settings.ini

ATTENTION : Les valeurs renseignées dans ce fichier sont utilisées par le script d’installation de la base de données install_db.sh et par le script install_app.sh.

Renseignez les informations nécessaires à la connexion à la base de données PostgreSQL. Il est possible de laisser la plupart des valeurs proposées par défaut, mais lisez au moins le fichier de bout en bout pour savoir ce qu’il est possible de changer.

La valeur la plus importante à mettre à jour est:

user_pg_pass=monpassachanger

monpassachanger doit être remplacé par la celui choisi lors de l’étape de configuration de PostgreSQL.

Stockage des media

Les media associés aux taxons peuvent être stockés sur le serveur (paramètre UPLOAD_FOLDER) ou sur un cloud S3. Dans les deux cas, les miniatures sont stockées sur le serveur, dans UPLOAD_FOLDER. OVH propose une offre Object storage compatible. Voir ici la manipulation pour obtenir les identifants à renseigner dans le fichier de configuration (S3_KEY et S3_SECRET). Pour utiliser votre propre sous-domaine (paramètre S3_PUBLIC_URL) (ex : http://media.ADRESSE_DU_SERVEUR/taxons/image.jpg) : <https://docs.ovh.com/gb/en/storage/pcs/link-domain/>_

Installation de l’application

Lancez le fichier d’installation et de configuration de l’application

./install_app.sh

Remplissage de la base de données

Lanceé le fichier d’installation et de préparation de la base de données :

$ cd ~/taxhub
$ ./install_db.sh

Le script va ouvrir une nouvelle fois le fichier de configuration settings.ini avec nano, pour vous donner une opportunité de revoir une dernière fois ces paramètres. Vous pouvez sauvegarder le fichier tel quel pour continuer (ctrl + x).

Arrêter/Lancer l’application

  • Pour arrêter TaxHub
$ sudo systemctl stop taxhub
  • Pour démarrer TaxHub
$ sudo supervisorctl start taxhub

Configuration Apache

Voici une des manières de configurer Apache. Elle se base sur le fait que la configuration /etc/apache2/sites-available/000-default.conf existe par défaut et va automatiquement charger notre nouvelle entrée.

Le script d’installation crée le ficher /etc/apache2/conf-available/taxhub.conf et l’active (a2enconf taxhub). Ce fichier vous permet d’accéder à TaxHub via l’URL http://ADRESSE_DU_SERVEUR/taxhub/. Pour trouver l’adresse du serveur, faite:

$ curl https://ipinfo.io/ip

Mise à jour de l’application

Les différentes versions de TaxHub sont disponibles sur le Github du projet (https://github.com/PnX-SI/TaxHub/releases)

  • Lire attentivement les notes de chaque version si il y a des spécificités (https://github.com/PnX-SI/TaxHub/releases). Suivre ces instructions avant de continuer la mise à jour.

  • Télécharger et extraire la version souhaitée dans un répertoire séparé (où X.Y.Z est à remplacer par le numéro de la version que vous installez) :

    cd
    wget https://github.com/PnX-SI/TaxHub/archive/X.Y.Z.zip
    unzip X.Y.Z.zip
    mv taxhub taxhub_old
    mv TaxHub-X.Y.Z/ taxhub
    rm X.Y.Z.zip
    
  • Récupérer les anciens fichiers de configuration :

    cp taxhub_old/settings.ini taxhub/settings.ini
    cp taxhub_old/apptax/config.py taxhub/apptax/config.py
    cp taxhub_old/static/app/constants.js taxhub/static/app/constants.js
    
  • Récupérer les médias uploadés dans la précédente version de TaxHub :

    cp -aR taxhub_old/static/medias/ taxhub/static/
    
  • Lancer l’installation de l’application et de ses dépendances :

    cd taxhub
    ./install_app.sh
    
  • Mettre à jour le schéma de base de données :

    cd taxhub
    source venv/bin/activate
    flask db upgrade taxonomie@head
    
  • Une fois que l’installation est terminée et fonctionnelle, vous pouvez supprimer la version précédente de TaxHub (répertoire taxhub_old).

Développement

Pour lancer l’application en mode debug :

$ cd ~/taxhub
$ source venv/bin/activate
$ flask run

TaxHub est alors accessible à l’adresse : http://localhost:5000 (sans /taxhub).