Installation de FGS Mapserver sur Ubuntu
L'installation créé un environnement virtuel. De ce fait, l'installation est simple (aucune dépendance n'est à installer) et rapide sur n'importe quelle distribution Linux.
Pourquoi installer cette version de Mapserver?
Les paquets par défaut disponibles dans les dépôts ne supporte pas l'ECW. Il faudrait dès lors recompiler plusieurs librairies et logiciels ce qui n'est pas très intéressant et assez long à réaliser. Vous aurez ainsi les dernières mises à jour de Mapserver si vous mettez à jour les packages FGS sans avoir à recompiler à chaque nouvelle version.
Prérequis :
Ce tuto a été testé sur Ubuntu 8.04 et Ubuntu 8.10 (server et desktop). il suppose comme toutes les distributions Linux que le compte root ne soit pas activé. Les commandes ne doivent pas être lancées en sudo sauf pour les deux premières mentionnées. "user" définit le compte utilisateur créé lors de l'installation d'Ubuntu
1) Créer les répertoires qui vont accueillir l'installation et donner les droits correspondants :
sudo mkdir /opt/Mapserver
sudo chown user:user /opt/Mapserver
2) Récupérer le package d'installation :
cd /tmp
wget http://www.maptools.org/dl/fgs/releases/1.0/1.0.0/self-installers/fgs-mapserver_5.2.2-fgs_1.0.0-linux-i386.bin
3) Executer l'installeur :
sh fgs-mapserver_5.2.2-fgs_1.0.0-linux-i386.binVous devez obtenir ceci :
Appuyez sur la touche Entrée et spécifier votre répertoire d'accueil : /opt/Mapserver/fgs
La procédure se poursuit et vous demande le port à utiliser : Utiliser les standad du web (8080, 8008, 8000)
A la fin de l'installation un écran de réussite devrait apparaître vous indiquant les manipulations à réaliser :
4) Tester si l'installation est réussie et démarrer FGS Mapserver les prochaines fois :
. /opt/Mapserver/fgs/setenv.shNotez qu'un espace est bien présent entre "." et "/"
La réponse devrait être :
* FGS runtime ready in '/opt/Mapserver/fgs', use fgs command.Lancer apache :
fgs startRéponse :
+ Starting 'apache':Maintenant il faut vérifier si le lancement d'apache à réellement fonctionné. Pour cela ouvrez un navigateur (firefox par exemple) et taper dans la barre d'adresse (remplacer "port" part le port que vous avez spécifié lors de l'installation
http://localhost:port/cgi-bin/mapservSi tout fonctionne correctement, le message ci-dessous devrait s'afficher :
"No query information to decode. QUERY_STRING is set, but empty".
5) Utilisation de FGS Mapserver
Pour des besoins futurs (avant d'utiliser les commandes fgs il faut toujours établirt les paramètres d'environnement via le lancement du setenv.sh
Arrêter Apache :
fgs stopRedémarrer Apache :
fgs stop ; fgs start
Démarrer FGS automatiquement au lancement du server
Dans la doc et à la fin de l'installation, il est écrit de faire cela
echo "su user -c \"( . /opt/Mapserver/fgs/setenv.sh ; fgs start )\"" >> /etc/rc.d/rc.localOr ce la ne fonctionne pas ! En effet le repertoire /etc/rc.d n'existe pas sur Ubuntu donc le système ne peut pas charger le fichier rc.local au lancement du serveur
Pour cela il convient de faire la manip mais sur un rc.local valide :
echo "su user -c \"( . /opt/Mapserver/fgs/setenv.sh ; fgs start )\"" >> /etc/init.d/rc.localRépertoire accessible au web (équivalant de /var/www lors d'une installation standard d'Apache).
Placer ici vos différentes pages html ou framework (cartoweb, pmapper, etc ...)
/opt/Mapserver/fgs/www/htdocs/
6) Configurations optionnelles
a) Instalaltion de modules
Méthode générale :
fgs install module:version adresse_du_module
Personnellement je préfères télécharger le smodules localement sur le poste pour pouvoir lancer l'installation. Ce qui donne pour certains modules que j'ai installé : (curl c'est pour cartoweb !)
fgs install php_curl-module:5.2.5 fgs-php_curl-module-5.2.5-linux-i386.tar.gz
fgs install php_odbc-module:5.2.5 fgs-php_odbc-module-5.2.5-linux-i386.tar.gz
fgs install php_pgsql-module:5.2.5 fgs-php_pgsql-module-5.2.5-linux-i386.tar.gz
fgs install postgresql-lib:8.3.1 fgs-postgresql-lib-8.3.1-linux-i386.tar.gz
fgs install postgis-lib:1.3.2 fgs-postgis-lib-1.3.2-linux-i386.tar.gz
b) Configuration du php.ini
Editer le fichier
/opt/Mapserver/fgs/etc/httpd/conf/php5.ini.template
Modifier :
1) Resources
(Permet d'ajouter une plus grande valeur en mémoire pour des sorties en pdf ...)
C'est un peu beaucoup ce que j'ai mis mais c'est à vous d'adapter
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 90 ; Maximum execution time of each script, in seconds
max_input_time = 90 ; Maximum amount of time each script may spend parsing request data
memory_limit = 120M ; Maximum amount of memory a script may consume (8MB)
2) Extensions (adapter en focntion de ce que vous installez)
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
extension=php_curl.so
extension=php_pgsql.so
Redemarrer fgs
3) Changer le port d'Apache
Editer le fichier /opt/Mapserver/fgs/etc/fgs/pkgs/apache-base/apache.conf et mettez ce que vous voulez comme port
L'utilisation semble assez facile, si jamais je n'aurais été pas assez clair, vous pouvez laisser un commentaire.
Ton tuto marche très bien. Merci. Moi j'ai un soucis avec mon ancienne version de php dès que je lance setenv.sh.
RépondreSupprimer