Skip to Content

Foire Aux Questions - Comment installer MapServer ?

Auteur : L.Jégou

Sous windows comme sous Linux et OSX, l'installation de MapServer peut rencontrer des problèmes à deux niveaux principaux :

  • Les problèmes de bibliothèques de fonctions
    • Sous windows, les fichiers de bibliothèques de fonctions possèdent le plus souvent l'extention .dll, et pour qu'ils soient utilisables par MapServer il faut qu'ils se trouvent soit dans le même répertoire que l'exécutable (généralement /cgi-bin), soit dans un répertoire listé dans la variable d'environnement système PATH (Panneau de Configuration, Système, onglet Avancé, bouton gauche du bas "Variables d'environnement").
    • Sous Linux et OSX, les bibliothèques de fonctions doivent se trouver dans un répertoire dédié à ce type de fichiers, généralement /lib et /usr/lib, ou dans un répertoire listé dans le fichier /etc/ld.so.conf. Les procédures d'installation d'une nouvelle bibliothèque de fonctions modifient généralement ce fichier, sinon il faut le faire à la main, puis exécuter l'utilitaire "ldconfig", qui met à jour la liste des bibliothèques disponibles.
  • Les problèmes de configuration serveur
Les points classiques à vérifier sont :

    • L'accessibilité (droits) des répertoires et des fichiers utilisés par MapServer
      • mapfiles
      • données
      • fichiers temporaires (pour l'écriture des fichiers images générés)
    • La bonne configuration de l'utilisation d'exécutables cgi-bin par le logiciel serveur (identification du répertoire et paramétrage).
    • La bonne configuration des alias de répertoire, notamment pour les fichiers temporaires et certaines applications comme MapLab.
Auteur : L.Jégou

Pour vérifier que l'installation de MapServer s'est bien passée, voici quelques tests :

  • Sur la machine serveur, executer le fichier binaire "mapserv", qui se trouve normalement dans le répertoire cgi-bin du logiciel serveur web, vous devez obtenir le message suivant :
"should be initiated as a CGI process via a httpd server."
  • En accédant au même binaire mapserv à partir d'un navigateur web, en utilisant une url de la forme "http://serveur/cgi-bin/mapserv", on obtient le texte suivant :
"No query information to decode. QUERY_STRING is set, but empty."
Voici un exemple.

Si ce n'est pas le cas, référez-vous à la section "Quelles sont les erreurs courantes à l'installation ?".


Pour vérifier que PHP/MapScript est bien installé, vérifier que le tableau "MapScript" fait bien partie de la sortie de phpinfo(), au besoin en forçant son chargement :

<?php
dl('php_mapscript.so'); // ou php_mapscript.dll sous windows
phpinfo();
?>
Auteur : L.Jégou

Pour l'installation complète à partir des sources, voici quelques procédures détaillées :

Auteur : L.Jégou

L'installation de MapServer sur une machine Windows peut s'effectuer simplement en utilisant la solution regroupée MS4W (MapServer for Windows) de MapTools.org.
FredB du ForumSIG propose une documentation complète et étape par étape pour installer un seveur apache2, PHP5 et MapServer sous Windows :
http://www.forumsig.org/showpost.php?p=22748&postcount=8

Jean Pascal Klipfel propose un document qui présente plus en détail la configuration et l'optimisation d'Apache et de PHP pour Mapserver :
http://www.forumsig.org/showpost.php?p=22868&postcount=11

 

Auteur : L.Jégou

MapServer n'est diffusé par ses auteurs que sous la forme de code source C++. Pour obtenir un programme exécutable, il faut le compiler, c'est à dire utiliser un programme externe, le compilateur, qui va interpréter le code et le transformer en instructions exécutables par un ordinateur. Pour plus de détails sur cette opération, qui varie considérablement selon le système d'exploitation utilisé, cf. la question "Comment installer MapServer ?".

Pour faciliter son utilisation, des utilisateurs de MapServer mettent à disposition sur Internet des versions précompilées, c'est à dire des exécutables de MapServer directement utilisables. Ainsi, des exécutables (appelés aussi binaires) de MapServer sont disponibles en téléchargement, selon le système d'exploitation et les optimisations recherchées, voici quelques liens :

Selon les versions, l'installation de ces versions précompilées peut être très diférente, de la simple décompression d'un fichier archive à l'exécution d'un script shell. Les procédures sont décrites sur les pages Internet ou dans des fichiers contenus dans les archives. La consultation de la question "Comment installer MapServer ?" peut être informative.

Sous Linux, MapServer est aussi disponible comme composant d'un ensemble plus vaste de logiciels, voir de distributions complètes dédiées aux logiciels cartographiques et de SIG :

Auteur : L.Jégou

MapServer est une application qui peut être utilisée de deux manières :

  • comme générateur de cartes sous forme de fichiers image à partir de paramètres définis dans des mapfiles, avec l'utilitaire shp2img ;
  • comme application côté serveur, pour générer et diffuser des cartes potentiellement interactives dans des pages Internet.

Naturellement la seconde utilisation est la plus courante, mais la première peut rendre service. Dans ces deux cas les besoins en ressources matérielles sur l'ordinateur exécutant l'application sont différents, car l'exécution d'un logiciel serveur Internet (et de ses programmes liés comme php, asp ...) va demander des ressources bien plus importantes.

Mais l'essentiel est de comprendre que les besoins en ressources de MapServer sont extrêmement variables, en fonction des éléments suivants :

  • type et quantité de données sources utilisées dans le document cartographique

Les données peuvent être composées de fichiers plus ou moins lourds, voir de données distantes à rapatrier avant de pouvoir les traiter.

  • type et quantité de traitements effectués sur ces données

Les traitements peuvent aller d'un simple affichage de shapefiles à des opérations de reprojections, de sélection par requête et de traitement graphique.

  • charge du serveur web

Le serveur peut être interrogé par de nombreuses personnes au même moment, exécuter d'autres traitements...

En conclusion, si l'utilisation de MapServer pour réaliser des traitements simples sur des données légères ne requiert pas de matériel informatique récent, les traitements complexes sur des données lourdes peuvent nécessiter une part du temps de travail du cpu et de la mémoire vive importante. L'utilisation de MapServer sur un serveur Internet va ajouter des besoins supplémentaires, à estimer à partir de la fréquentation prévue.