2.1 Démarrage de la machine virtuelle

Ce TP utilise une machine virtuelle préinstallée que vous allez devoir déployer sur votre machine hôte. L'installation de la machine virtuelle est décrite en annexe à la fin de ce document.

La machine virtuelle est fournie dans le format standard "Open Virtualization Application" (OVA). Nous allons utiliser VirtualBox pour l'éxécuter. Pour cela il convient d'installer VirtualBox sur votre ordinateur. Si VirtualBox est déjà installé, veillez à ce que la version soit suffisamment récente. Le TP a été testé avec la version 5.1.22.

Double-cliquez ensuite sur le fichier ANFSIST18_geoserver.ova ou bien importez-le depuis VirtualBox (Fichier > Importer un appareil virtuel). Une fois importée, la machine virtuelle est listée dans le panneau latéral de la fenêtre principale de VirtualBox. Sélectionnez-la et cliquez sur Démarrer. Une fenêtre s'ouvre et affiche l'écran de lancement de la machine. Attendre que celle-ci soit complètement démarrée et que la fenêtre affiche l'image suivante.

Fenêtre de login de la machine virtuelle

Attention : certains ordinateurs (notamment HP) nécessitent une configuration préalable pour que VirtualBox fonctionne correctement. Il convient de modifier le BIOS pour autoriser la virtualisation. Cette option peut s'appeler "Activer SVM (Secure Virtual Machine)". Voir ce site pour plus d'informations.

Pour plus de facilités, notamment pour copier-coller les bouts de code du TP, il est utile de pouvoir se connecter depuis la machine hôte directement vers la machine virtuelle. Cela vous permettra d'exécuter des commandes sans avoir à passer par la fenêtre de la machine virtuelle :

  • sous OS X et Linux : lancer l'application Terminal (OS X) et taper :
    ssh -X -p 10022 sist@localhost
    

Mot de passe : anfsist

  • sous Windows :
    • installer Putty s'il n'existe pas déjà sur votre ordinateur.
    • lancer putty et suivre les instructions ici

Comme indiqué en annexe, les redirections de ports ci-dessous vont faciliter l'utilisation des services déployés :

Nom  Protocole Ip hôte Port hôte Ip invité Port invité
tomcat TCP 8080 8080
http TCP 10080 80
ssh TCP 10022 22

Grâce à ces redirections, la connexion en ssh (voir précédemment) est possible sur le port 10022, le serveur web installé sur la machine virtuelle est accessible à l'adresse : http://localhost:10080, et le serveur tomcat est quant à lui est acessible à l'addresse : http://localhost:8080

2.2 Ressources

L'ensemble des ressources requises pour le TP :

  • ont été placées dans le répertoire /anfsist de la machine virtuelle
  • et vous ont également été fournies dans un fichier ressources.zip qu'il vous faut dézipper.
    /anfsist
    ├── geoserver
    │   ├── data 
    │   │   ├── raster
    │   │   │   └── geotiff 
    │   │   │       └── Oim_2013_1georef_geo.tif  # fichier raster à importer dans Geoserver
    │   │   └── vecteur
    │   │       └── time
    │   │           └── ACT_RadeDeBrest_juil_aout_2009  # shapefile temporel à importer dans Geoserver
    │   │               └──ACT_RadeDeBrest_juil_aout_2009.shp
    │   │               ├── ACT_RadeDeBrest_juil_aout_2009.dbf
    │   │               ├── ACT_RadeDeBrest_juil_aout_2009.prj
    │   │               ├── ACT_RadeDeBrest_juil_aout_2009.qix
    │   │               ├── ACT_RadeDeBrest_juil_aout_2009.qpj
    │   │               ├── ACT_RadeDeBrest_juil_aout_2009.shp
    │   │               ├── ACT_RadeDeBrest_juil_aout_2009.shx
    │   │               └── ACT_RadeDeBrest_juil_aout_2009.sld
    
    │   ├── geoserver-2.13.2
    │   │   ├── geoserver.war # archive web de Geoserver
    │   ├── geoserver-2.13.2-css-plugin # extension css à installer dans Geoserver
    │   │   ├── asm-5.0.3.jar
    │   │   ├── asm-analysis-5.0.3.jar
    │   │   ├── asm-tree-5.0.3.jar
    │   │   ├── asm-util-5.0.3.jar
    │   │   ├── gs-css-2.13.2.jar
    │   │   ├── gt-brewer-19.2.jar
    │   │   ├── gt-css-19.2.jar
    │   │   ├── parboiled-core-1.1.7.jar
    │   │   ├── parboiled-java-1.1.7.jar
    │   │   └── SCALA-LICENSE.txt
    │   └── styles  # fichier de style SLD à importer dans Geoserver
    │       └── ACT_RadeDeBrest_juil_aout_2009.sld
    ├── init # dump de la base de données Postgresql pour créer une couche de type PostGIS
    │   ├── anfsist_data.sql
    │   └── anfsist.sql
    └── www # fichiers des clients web SIG embarquant du code OpenLayers
        ├── anf_geoserver_wfs.html
        ├── anf_geoserver_wfs_test.html
        ├── anf_geoserver_wms_tiled.html
        ├── anf_geoserver_wms_tiled_test.html
        └── anf_geoserver_wms_time.html
    

2.3 Déploiement du .war dans tomcat

Geoserver tourne sur les principaux systèmes d'exploitation et il peut être installé à l'aide d'installeurs, directement à partir des fichiers binaires ou fichiers sources ou à l'aide d'une archive web (web archive .war). C'est cette dernière méthode que nous décrivons ici. Celle-ci nécessite l'installation préalable d'un serveur d'application Java tel que Tomcat, que nous avons préinstallé, puis du déploiement de l'archive web. Il existe ensuite deux possibilités décrites ci-dessous pour déployer une archive web, qui aboutissent toutes les deux au même résultat. Nous déroulerons la première, la plus simple, la deuxième étant laissée au mode avancé.

2.3.1 Installation par upload de l'archive via l'interface web de tomcat

  • Lancer Firefox depuis la machine hôte et aller sur http://localhost:8080/manager
  • Se connecter :
    • login : admin
    • password : anfsist
  • Aller dans la section Deploy > WAR file to deploy > Browse et choisir le fichier geoserver.war qui vous a été distribué.
  • Cliquer sur Deploy Déploiement de Geoserver via l'interface de gestion de Tomcat

Au bout de quelques secondes, voire une minute, la page est rechargée avec le message OK et une entrée /geoserver est ajoutée. Geoserver a été automatiquement lancé. On peut cliquer sur le lien pour aller sur l’interface d’administration de geoserver : http://localhost:8080/geoserver.

Note : il est possible de suivre le déploiement et le démarrage de geoserver en visualisant les logs de tomcat :

    sudo tail -f /var/log/tomcat8/catalina.out

Attention : si l'accès à l'interface ne fonctionne pas correctement, veuillez vous référer à la note d'installation à la fin du Préambule.

2.3.2 Installation via le système de fichier [mode avancé]

Attention : faites une sauvegarde d'une éventuelle précédente installation si vous ne voulez pas la perdre

Les services web tomcat sont installés dans le répertoire webapps à la racine de l'installation tomcat. Il suffit de copier une web archive (.war) dans ce répertoire pour qu'il soit automatiquement déployé :

  • passer en tant que tomcat8 et copier le fichier /anfsist/geoserver/geoserver-2.8.5/geoserver.war vers le répertoire : /var/lib/tomcat8/webapps/

    su -s tomcat8
    cp /anfsist/geoserver/geoserver-2.13.2/geoserver.war /var/lib/tomcat8/webapps/
    
  • attendre quelques secondes, un dossier geoserver va apparaître dans ce répertoire. Note: tomcat détecte la présence du nouveau .war et le déploie automatiquement. Il n'y a donc normalement pas besoin de redémarrer tomcat.

2.4 Tour d'horizon de l'interface d'administration

Se rendre sur la page d'accueil : http://localhost:8080/geoserver. Celle-ci indique le numéro de version ainsi que les différents protocoles et versions supportés (Service Capabilities). Connectez-vous :

  • login : admin
  • password : geoserver

La page du milieu résume les objets qui ont déjà été créés (layers, stores, workspaces), tandis que dans la barre latérale apparaît l'ensemble des sections d'administration :

  • la section About & Status (Serveur) permet de consulter l'état du service ainsi que les logs
  • la section Data (Données) permet de spécifier les entrepôts de données (sources de données), de créer les couches et les espace de travail ;
  • la section Services permet d'activer ou non les flux de sortie ;
  • la section Settings (Configuration) permet d'éditer les paramètres globaux de Geoserver ;
  • la section Tile Caching (Cache de tuiles) permet de gérer le tuilage des couches propre au protocole WMTS ;
  • la section Security (Sécurité) permet de définir les rôles ainsi que les droits d'accès ;

Cette barre latérale est parfois enrichie à mesure que l'on installe des extensions.