May 7, 2022 par J. Lenormand
Installation de Geotrek-admin sur un serveur privé virtuel
Geotrek-admin, l’application d’administration de gestion et de saisie des données du logiciel Geotrek.
Geotrek est un ensemble logiciel open-source qui permet de valoriser l’offre de randonnée, le patrimoine et les offres touristiques d’un territoire donné.
INTRODUCTION
Un VPS a été réservé chez un fournisseur avec la configuration suivante :
- Ubuntu 20.04
- 1 vCore à 2GHz
- 2 Go RAM
- SSD 10 Go local Raid 10
Cette configuration est plus que minimale, mais cela est suffisant pour une version de démonstration (la configuration minimale requise étant 2 cores, 4 Go RAM, 20 Go d’espace disque).
La version 2.82.2 de l’application Geotrek-admin a été installée pour cette démonstration.
Le serveur web utilisé sera Nginx et la base de données sera gérée avec PostgreSQL. Leur installation est décrite ci-dessous.
PRÉPARATION DES DONNÉES
Cette démonstration sera installée sur le territoire Irlandais et intégrera deux itinéraires.
Téléchargement du modèle numérique de terrain (DEM)
Récupérer le modèle numérique de terrain de la zone concernée et télécharger le fichier .tiff sur le serveur. Il sera intégré dans la base de données dans un second temps et permettra de calculer automatiquement les informations altimétriques.
Lien de téléchargement du DEM
Téléchargement des limites du territoires
Télécharger la limite du territoire (Irlandais) et la délimitation des Comtés (fichier shape).
Lien de téléchargement du territoire
CONFIGURATION & SÉCURISATION DU SERVEUR
Mise à jour des paquets
sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove
Installation et test de Nginx
sudo apt-get update
sudo apt-get install nginx
nginx -v
Changement du port par défaut et chargement de la nouvelle configuration (par defaut le port est le 22, indiquer un port inutilisé, 3822 par exemple, pour plus de sécurité)
sudo nano /etc/ssh/sshd_config
systemctl restart sshd
Modifier le mot de passe de l’utilisateur root
sudo passwd root
Création d’un utilisateur geotrek dans le groupe sudo pour ne pas travailler en root
sudo adduser geotrek
sudo usermod -a -G sudo geotrek
Désactiver l’accès au serveur via l’utilisateur root
sudo nano /etc/ssh/sshd_config
Rechercher # Authentication: PermitRootLogin yes
. Mettre la valeur à PermitRootLogin no
Recharger la nouvelle configuration
systemctl restart sshd
Se connecter maintenant au serveur avec l’utilisateur geotrek précédement créé.
CONFIGUARTION POSTGRESQL
Vérification de la version de Postgresql installée
pg_lsclusters
Si besoin installer la version 12 de postgresql et 3 de postgis
sudo apt-get install postgresql-12 postgresql-12-postgis-3
Modifier le fichier de configuration globale de PostgreSQL
sudo nano /etc/postgresql/12/main/postgresql.conf
Décommenter la ligne
listen_addresses = '*'
Modifier le fichier de configuration d’authentification client de PostgreSQL
sudo nano /etc/postgresql/12/main/pg_hba.conf
Ajoutez cette ligne à la fin du fichier pour ouvrir l’accès à la base de données à toutes les adresses IP (non recommandé)
host all all 0.0.0.0/0 md5
Redémarrer PostgreSQL pour appliquer les modifications
sudo /etc/init.d/postgresql restart
Par défaut, les bases de données PostgreSQL ne sont accessibles que par une application locale sur le serveur. Mais il peut être utile d’ouvrir une connexion à la base de données pour gérer votre base de données et vos données avec pgAdmin ou y accéder avec QGIS. Attention, il est cependant conseillé de se limiter à quelques adresses IP.
CONFIGURATION DU NOM DE DOMAINE
Configurer la zone DNS du nom de domaine pour le connecter à l’IP du VPS.
Installation de Certboot (servira plus tard)
sudo snap install --classic certbot
S’assurer que la commande certbot peut être exécutée
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Documentation officielle de Certbot
INSTALLATION DE GEOTREK-ADMIN
Installation du paquet de Geotrek-admin
curl https://packages.geotrek.fr/install.sh | bash
Suivre le déroulé de l’installation en renseignant ce qui suit :
- Create a PostgreSQL database ? -> yes
- Defaults structure name -> geotrek-demo
- SRID -> 3035
- Time zone -> Etc/UTC
- Languages -> fr en
- Server name(s) -> mondomaine.fr
- Geotrek-rando server name(s) -> *
Geotrek-admin est maintenant installé dans le répertoire /opt/geotrek-admin/.
PERSONNALISATION DE GEOTREK-ADMIN
Passer l’url de Geotrek-admin en https avec Certbot
sudo certbot --nginx
Créer un utilisateur pour acceder à Geotrek-admin
sudo geotrek createsuperuser
Dans le fichier sudo nano /opt/geotrek-admin/var/conf/custom.py
, ajouter les lignes suivantes :
#from .prod import
# Emprise du territoire du projet (Irish area, 1=xmin; 2=ymin; 3=xmax; 4=ymax)
SPATIAL_EXTENT = (2860685, 3291839, 3339473, 3746341)
Recharger la nouvelle configuration de Geotrek-admin
sudo dpkg-reconfigure -u geotrek-admin
Generer un fichier GeoTIFF avec le fichier source du DEM
gdal_translate -co "TFW=YES" <PATH>/dem.tif <PATH>/out-dem.tif
Prise en compte du DEM en utilisant la commande de Geotrek-admin pour le charger dans PostGIS :
sudo geotrek loaddem <PATH>/out-dem.tif
Intégration des boundaries avec QgIS
- Ouvrir QGIS et charger les limites du pays et des comtés
- Ouvrir la base de données de Geotrek-admin
- Copier la limite du pays dans la table zoning_district
- Copier les limites des Comtés dans la table zoning_city.
Geotrek-admin est maintenant pret à être utilisé. Accéder à l’application avec votre URL pour commencer à saisir des tronçons et des itinéraires.