INSTALLATION
Cette documentation décrit l’installation indépendante de UsersHub. 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 UsersHub, il vous faut un serveur avec :
Debian 10 ou 11
1 Go de RAM
5 Go d’espace disque
Création d’un utilisateur
Vous devez disposer d’un utilisateur Linux pour faire tourner UsersHub (nommé synthese dans notre exemple). L’utilisateur doit appartenir au groupe sudo. 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
- Note:
Pour la suite de l’installation, veuillez utiliser l’utilisateur Linux créé précedemment (
synthesedans l’exemple), et non l’utilisateurroot.
Installation des dépendances requises
Installez les dépendances suivantes :
$ sudo apt install -y python3-venv libpq-dev postgresql apache2
Installer NVM (Node version manager), Node.js 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 psql -c "CREATE ROLE geonatuser WITH LOGIN PASSWORD 'monpassachanger';"
Téléchargement de UsersHub
Récupérer le zip de l’application sur le Github du projet (X.Y.Z à remplacer par la version souhaitée de UsersHub)
$ cd /home/synthese
$ wget https://github.com/PnX-SI/UsersHub/archive/X.Y.Z.zip
$ unzip X.Y.Z.zip
$ mv UsersHub-X.Y.Z usershub
Configuration de UsersHub
Créer et mettre à jour le fichier config/settings.ini :
$ cd ~/usershub
$ cp config/settings.ini.sample config/settings.ini
$ nano config/settings.ini
Renseigner le nom de la base de données, l’utilisateur PostgreSQL et son mot de passe. Il est possible mais non conseillé de laisser les valeurs proposées par défaut.
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. L’utilisateurs PostgreSQL doit être en concordance avec celui créé lors de la dernière étape de l’installation du serveur (Création d'un utilisateur PostgreSQL).
- Note:
Si vous installez UsersHub dans le cadre de la gestion des utilisateurs de GeoNature, il est conseillé d’utiliser les mêmes utilisateurs PostgreSQL que pour GeoNature.
Configuration de l’application
Installation de l’application :
cd ~/usershub
./install_app.sh
Création et installation de la base de données
Création de la base de données et chargement des données initiales :
cd ~/usershub
./install_db.sh
Si vous souhaitez les données utilisateurs d’exemple, en particulier l’utilisateur
admin(mot de passe :admin), executez :
cd ~/usershub
source venv/bin/activate
flask db upgrade usershub-samples@head
Configuration Apache
Activez les modules mod_proxy et mod_proxy_http, et redémarrez Apache :
$ sudo a2enmod proxy proxy_http
$ sudo systemctl restart apache
UsersHub peut être classiquement déployé sur 2 types d’URL distincts :
Sur un préfixe : https://mon-domaine.fr/usershub/
Sur un sous-domaine : https://usershub.mon-domaine.fr
Installation de UsersHub sur un préfixe
Le processus d’installation de l’application créer le fichier de configuration Apache /etc/apache2/conf-available/usershub.conf permettant de servir UsersHub sur le préfixe /usershub/. Pour activer ce fichier de configuration, exécutez les commandes suivantes :
sudo a2enconf usershub
sudo service apache2 reload
Installation de UsersHub sur un sous-domaine
Dans le cas où UsersHub est installé sur un sous-domaine et non sur un préfixe (c’est-à-dire https://usershub.mon-domaine.fr), veuillez ajouter dans le fichier de configuration de votre virtualhost (e.g. /etc/apache2/sites-enabled/usershub.conf) la section suivante :
<Location />
ProxyPass http://127.0.0.1:5001/
ProxyPassReverse http://127.0.0.1:5001/
</Location>
Configuration de l’application
La configuration de UsersHub est réalisée dans le fichier config/config.py.
Si vous modifiez les paramètres dans ce fichier, vous devez recharger l’application avec la commande systemctl reload usershub.
Mise à jour de l’application
Télécharger la dernière version de UsersHub
cd
wget https://github.com/PnX-SI/UsersHub/archive/X.Y.Z.zip
unzip X.Y.Z.zip
rm X.Y.Z.zip
Renommer l’ancien répertoire de l’application, ainsi que le nouveau :
mv /home/`whoami`/usershub/ /home/`whoami`/usershub_old/
mv UsersHub-X.Y.Z /home/`whoami`/usershub/
Récupérer les fichiers de configuration de la version précedente :
cp /home/`whoami`/usershub_old/config/config.py /home/`whoami`/usershub/config/config.py
cp /home/`whoami`/usershub_old/config/settings.ini /home/`whoami`/usershub/config/settings.ini
Lancer le script d’installation de l’application (attention si vous avez modifiez certains paramètres dans le fichier
config.pytels que les paramètres de connexion à la base de données, ils seront écrasés par les paramètres présent dans le fichiersettings.ini) :
cd usershub
./install_app.sh
Si vous utilisez UsersHub tout seul (sans GeoNature), mettre à jour sa base de données :
cd usershub
source venv/bin/activate
flask db upgrade usershub@head
flask db upgrade utilisateurs@head
Suivre les éventuelles notes de version spécifiques à chaque version