Installation d un serveur cartographique sur GNU/Linux: Red Hat Enterprise Linux v.4



Documents pareils
Module 7 : Configuration du serveur WEB Apache

Séquence 8 - Bases des réseaux - suite Jean.Saquet@info.unicaen.fr, Gaetan.Richard@info.unicaen.fr

Instructions Mozilla Thunderbird Page 1

Apache 2.4 Installation et configuration

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

WEB page builder and server for SCADA applications usable from a WEB navigator

2011 Hakim Benameurlaine 1

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Contents Windows

How to Login to Career Page

Préparation d un serveur Apache pour Zend Framework

REPARTITION DE CHARGE LINUX

Déploiement d OCS 1.02 RC2 sous Debian Etch 64

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Comment avoir le logiciel? Le serveur web APACHE peut être téléchargé gratuitement du site web de APACHE:

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial

APACHE 2.4. Installation et configuration. Nicolas MARTINEZ

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Installation GLPI-OCSNG-SSL Linux Debian Sarge

DOCUMENTATION - FRANCAIS... 2

Le serveur Web : Apache

UE5A Administration Réseaux LP SIRI

LAMP : une nouvelle infrastructure LAMP. Une architecture modulaire. Installation

Guide d installation de SugarCRM Open Source version 4.5.1

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

Configuration du serveur Web Apache. Master 1 STIC-Informatique 1

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

Application Form/ Formulaire de demande

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

DOCUMENTATION - FRANCAIS... 2

GUIDE D INSTALLATION. Portaneo Enterprise Portal version 4.0

Notes pour l'installation d'une version de Eprints sur une machine CentOS4.2 Stéphanie Lanthier Le jeudi 17 février 2006

Tutoriel compte-rendu Mission 1

Guide Installation Serveur Extensive Testing

Installation de Zabbix

Maîtriser Apache. Benjamin Drieu. version

TP Service HTTP Serveur Apache Linux Debian

1 Configuration des Fichiers Hosts, Hostname, Resolv.conf

TABLE DES MATIERES A OBJET PROCEDURE DE CONNEXION

Guide Installation Serveur Extensive Testing

Déploiement de SAS Foundation

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Serveur Subversion Debian GNU/Linux

Dans l'épisode précédent

Procédure d'installation

TP LINUX : LINUX-SAMBA SERVEUR DE FICHIERS POUR UTILISATEURS WINDOWS

Package Contents. System Requirements. Before You Begin

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition

Acronymes et abréviations. Acronymes / Abbréviations. Signification

Vanilla : Virtual Box

Once the installation is complete, you can delete the temporary Zip files..

windows. deb etch main deb-src etch main

SERVEUR HTTP Administration d apache

Exemple PLS avec SAS

Les serveurs WEBUne introduction

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on

APPENDIX 6 BONUS RING FORMAT

Installer un système LAMP

Petit guide pour l installation de CVW sous Linux

RAPID Prenez le contrôle sur vos données

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

DOCUMENTATION MODULE BLOCKCATEGORIESCUSTOM Module crée par Prestacrea - Version : 2.0

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

Les techniques de la télémaintenance

WDpStats Procédure d installation

Principe de TrueCrypt. Créer un volume pour TrueCrypt

Cheque Holding Policy Disclosure (Banks) Regulations. Règlement sur la communication de la politique de retenue de chèques (banques) CONSOLIDATION

SERVEUR WEB LINUX LAMP. Raymond RAZAFIMAMONJY Administration LINUX / UNIX Chapitre 15

CDS Invenio Installation et configuration de base

Installer un domaine DNS

Notice Technique / Technical Manual

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups Auteur : Charles-Alban BENEZECH

Documentation d'installation Plateforme femme actuelle

Academic Project. B2- Web Development. Resit Project. Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA

sshgate Patrick Guiran Chef de projet support

Serveur Web Apache - SSL - PHP Debian GNU/Linux

INFO-F-404 : Techniques avancées de systèmes d exploitation

English Q&A #1 Braille Services Requirement PPTC Q1. Would you like our proposal to be shipped or do you prefer an electronic submission?

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2

NOTICE INSTALLATION. ARCHANGE WebDAV Office N&B/Couleur KONICA MINOLTA BUSINESS SOLUTIONS FRANCE

Sendmail milter/greylisting

Installation d'un Contrôleur Principal de Domaine SAMBA 4

VoD ( Video on Demand ) avec VLC

VTP. LAN Switching and Wireless Chapitre 4

Bon ben voilà c est fait!

AMENDMENT TO BILL 32 AMENDEMENT AU PROJET DE LOI 32

Table des matières Hakim Benameurlaine 1

Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad

REMBO Version 2.0. Mathrice 2004 DESCRIPTION MISE EN OEUVRE CONCLUSION.

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

Transcription:

1 / 48 Installation d un serveur cartographique sur GNU/Linux: Red

2 / 48 INDEXATION DU DOCUMENT TITRE : REFERENCE : Installation d un serveur cartographique sur GNU/Linux: Red ACTION NOM DATE SIGNATURE RÉDIGÉ PAR Jean David TECHER 2006-06-23 SUIVI DU DOCUMENT INDICE DATE MODIFICATIONS NOM

3 / 48 Table des matières 1 Pré-requis : Installer Red 1 2 Installation de l application cartographique 5 2.1 Les outils utilisés................................................... 5 2.2 Automatisation et installation complète....................................... 6 A Explication détaillée de l installation des différents éléments 9 A.1 Création du répertoire des sources et téléchargement des sources.......................... 9 A.2 Geos.......................................................... 9 A.3 Proj.......................................................... 10 A.4 PostgreSQL...................................................... 10 A.5 PostGIS........................................................ 11 A.6 PostgreSQL : Création du super-utilisateur postgres et initilisation du groupe de bases de données par défaut... 11 A.7 PDFLIB........................................................ 11 A.8 LibJpeg,LibPng, FreeType2 et GD.......................................... 11 A.9 Php.......................................................... 12 A.10 Gdal.......................................................... 13 A.11 MapServer....................................................... 13 A.12 Installation de l application cartographique de démonstration............................ 14 A.12.1 Pour Apache................................................. 14 A.12.2 Pour PostgreSQL............................................... 14 A.12.3 Installer l application de démonstration................................... 15 B Fichiers de configuration 18 B.1 Script d installation général.............................................. 18 B.2 Apache........................................................ 22 B.3 PostgreSQL...................................................... 38 B.3.1 Fichier de configuration du serveur..................................... 38 B.3.2 Fichier pour le service............................................ 45 C Bibliographie 48 C.1 [1]........................................................... 48 C.2 [2]........................................................... 48

4 / 48 Table des figures 1.1 Copie d écran conforme à la désactivation du pare-feu sur Red Hat......................... 2 1.2 Copie d écran conforme à la désactivation de SELinux sur Red Hat......................... 3 1.3 Installation des paquetages de la rubrique "Outils de développement"........................ 4 2.1 Formulaire d accès à l application.......................................... 7 2.2 L application de démonstration............................................ 8 A.1 Première copie d écran pour PHPINFO....................................... 16 A.2 Seconde copie d écran pour PHPINFO : les extensions de MapServer(MapScript), PDFLIB (pdf) et PostgreSQL (pgsql) ont bien été prises en compte lors de la compilation de PHP......................... 17

5 / 48 Liste des tableaux 1.2 Les options choisies lors de l installation....................................... 1 2.2 Ensemble des outils à installer............................................ 5

Résumé Ce guide fournit les diverses phases d installation d un serveur cartographique sous GNU/Linux pour Red Hat Enterprise Linux v.4. Le premier chapitre fournit l installation adéquate et minimale requise afin de pouvoir compiler et installer nos divers outils sur de cette distribution. L objectif du premier chapitre est de proposer un environnement de compilation GNU/Linux minimal conforme à l implémentation de solutions cartographiques. Les divers outils nécessaires pour nos solutions cartographiques sont abordés dans le second chapitre ainsi que le déploiement automatique des applications cartographqiues.les compilations et installations respectives des différents outils sont fournis en annexe de ce document.

1 / 48 Chapitre 1 Pré-requis : Installer Red Hat Enterprise Linux v.4 Red est fourni avec 4 CD principaux. Ici nous n aurons besoin que des 3 premiers CD. Au niveau de l installation de la Red Hat, nous avons ôpté pour une installation minimale. A titre indicatif, sont fournis dans le tableau suivant divers paramètres choisis lors de l installation du système Red Hat Langue Clavier Méthode d installation Partitionnement Chargeur de boot Pare-feu SELinux Mode d installation Paquetages à installer Français Latin9 CD Local Automatique GRUB Désactivé Désactivé personnalisé Développement / Outils de développement TAB. 1.2 Les options choisies lors de l installation Si par la suite, on souhaite partir d une installation d une Red Hat déjà existante, il est nécessaire que les divers points suivants soient impérativement respectés : 1. Le gestionnaire de pare-feu de Red Hat et de SELinux doivent être désactivés. 2. Au niveau des paquetages à installer : certains paquetages relatifs à la rubrique "Outils de développements" du gestionnaire de paquetages doivent être installés. Pour désactiver le pare-feu et SELinux, allez dans "Applications" --> "Paramètres de système" --> "Niveau de sécurité"

2 / 48 FIG. 1.1 Copie d écran conforme à la désactivation du pare-feu sur Red Hat

3 / 48 FIG. 1.2 Copie d écran conforme à la désactivation de SELinux sur Red Hat Toujours dans le cas d une installation déjà existante, pour installer le paquetage "Développement / Outils de développement" allez dans "Applications" --> "Paramètres de système" --> "Ajouter/Supprimer des applications" et cochez la case "Outils de Développement" dans la section développement. Cliquez sur "Mettre à jour". Pour procéder à l installation de l ensemble des paquetages concernés vous aurez besoin des CD n 2 et n 3 de la Red Hat. Celà permettra de fournir les outils tel que configure, make, perl etc...

4 / 48 FIG. 1.3 Installation des paquetages de la rubrique "Outils de développement"

5 / 48 Chapitre 2 Installation de l application cartographique Nous allons procéder ici aux diverses compilations et installations. Les diverses étapes doivent avoir lieu dans l ordre chronologique des sections successives de ce chapitre. Nous commencerons ce chapitre pour fournir un petit descriptif des divers outils à installer. Nous terminerons par la mise en place automatique de l application cartographique. NOTE Nous avons rédigé un script install.sh contenu dans les sources à télécharger qui effectue lles diverses commandes à effectuer. 2.1 Les outils utilisés L ensemble des outils utilisés est récapitulé dans le tableau suivant Outil Version Installation à partir de GEOS 2.2.2 sources PROJ 4.4..9 sources POSTGRESQL 8.1.4 sources POSTGIS 1.1.2 sources PDFLIB 5.0.4p1 sources LIBJPEG 6b-36.2.1 RPM LIBPNG 1.2.8-1 RPM FREETYPE2 2.1.7-53 RPM GD 2.0.33 sources PHP 5.0.5 sources GDAL 2.0.33 sources MAPSERVER 4.8.3 sources TAB. 2.2 Ensemble des outils à installer Certaines installations auront lieu à partir des sources, d autres à partir de RPM. Pour la suite du chapitre, il est nécessaire de se connecter soit en SSH sur la machine-cible si on n est pas connecté sur la machine ou d ouvrir un terminal localement sur la machine depuis la session graphique courante. Pour ce dernier choix, rendez-vous à "Applications" --> "Outils de système" --> "Terminal". Selon votre choix,

6 / 48 Connexion par SSH : Depuis un terminal, tapez ssh root@ < hote_distant > où <hote_distant> est l IP de la machine distante. Répondez par yes si une question vous est posée, saisissez le mot de passe de root si celà vous est aussi demandé Connexion depuis la sessions graphique courante Pour ce dernier choix, rendez-vous à "Applications" --> "Outils de système" --> "Terminal". Saisissez whoami si cette commande vous renvoit une réponse différente de root alors saisissez su et comme demandé, saisissez le mot de passe de root 2.2 Automatisation et installation complète Pour procéder à l installation complète, il vous suffira de faire cd wget http :// www.01 mapserver.com/applis/download / serveur_carto_v1.zip unzip serveur_carto_v1. zip chmod 700 install. sh./ install.sh L installation commence. Veuillez alors patienter le temps de voir s afficher le message suivant dans le terminal... %%%%%%%%%%%%%%%%%%%%%%%%% % INSTALLATION TERMINEE % %%%%%%%%%%%%%%%%%%%%%%%%% A l apparition de ce message, l installation des différents élements est donc terminée! Par la suite, pour accéder à l application, saisissez simplement http ://nom_de_la_machine ou http ://IP_de_la_machine. Vous accéderez au formulaire d accès suivant. Saisissez comme Login ddass26 et comme mot de passe ddass26

7 / 48 FIG. 2.1 Formulaire d accès à l application Vous accéderez alors à l application de démonstration

8 / 48 FIG. 2.2 L application de démonstration Bonne navigation!

9 / 48 Annexe A Explication détaillée de l installation des différents éléments Remarque : Cet annexe détaille l ensemble des commandes qui ont été utilisées dans le second chapitre. Puisque l installation a été automatisée par l emploi d un script shell install.sh (voir section "Automatisation et installation complète" du second chapitre), nous proposons ici une mise en oeuvre manuelle détaillant les divers points abordés lors de l installation. Nous procéderons ainsi ici aux diverses compilations et installations. Les diverses étapes doivent avoir lieu dans l ordre chronologique des sections successives de ce chapitre. Le dossier de téléchargement pour les sources est le répertoire-racine /mnt/src. Quand un outil est abordé, celui-ci fait l objet d une section. Pour chaque outil, nous commencerons par un descriptif succinct puis par son installation au sens GNU/Linux du terme : configuration (./configure...),compilation (make) et installation (make install) A.1 Création du répertoire des sources et téléchargement des sources Tapez la commande suivante pour créer le répertoire /mnt/src mkdir /mnt/src Rendez-vous ensuite dans ce répertoire cd /mnt/src On téléchargera l ensemble des sources à l adresse suivante http ://www.01mapserver.com/applis/download/serveur_carto_v1.zip grâce à l utilitaire wget wget http :// www.01 mapserver.com/applis/download / serveur_carto_v1.zip On décompresse ce fichier zippé en faisant unzip serveur_carto_v1. zip A.2 Geos GEOS est un paquetage qui permet d ajouter des fonctionnalités spatiales supplémentaires ou relationnelles ou topologiques à PostGIS telles que Within(), Intersects(). Le site de référence est http ://geos.refractions.net. Pour installer Geos, faisons

10 / 48 cd /mnt/src/ tar xvjf geos -2.2.2. tar. bz2 cd geos -2.2.2 &&./ configure && make && make install On s assure que Geos est installé en faisant par exemple geos - config -- version qui devrait nous renvoyer 2.2.2 A.3 Proj Proj est la librairie qui référence l ensemble des divers systèmes de projection géographique comme le Lambert II Etendu. Cette librairie offre aussi des fonctionnalités de reprojection entre divers systèmes de projection à PostGIS telle que la fonctionnalité transform(). Il est par exemple possible de passer d un système de projection comme le Lambert II Etendu au Lambert III Carto. Le site de ce projet est http ://www.remotesensing.org/proj/ Pour installer Proj, faisons cd /mnt/src tar xvzf proj -4.4.9. tar. gz cd proj -4.4.9 &&./ configure && make && make install Les librairies concernant GEOS (libgeos, libgeos.so.2,libproj.so...) sont installées dans le répertoire /usr/local/lib. Il faut inclure ce chemin dans le fichier /etc/ld.so.conf en fin de fichier en faisant echo /usr/local/lib >> /etc/ld.so.conf ldconfig A.4 PostgreSQL PostgreSQL est le système de gestion de bases de données relationnelles (SGDBR) open source le plus évolué actuellement. Bien que MySQL est le plus populaire, PostgreSQL a toujours su devancé cette dernière en bien des points. A titre d exemple, PostgreSQL a toujours veillé a respecté les diverses révisions des normes SQL actuelles (plus de 50 % pour les révisions actuelles de 2003). Il offre aussi de nombreux avantages aussi bien au niveau des spécificités des transactions que son extensibilité avec divers langages de programmation comme Php, perl, tcl,c/c++... Le site de référence est http ://www.postgresql.org. Le site francophone est http ://www.postgresqlfr.org On s assure dans un premier temps qu aucune RPM nécessitant PostgreSQL est installé. Pour s en rassurer on désintalle tout ce qui fait référence à PostgreSQL rpm -e postgresql rpm -e -- nodeps postgresql Pour installer PostgreSQL, il est nécessaire de faire les commandes suivantes cd /mnt/src tar xvjf postgresql -8.1.4. tar. bz2 cd postgresql -8.1.4 &&./ configure -- enable - nls && make && make install Au niveau des options d installation, nous avons opté pour l option --enable-nls de manière à avoir l aide des utilitaires de cette distribution en français.

11 / 48 A.5 PostGIS PostGIS est une extension pour PostgreSQL. PostGIS, en tant que extension, fournit de nouvelles fonctionnalités à PostgreSQL. Il s agira de fonctionnalités d ordre spatiales (topologie spatiale, opérateurs spatiaux et relationnelles). Cet ajout confère a PostgreSQL le statut de bases de données spatiales. Le site du projet est http ://postgis.refractions.net Pour installer PostGIS, il est nécessaire de renseigner le répertoire bin de PostgreSQL /usr/local/pgsql/bin temporairement dans le PATH de la machine et de rendre les libraires accessibles - elles sont localisées dans le répertoire /usr/local/pgsql/lib de PostgreSQL export PATH =/ usr/local/pgsql/bin:$path echo /usr/local/pgsql/lib >> /etc/ld.so.conf ldconfig Il ne reste plus qu à installer PostGIS cd /mnt/src tar xvzf postgis -1.1.2. tar. gz cd postgis -1.1.2 &&./ configure && make && make install A.6 PostgreSQL : Création du super-utilisateur postgres et initilisation du groupe de bases de données par défaut Pour installer PostgreSQL, il est nécessaire de créer un super-utilisateur nommé postgres ayant comme mot de passe 01map (par exemple). Cette utilisateur n est qu un simple utilisateur au sens UNIX du terme sur la machine - il n a donc pas les mêmes droits que root. Le répertoire qui accueillera notre groupement de bases de données par défaut sera /mnt/pgdata dont postgres sera le propriétaire. Le groupement de bases de données par défaut sera encodé en LATIN9. Sur la machine en local, les connexions au serveur de PostgreSQL ne nécessiteront aucun mot de passe. Tout ce qui est attendu ci-dessus est obtenu en faisant useradd -p 01 map postgres ; mkdir / mnt/ pgdata /; chown -R postgres : postgres / mnt/ pgdata; su postgres -c "export PATH =/ usr/local/pgsql/bin:$path;export PGDATA =/ mnt/pgdata;initdb -E LATIN9 -A trust; mkdir $PGDATA/ pg_log" A.7 PDFLIB PDFLIB est une librairie qui propose notamment une API pour divers langages de programmation (java,c++,php...) pour pouvoir générer à la volée des documents au format pdf. Nous proposerons son API au langage PHP. Le site du projet est http ://www.pdflib.com Pour installer PDFLIB, nous ferons cd /mnt/src tar xvzf PDFlib -Lite -5.0.4p1 -Unix -src.tar.gz cd PDFlib - Lite -5.0.4 p1 - Unix - src &&./ configure && make && make ldconfig install A.8 LibJpeg,LibPng, FreeType2 et GD Libjpeg et libpng sont des paquetages qui contiennent respectivement des bibliothèques graphiques pour jpeg et png. Ces dernières servent notamment pour la manipulation de fichier au format respectifs.jpeg ou.png. On les utilise notamment avec

12 / 48 divers langages de programmation. Ce sera ici le cas avec PHP. Libjpeg et Libpng sont nécessaires pour la compilation/installation de GD. Ils permettront ainsi à ce dernier de manipuler des fichiers dans les formats attendus. Libjpeg est disponible ici http ://www.ijg.org/files/jpegsrc.v6b.tar.gz. Libpng est disponible ici http ://sourceforge.net/projects/libpng/ Freetype2 est utilsé dans le support des fontes comme par exemple pour le rendu de texte affiché sur une image (exemple : rendu de texte anti-crénelé sur une image). Par l intermédiaire de GD, FreeType fournit à MapServer le support pour le TrueType. Un des sites possibles pour ce projet est http ://www.freetype.org GD est une librairie pour la création dynamique d image dans divers formats connus. Nous l utiliserons ici avec PHP. Map- Server nécessite que GD soit installé pour pouvoir générer des images au format GIF, PNG et JPEG. Le site du projet est http ://www.boutell.com/gd/ Toutes ces paquetages sont nécessaires pour que MapServer puisse générer des images dans divers formats au niveau de la carte. Pour installer toutes ces paquetages et sources, nous ferons cd /mnt/src rpm -Uivh libjpeg -devel -6b -36.2.1. i386.rpm rpm -Uivh libpng -1.2.8-1. fc2.i386.rpm rpm -Uivh libpng -devel -1.2.8-2. i386.rpm rpm -e -- nodeps gd rpm -e -- nodeps gd - devel rpm -e -- nodeps gd - progs rpm -e -- nodeps freetype rpm - Uivh freetype2-2.1.7-53.6. i586. rpm rpm - Uivh freetype2 - devel -2.1.7-53.6. i586. rpm ldconfig tar xvzf gd -2.0.33. tar. gz cd gd -2.0.33./ configure && make && make install ldconfig A.9 Php Php est un langage de script couramment utilisé pour le déploiment d application Web. Le site de référence est http ://www.php.net. Pour installer Php, il faut faire cd /mnt/src tar xvjf php -5.0.5. tar. bz2 cd php -5.0.5 On désintalle toute version de PHP ou dépendance pour toute version < 5.0.5 rpm -e -- nodeps php Copions notres php. ini dans le répertoire cgi - bin d Apache cp../ php.ini /var/www/cgi -bin/ Copier les fichiers de PDFLIB dans les sources de PHP cp -r /mnt/src/pdflib -Lite -5.0.4p1 -Unix -src/bind/pdflib/php/ext/pdf/ ext/ cp /mnt/src/php -5.0.5/ ext/pdf/ Makefile.php -404. in /mnt/src/php -5.0.5/ ext/pdf/ Makefile.in./ configure./ configure --enable -fastcgi --with -config -file =/ var/www/cgi -bin/php.ini --with -gd=/ usr/ local --with -png -dir =/ usr --with -ttf --with -freetype -dir =/ usr --with -zlib --with -pgsql --with -regex=system --enable -dbase --enable -dbx --with -jpeg -dir =/ usr --enable - versioning On compile une première fois sans PDFLIB

13 / 48 make PHP doit comprendre maintenant qu il doit prendre en compte PDFLIB./ buildconf -- force./ configure --enable -fastcgi --with -config -file =/ var/www/cgi -bin/php.ini --with -gd=/ usr/ local --with -pdflib --with -png -dir =/ usr --with -ttf --with -freetype -dir =/ usr --with -zlib --with -pgsql --with -regex=system --enable -dbase --enable -dbx --with -jpeg -dir =/ usr -- enable - versioning On compile une deuxième fois avec PDFLIB make make install ldconfig Créons le répertoire des extensions de PHP. Celui - ci accueillera plus tard php_mapscript. so de MapServer On copie aussi php dans le répertoire cgi - bin d Apache mkdir -p $(php -config --extension -dir) cp $(which php) /var/www/cgi -bin/ A.10 Gdal Gdal est un paquetage pour la gestion de divers format SIG connus (raster et vecteur). Il propose par exemple des utilitaires de conversion entre divers formats connus. MapServer utilise Gdal pour pouvoir notamment communiquer avec divers formats SIG aussi bien raster que vecteur. On le trouve à http ://www.gdal.org/ Pour installer Gdal, nous ferons cd /mnt/src tar xvzf gdal -1.3.1. tar. gz cd gdal -1.3.1./ configure && make && make install ldconfig A.11 MapServer MapServer est un environnement de développement Open Source permettant de construire des applications internet à référence spatiale. Il est au coeur de toute application cartographique open source. Pour de plus amples détails, merci de consulter l url http ://mapserver.gis.umn.edu/ Pour installer MapServer, nous ferons cd /mnt/src tar xvzf mapserver -4.8.3. tar. gz cd mapserver -4.8.3./ configure --with -postgis --with -proj --with -geos --with -gd=/ usr/local --with -png --with - mapscript --with - wmsclient --with -wfs --with - wfsclient --with -php =/ mnt/src/php -5.0.5 -- enable - fastcgi -- with - gdal -- with - ogr && make cp mapscript /php3/php_mapscript.so $(php -config --extension -dir)/

14 / 48 A.12 Installation de l application cartographique de démonstration Pour installer cette application de démonstration, il est impératif d effectuer quelques opérations concernant notamment les serveurs Apapche et PostgreSQL A.12.1 Pour Apache Nous nous assurons d abord qu Apache ne tourne pas sur la machine /etc/init.d/httpd status qui doit nous renvoyer httpd est arrêté Si ce n est pas le cas, on arrête temporairement le serveur en faisant /etc/init.d/httpd stop On supprime le fichier général de configuration d Apache et on met le nôtre rm -f /etc/httpd/conf/httpd.conf cp /mnt/src/httpd.conf /etc/httpd/conf/ Pour finir, faison en sorte qu Apache puisse être démarré en service à chaque redémarrage éventuel de la machine echo /etc/init.d/httpd start >> /etc/rc.local A.12.2 Pour PostgreSQL Copions les divers fichiers concernant respectivement la configuration (postgresql.conf) ainsi que le service de PostgreSQL (postgresql) comme il se doit dans les emplacements prévus à cette effet rm -f /mnt/pgdata/postgresql.conf cp /mnt/src/ postgresql.conf /mnt/pgdata/ cp /mnt/src/ postgresql /etc/init.d/ Faison aussi en sorte que si nous devons plus tard nous reconnecter dans un terminal que les utilitaires de PostgreSQL localisés dans /usr/local/pgsql/bin soient accessibles. Il faut pour celà mettre à jour en une seule fois la variable d environnement PATH de la machine. ll faut aussi que la varibale PGDATA (= /mnt/pgdata) soit aussi accessible. Pour ce faire, il nous suffir de saisir echo export PATH =\"\${PATH }:/ usr/local/pgsql/bin \" >> /etc/bashrc echo export PGDATA =\"/ mnt/ pgdata \" >> / etc/ bashrc Comme pour le service d Apache, il faut aussi que le service de PostgreSQL puisse démarrer à chaque redémarrage de la machine echo / etc/ init.d/ postgresql start >> / etc/ rc. local Nous noterons quand même les remarques suivantes

15 / 48 NOTE Pour savoir si le serveur est actif, il suffit de saisir dans un terminal su postgres -c " pg_ctl status" ou bien / etc/ init.d/ postgresql status A chaque démarrage de la machine, vous trouverez les fichiers de log de PostgreSQL dans le répertoire /mnt/pgdata/pg_log qui sont nommés sous la forme postgresql-2006-06-24_160238.log par exemple. Ce dernier précise par exemple que le serveur a démarré le 24 Juin 2006 à 1602. Toute message de nature notification ou d erreur est stockée dans le tout dernier fichier de log du serveur PostgreSQL A.12.3 Installer l application de démonstration Pour installer notre application, nous commencerons par créer le répertoire-racine de notre application mkdir -p / var/ www/ serveur_carto_dhtml On se rend ensuite dans le répertoire /mnt/src et on décompresses le fichier d application serveur_carto_dhtml.zip dans le répertoire racine /var/www/serveur_carto_dhtml cd /mnt/src unzip serveur_carto_dhtml. zip -d / var/ www/ serveur_carto_dhtml / On accorde les droits attendus sur le répertoire racine chmod 777 -R / var/ www/ serveur_carto_dhtml / Comme notre application fonctionne par session avec PHP, il faut créer le répertoire /var/www/tmp qui stockera les sessions effectuées et lui accorder les droits en lecture, écriture pour tous mkdir -p /var/www/tmp chmod 777 /var/www/tmp Les images générées par MapServer - cartes, échelle, icônes pour la légende (...) - sont stockées dans le répertoire /var/www/- temp_mapserver auquel nous octroyons aussi les droits attendus mkdir -p / var/ www/ temp_mapserver chmod 777 / var/ www/ temp_mapserver Il nous faut maintenant créer la base de données sous PostgreSQL appelée ddass26 pour la démonstration / etc/ init.d/ postgresql stop / etc/ init.d/ postgresql start cd /mnt/src/ chmod 777 ddass26 *. sql su postgres -c " export PATH =/ usr/ local/ pgsql/ bin: $PATH; createdb ddass26; createlang plpgsql ddass26;psql -d ddass26 -f /usr/local/pgsql/share/contrib/lwpostgis.sql;psql -d ddass26 -f /usr/local/pgsql/share/contrib/spatial_ref_sys.sql;psql -d ddass26 -f /mnt/src/ ddass26 *. sql; createuser -s 01 map" Démarrons le serveur Apache si celà n a pas encore été fait /etc/init.d/httpd start Créeons aussi le fichier /var/www/serveur_carto_dhtml/applis/ddass26/phpinfo.php echo "<? phpinfo ();?>" >> /var/www/ serveur_carto_dhtml /applis/ddass26/phpinfo.php

16 / 48 Depuis un navigateur Web comme FireFox ou Internet Explorer, rendons-nous à l URL suivant http ://nom_de_la_machine/phpinfo.php où nom_de_la_machine est le nom_de_la_machine est le nom que vous avez saisi lors de l installation de la Red Hat. Vous devriez obtenir les deux copies d écran suivantes FIG. A.1 Première copie d écran pour PHPINFO Et la suivante

17 / 48 FIG. A.2 Seconde copie d écran pour PHPINFO : les extensions de MapServer(MapScript), PDFLIB (pdf) et PostgreSQL (pgsql) ont bien été prises en compte lors de la compilation de PHP

18 / 48 Annexe B Fichiers de configuration Sont fournis ici à titre d information le script général utilisé pour l automatisation de l installation ainsi que les divers fichiers de configurations respectif d Apache et de PostgreSQL B.1 Script d installation général Le script est le suivant!/ bin/sh Ce script permet d installer les divers outils nécessaires pour un serveur cartographique sur une machine 32 bits Red hat Linux Enterprise V4 Auteur: TECHER Jean David (01 MAP) Contact: Portable 06 85 37 36 75 / Fixe 04 99 77 16 87 Remarque : Abréviations utilisées ici ======== CMMI:./ configure [ OPIONS] && make && make install CO: faire seulement un "./ configure [ OPIONS] " avant de continuer MO: faire seulement un " make" avant de continuer MIO: faire seulement un " make install" avant de continuer repertoire ="/ mnt/src /" if [! -d " $repertoire " ]; then mkdir -p " $repertoire " fi cp $PWD /* $repertoire cd $repertoire Geos ==> CMMI tar xvjf geos -2.2.2. tar. bz2 cd geos -2.2.2 &&./ configure && make && make install Proj ==> CMMI cd.. tar xvzf proj -4.4.9. tar. gz cd proj -4.4.9 &&./ configure && make && make install cd.. Rendre accessibles les librairies de Geos et de Proj

19 / 48 qui sont dans / usr/ local/ lib echo /usr/local/lib >> /etc/ld.so.conf ldconfig PostgreSQL ==> CMMI rpm -e postgresql rpm -e -- nodeps postgresql tar xvjf postgresql -8.1.4. tar. bz2 cd postgresql -8.1.4 &&./ configure -- enable - nls && make && make install cd.. Rendre les libraires de PostgreSQL ainsi que ses binaires accessibles echo /usr/local/pgsql/lib >> /etc/ld.so.conf export PATH =/ usr/local/pgsql/bin:$path ldconfig PostGIS tar xvzf postgis -1.1.2. tar. gz cd postgis -1.1.2 &&./ configure && make && make install cd.. PostgreSQL : ========== - Création du super - administrateur postgres avec comme mot de passe ( Linux) 01 map - Création du répertoire / mnt/ pgdata - réaliser le premier cluster par défaut (/ mnt/ pgdata) avec initdb userdel -r postgres ; rm -rf / mnt/ pgdata /; useradd -p 01 map postgres ; mkdir / mnt/ pgdata /; chown -R postgres : postgres /mnt/pgdata;su postgres -c "export PATH =/ usr/local/pgsql/bin: $PATH; export PGDATA =/ mnt/ pgdata; initdb -E LATIN9 -A trust; mkdir $PGDATA/ pg_log" PDFLib ==> CMMI cd $repertoire tar xvzf PDFlib -Lite -5.0.4p1 -Unix -src.tar.gz cd PDFlib - Lite -5.0.4 p1 - Unix - src &&./ configure && make && make install ldconfig cd.. Installation des diveres RPM nécessaires pour GD rpm -Uivh libjpeg -devel -6b -36.2.1. i386.rpm rpm -Uivh libpng -1.2.8-1. fc2.i386.rpm rpm -Uivh libpng -devel -1.2.8-2. i386.rpm rpm -e -- nodeps gd rpm -e -- nodeps gd - devel rpm -e -- nodeps gd - progs rpm -e -- nodeps gd rpm -Uivh gd -2.0.15-1. i386.rpm rpm -Uivh gd -devel -2.0.15-1. i386.rpm rpm -Uivh gd -progs -2.0.15-1. i386.rpm rpm -e -- nodeps freetype rpm - Uivh freetype2-2.1.7-53.6. i586. rpm rpm - Uivh freetype2 - devel -2.1.7-53.6. i586. rpm ldconfig GD ==> CMMI

20 / 48 tar xvzf gd -2.0.33. tar. gz cd gd -2.0.33./ configure && make && make install ldconfig cd.. sleep 5 PHP ==> CMMI tar xvjf php -5.0.5. tar. bz2 cd php -5.0.5 rpm -e -- nodeps php cp../ php.ini /var/www/cgi -bin/ cp -r /mnt/src/pdflib -Lite -5.0.4p1 -Unix -src/bind/pdflib/php/ext/pdf/ ext/ cp /mnt/src/php -5.0.5/ ext/pdf/ Makefile.php -404. in /mnt/src/php -5.0.5/ ext/pdf/ Makefile.in rm -f./ configure rm -f configure./ configure --enable -fastcgi --with -config -file =/ var/www/cgi -bin/php.ini --with -gd=/ usr/ local --with -png -dir =/ usr --with -ttf --with -freetype -dir =/ usr --with -zlib --with -pgsql --with -regex=system --enable -dbase --enable -dbx --with -jpeg -dir =/ usr --enable - versioning make rm -f./ configure./ buildconf -- force./ configure --enable -fastcgi --with -config -file =/ var/www/cgi -bin/php.ini --with -gd=/ usr/ local --with -pdflib --with -png -dir =/ usr --with -ttf --with -freetype -dir =/ usr --with -zlib --with -pgsql --with -regex=system --enable -dbase --enable -dbx --with -jpeg -dir =/ usr -- enable - versioning make make install ldconfig mkdir -p $(php -config --extension -dir) cp $(which php) /var/www/cgi -bin/ echo ScriptAlias /cgi -bin/ /var/www/cgi -bin/ >> /etc/httpd/conf/httpd.conf export PATH =/ usr/local/pgsql/bin /: $PATH cd.. tar xvzf gdal -1.3.1. tar. gz cd gdal -1.3.1./ configure && make && make install ldconfig cd.. tar xvzf mapserver -4.8.3. tar. gz cd mapserver -4.8.3./ configure --with -postgis --with -proj --with -geos --with -gd=/ usr/local --with -png --with - mapscript --with - wmsclient --with -wfs --with - wfsclient --with -php =/ mnt/src/php -5.0.5 -- enable - fastcgi -- with - gdal -- with - ogr && make cp mapscript /php3/php_mapscript.so $(php -config --extension -dir)/ Mise en place pour l appli carto de la ddass26 cd.. Faire en sorte que le répertoire de PostgreSQL ainsi que la variable PGDATA soient accessibles à tous echo export PATH =\"\${PATH }:/ usr/local/pgsql/bin \" >> /etc/bashrc echo export PGDATA =\"/ mnt/ pgdata \" >> / etc/ bashrc On préconfigure Apache comme il se doit pour nos applis carto echo AddType application /x-httpd -php.php >> /etc/httpd/conf/httpd.conf echo Action application /x-httpd -php /cgi -bin/php >> /etc/httpd/conf/httpd.conf perl -i.bak -pe s/include conf.d\/\*. conf /\ Include conf.d\/\*. conf/g /etc/httpd/conf/