Annexes

Annexe 1 : Installation de la machine virtuelle

Le TP se déroule sur une machine virtuelle sur laquelle les étapes suivantes ont été exécutées :

  • Installer debian 9.5 (Stretch)
  • Installer sudo et passer le login sist en sudoer

    [login_root] apt install sudo
    [login_root] usermod -aG sudo sist
    
  • Mettre à jour le système et installer divers outils

    sudo apt-get upgrade
    sudo apt-get install vim
    
  • Installer les Guest Additions de Virtualbox :

    sudo apt update
    sudo apt install build-essential module-assistant dkms
    sudo m-a prepare
    sudo mount /media/cdrom
    sudo cd /media/cdrom
    sudo bash VBoxLinuxAdditions.run
    sudo reboot
    
  • Installer apache (2.4.25)

    sudo apt-get install apache2
    
  • Installer tomcat 8 :

    sudo apt-get install tomcat8 tomcat8-admin
    
  • Editer le fichier /etc/tomcat8/tomcat-users.xml

    sudo nano /etc/tomcat8/tomcat-users.xml
    

et ajouter juste après la balise <tomcat-users> :

    <role rolename="admin-gui"/>
    <role rolename="manager-gui"/>
    <user username="admin" password="anfsist" roles="admin-gui,manager-gui" />
  • Redémarrer tomcat :

    sudo service tomcat8 restart
    
  • Installer postgresql (9.6) :

    sudo apt-get install postgresql
    
  • Installer postgis (2.3) :

    sudo apt-get install postgis
    
  • L'ensemble des ressources requises pour le TP sont placées dans le répertoire /anfsist de la machine virtuelle. Pour les copier sur la machine virtuelle nous avons monté un répertoire partagé en la machine hôte et la machine virtuelle : aller dans Réseau > Dossiers Partagés > "+", Chemin du dossier : vers le répertoire de ressources sur la machine hôte ([...]/ANFSIST18_geoserver_res/anfsist), Nom du dossier = anfsist, cocher Lecture seule et Montage automatique (et Configuration permanente si l'option existe). Le répertoire sera automatiquement monté dans /media/sf_anfsist. Pour pouvoir y accéder les utilisateurs sist, www-data, postgres et tomcat8 doit être dans le groupe vboxsf :

    sudo usermod -a -G vboxsf sist
    sudo usermod -a -G vboxsf tomcat8
    sudo usermod -a -G vboxsf www-data
    sudo usermod -a -G vboxsf postgres
    sudo service tomcat8 restart
    sudo service apache2 restart
    sudo reboot
    sudo mkdir /anfsist
    sudo cp -a /media/sf_anfsist/* /anfsist/
    
  • Créer la base de données du TP

    sudo sh -c 'cat <<EOF>> /etc/postgresql/9.6/main/pg_ident.conf
    geoserver       sist                    geoserver
    geoserver       root                    geoserver
    EOF'
    sudo sh -c 'cat <<EOF>> /etc/postgresql/9.6/main/pg_hba.conf
    local   anfsist         geoserver          ident map=geoserver
    EOF'
    sudo service postgresql restart
    su -
    [root login] su postgres
    [postgres login] psql < /anfsist/init/anfsist.sql
    [postgres login] psql -d anfsist < /anfsist/init/anfsist_data.sql
    
  • Installer QGIS :

    sudo apt-get install qgis
    
  • Ajouter le plugin OpenLayers dans QGIS

    • Lancer Qgis dans la machie virtuelle
    • aller dans Plugins > Manage and Install Plugin..., chercher OpenLayers Plugin et l'installer.
  • Un lien est établi vers les fichiers html contenant des clients openlayers (utiles en fin de TP) :

    sudo ln -s /anfsist/www /var/www/html/tp_geoserver
    
  • Par confort d'utilisation, nous permettons l'accès à la machine virtuelle depuis la machine hôte pour la connexion ssh et pour l'accès aux services web. Pour cela, aller dans Réseau > Avancé > Redirection de ports et ajouter :

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

Note

Dans certains cas rares, le port 8080 de la machine hôte est déjà utilisé, la redirection de port pour tomcat ne peut alors pas fonctionner. Cela veut probablement dire que vous avez déjà installé tomcat sur votre machine ou bien que vous avez installé une application qui embarque un serveur tomcat. Si tel est le cas, il vous faudra soit arrêter le serveur tomcat ou l'application en question, soit effectuer une autre redirection de port.

Annexe 2 : Configuration de Tomcat

La machine virtuelle est également fournie avec un serveur d'applications tomcat préconfiguré.

Sous Debian l'installation de tomcat produit des fichiers dans /etc/tomcat8/ et /var/lib/, tandis que l'interface d'administration qui vient avec le package tomcat8-admin est installée dans /usr/share/tomcat8-admin.

Avant d'installer Geoserver via tomcat il est nécessaire de configurer les paramètres d'exécution de tomcat de manière à pouvoir déployer et exécuter l'archive web Geoserver. Tomcat étant une application Java il convient de modifier les paramètres d'exécution par défaut qui sont fixés relativement bas.

  • Créer le répertoire bin dans le répertoire /var/lib/tomcat8 :

    sudo mkdir /var/lib/tomcat8/bin
    
  • Créer le fichier /var/lib/tomcat8/bin/setenv.sh avec le contenu suivant :

    sudo sh -c 'cat <<EOF> /var/lib/tomcat8/bin/setenv.sh
    CATALINA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms256M -Xmx2048M -XX:MaxPermSize=256m -XX:SoftRefLRUPolicyMSPerMB=36000"
    EOF'
    
  • L'interface d'administration permet d'installer des applications en téléversant des archives web. Malheureusement la taille maximum des fichiers que l'on peut téléverser est par défaut trop basse (50 Mo). Nous pouvons l'augmenter en éditant le fichier /usr/share/tomcat8-admin/manager/WEB-INF/web.xml :

    • Remplacer :

      <multipart-config>
          <!-- 50MB max -->
          <max-file-size>52428800</max-file-size>
          <max-request-size>52428800</max-request-size>
          <file-size-threshold>0</file-size-threshold>
      </multipart-config>
      
    • par :

      <multipart-config>
          <!-- 200MB max -->
          <max-file-size>209715200</max-file-size>
          <max-request-size>209715200</max-request-size>
          <file-size-threshold>0</file-size-threshold>
      </multipart-config>
      
  • Redémarrer tomcat

    sudo service tomcat8 restart