Installation du serveur cartographique GeoServer et configuration de l’URL avec Apache

GeoServer est un serveur cartographique open source basé sur les standards de l’Open Geospatial Consortium (OGC). Il met à disposition des données spatiales vecteurs ou rasters stockées dans une base de données ou directement en téléchargeant la donnée brute. Les protocoles de diffusion des données, décrits dans cet article, sont nombreux : Web Map Service (WMS), Web Map Tile Service (WMTS), Web Coverage Service (WCS), Web Feature Service (WFS) et Transactional (WFS-T). Il est en outre possible de mettre en place d’autres extensions tel le plugin INSPIRE afin de compléter les services disponibles.

1. Installation de GeoServer sur Windows

GeoServer est disponible sur les principaux systèmes d’exploitation (Operating System (OS) en anglais) en tant qu’exécutable (installer), fichiers binaires ou archive. C’est un serveur qui peut fonctionner seul mais il est préférable de l’associer à un serveur web afin de construire et d’utiliser toutes les fonctionnalités d’un SIG. Si tu as installé un serveur web Tomcat ou Jetty, il suffit d’implémenter l’archive (.war) dans le répertoire webapps du serveur.  Autrement, l’exécutable est téléchargé sur le site officiel http://geoserver.org/download/ puis des tutoriels de l’installation pour tous les OS sont relativement bien détaillés http://docs.geoserver.org/stable/en/user/installation/  .

Lors de l’installation, il faut être attentif à plusieurs points :

  • la version du Java Runtime Environment (JRE) compatible avec GeoServer. La liste des JRE à télécharger est disponible ici.
  • Le répertoire des données consiste à choisir le chemin de stockage des données spatiales brutes (shapefile et autres) qui seront ensuite potentiellement chargées dans les espaces de travail de GeoServer.
  • L’identifiant et mot de passe de l’interface sont indispensables pour accéder à l’interface de Geoserver. Ils peuvent être modifiés par la suite.
  • Pour le port, une vaste plage de chiffres est disponible. Par défaut, GeoServer est installé sur le port 8080.
  • Le serveur peut être installé en tant que service, c’est-à-dire que le serveur est permanence actif.

Enfin, tu peux vérifier que l’installation s’est correctement déroulée en te connectant à l’interface via ton navigateur web http://localhost:[port]/geoserver/ . Par exemple, si tu as laissé le port 8080, tu te connectes sur le lien : http://localhost:8080/geoserver/ . Avant de te présenter les principales fonctionnalités de GeoServer dans un article, il est possible de renommer cet URL (Uniform Resource Locator en anglais).

2. Configuration basique à l’installation

Il est conseillé d’installer un module de cryptage fort pour la génération des mots de passe. Pour cela, on télécharge les fichiers Java JCE policy correspondant à la version de GeoServer. Les fichiers JAR local_policy.jar et US_export_policy.jar téléchargés remplacent les fichiers correspondant dans le répertoire lib/security du JRE installé précédemment. On redémarre GeoServer et on peut voir le message « Cryptographie forte disponible » sur la page d’accueil.

Par la suite, on redéfinit le mot de passe du super utilisateur (maître), le login par défaut est « default » et le mot de passe initial « root ». On redéfinit les identifiants de l’utilisateur de l’interface qui sont « admin » et « geoserver » par défaut. Suite à cela, on peut ré-encrypter le mot de passe du service dans l’onglet Sécurité > Configuration en choisissant  le cryptage « PBE fort ».

Enfin, les informations sur le point de contact du service sont saisies pour permettre aux personnes extérieures de vous contacter par exemple.

3. Renommer l’URL du serveur cartographique GeoServer avec Apache

Pour pouvoir accéder à l’interface de GeoServer et aux flux de données WM(T)S, WFS et WCS, tu n’as pas le choix de saisir le numéro du port dans l’URL. Pour une utilisation locale, il n’est pas gênant d’utiliser cet URL mais pour diffuser des données, « ce n’est pas très sexy». En effet, il est préférable d’utiliser un URL de type http://www.geomatick.com/geoserver/ que http://www.geomatick.com:8080/geoserver/ . Alors, comment fait-on pour renommer ce lien?

La solution consiste en la configuration d’un proxy sur le serveur HTTP. Par définition, un proxy est un composant qui joue le rôle d’intermédiaire entre deux hôtes pour faciliter leurs échanges. Nos deux hôtes ici sont : http://localhost/ servi par le serveur web et http://localhost:8080/geoserver/ servi par le serveur cartographique GeoServer. Pour obtenir http://localhost/geoserver/, il faut donc que Geoserver apparaisse « côté client » comme un serveur web standard, on parle de mandataire inverse ou passerelle.

Prenons par exemple le serveur web Apache -pour lequel un tutoriel sur son installation est disponible dans cet article-. Dans le fichier httpd.conf, le mod_proxy permet de « rassembler plusieurs serveurs dans le même espace de nommage d’URLs » en configurant les mandataires direct et inverse. Pour mieux appréhender ces notions, l’organisation Apache met une documentation exhaustive en ligne sur ce lien.

On met en place le proxy en éditant le fichier httpd.conf.

On charge les modules proxy et proxy reverse en admettant les lignes suivantes :

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_http_module modules/mod_proxy_http.so

Puis, on configure les mandataires direct et inverse de la manière suivante :

#Mandataire direct
ProxyRequests Off
ProxyPreserveHost On

<Proxy /geoserver>
   Require all granted
</Proxy>

#Mandataire inverse
ProxyPass /geoserver http://127.0.0.1:8080/geoserver
ProxyPassReverse /geoserver http://127.0.0.1:8080/geoserver

Pour rappel, 127.0.0.1 est le protocole internet (IP) pour désigner le système de nom de domaine (Domain Name System (DNS) en anglais) local :  localhost.

Après le redémarrage d’Apache, tu peux accéder à GeoServer via l’URL http://localhost/geoserver/ . Il est à noter que l’utilisation du proxy évite les erreurs liées au Cross Domain.

Dans cet article, on a pu observé que l’installation du serveur cartographique GeoServer sur Windows est relativement simple et rapide pour un environnement de développement. La configuration du serveur web Apache via l’implémentation d’un proxy nous a ensuite permis d’obtenir un URL conforme aux standards internet. En perspective, certaines optimisations de GeoServer sont préférables pour passer en mode de production. L’exploration des fonctionnalités nous montrera qu’un serveur cartographique est très utile voire indispensable dans un SIG.

Taggé , , , , , , , , , , , .Mettre en favori le Permaliens.

A propos Florian Delahaye

Fondateur et Administrateur de Geomatick. Consultant en Géomatique. Docteur en Géographie, Spécialités en SIG et Télédétection.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *