May 7, 2022 par J. Lenormand

Installation de Geotrek-admin sur un serveur privé virtuel

blog-feature-image

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é.

 

Geotrek, page d’accueil

 

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

 

Emprise du DEM sur le territoire concerné

 

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

 

Délimitation des Comtés sur le territoire concerné

 

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

  1. Ouvrir QGIS et charger les limites du pays et des comtés
  2. Ouvrir la base de données de Geotrek-admin
  3. Copier la limite du pays dans la table zoning_district
  4. 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.

 

Sources et sites de références :
Logiciels utilisés :