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/