Installation de Mapserver5 sur Ubuntu7.10

Pré-requis:

Ce tutoriel nécessite :

  • une connexion internet,
  • d’avoir les paquets à jour ainsi qu’une petite modification du source.list afin d’avoir tous les paquets nécessaires
  • d’avoir installé apache2 et php5

Mémo :

  • Installation de Apache2 et php5 :
    sudo aptitude install apache2 php5
  • Configiration du fichier hosts ici

Installation des paquets

sudo aptitude install cgi-mapserver mapserver-bin mapserver-doc php5-mapscript python-mapscript

Note : Avec cette méthode, mapserv est installé dans /usr/lib/cgi-bin.

Visualisez les informations relatives à Mapserver

Après l’installation, vous pouvez voir les paramètres se reportant aux supports ainsi qu’aux formats d’export et import pris en compte par Mapserver.

Tapez :

/usr/lib/cgi-bin/mapserv -v

Réponse de la machine :

MapServer version 5.0.0 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=THREADS SUPPORTS=GEOS INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE

Vous pouvez également retrouver ces informations en mettant sur votre serveur un fichier info.php à la racine du serveur (par exemple /var/www) contenant :

<?php phpinfo() ?>

Il nous suffira ensuite de taper http://localhost/info.php

Vous pouvez désormais tester le CGI de mapserver en cliquant sur le lien suivant :
http://localhost/cgi-bin/mapserv
Votre navigateur devrez vous retourner la phrase suivante : « No query information to decode. QUERY_STRING is set, but empty. »

Installation des exemples

Vous pouvez maintenant installer un exemple d’application conçu pour mapserver5 http://maps.dnr.state.mn.us/mapserver_demos/workshop-5.0.zip

Note : Dans mon cas, j’ai extrait le contenu de l’archive dans /home/gglafouine/gis-test/mapserver (les liens sont en relation avec ce dossier alors modifiez les en conséquences).

Configuration d’Apache2

Désormais nous devons éditer le fichier Default du serveur Apache afin de lui définir un nouvel hôte permettant d’accéder à notre application.

sudo gedit /etc/apache2/sites-available/default

Ajouter l’hôte virtuel :

<VirtualHost *>
	ServerName mapserver
	DocumentRoot /home/gglafouine/gis-test/mapserver
 
	<Directory />
		Options FollowSymLinks
		AllowOverride All
	</Directory>
 
	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>
 
	ErrorLog /var/log/apache2/mapserverdemo_error.log
	LogLevel warn
	CustomLog /var/log/apache2/mapserver_access.log combined
	ServerSignature On
</VirtualHost>

Nous devons ensuite modifier le fichier hosts :

 sudo gedit /etc/hosts

Ajoutez la ligne suivante :

127.0.0.2	localhost.localdomain localhost mapserver

Astuce : Vous pouvez créer un nouveau lien sur le fichier mapserv contenu dans le dossier /usr/lib/cgi-bin/ en le nommant mapserv50 (cela évite de modifier les occurrences des fichiers.)

Maintenant vous devez relancez le serveur :

sudo /etc/init.d/apache2 restart

Vous pouvez désormais vérifier une nouvelle fois le fonctionnement de mapserver en CGI en cliquant sur le lien suivant :

Votre navigateur devrez vous retourner la phrase suivante : « No query information to decode. QUERY_STRING is set, but empty.

Notre exemple n’est pas encore prêt à être utilisé. Pour cela, nous devons modifier les fichiers :

  • index.html
  • itasca.map

configuration de l’exemple

Tout d’abord, nous allons modifier le fichier index.html contenu dans le dossier workshop-5.0.

sudo gedit /home/gglafouine/gis-test/mapserver/workshop-5.0/index.html

Entrez les chemins correspondant à votre installation dans les ligne suivantes :

8
9
10
        // EDIT THE NEXT 2 LINES TO MATCH YOUR SETUP
        var snippet = "IMAGEPATH '/home/gglafouine/gis-test/mapserver/tmp/'";
        snippet += " IMAGEURL '/tmp/'";
41
42
43
44
      <!-- EDIT THESE HIDDEN VARIABLES -->
      <input type="hidden" name="map" value="/home/gglafouine/gis-test/mapserver/workshop-5.0/itasca.map">
      <input type="hidden" name="program" value="/cgi-bin/mapserv50">
      <input type="hidden" name="root" value="/mapserver/workshop-5.0">

Il nous faut encore modifier une ligne dans le mapfile :

sudo gedit /home/gglafouine/gis-test/mapserver/workshop-5.0/itasca.map

Modifiez la ligne :

76
      WMS_ONLINERESOURCE "http://localhost.localdomain/mapserver/workshop-5.0/index.html"

Enfin, vous pouvez visualiser les exemples en cliquant sur :
http://mapserver/workshop-5.0/

Et là ça fonctionne.

À propos de gglafouine

Je suis actuellement en poste dans le Groupe Nicollin en tant que Cartographe. J'ai pris l'initiative de mettre en place ce blog en 2008 afin de partager mes connaissances, mes problématiques et mes interrogations. Ainsi, cette plateforme me sert d'appui dans mon travail et d'interface d'échange avec mes collègues.
Ce contenu a été publié dans API Web, HowTo, Serveur, avec comme mot(s)-clef(s) , , , , . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire