Note d'installation de MDWeb 1.5 sur un serveur linux CentOS
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 1 Description : Procédure d’installation de MDWeb sur CentOS Stockage : Note d’installation de MDWeb 1.5 sur un serveur linux CentOS Nom Date Léo Pratlong Etablie par 31/08/2007 Equipe IS Vérifiée par Validée par IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 2 Description : Procédure d’installation de MDWeb sur CentOS Stockage : Avertissement : Ce document a été réalisé par un étudiant de 1ère année de l’EPSI de Montpellier, Léo Pratlong, dans le cadre d'un stage au sein de l'équipe 'informatique scientifique' DSI* de l'IRD* sous la responsabilité de Régis Hocdé & Bruno Granouillac (de juin à août 2006). Il s'agit de la restitution de l'étudiant 'non corrigée'. Note d’installation de MDWeb 1.5 sur serveur virtuel UNIX CentOS https://vmmdweb.pdmz.mpl.ird.fr/mdweb15 IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 3 Description : Procédure d’installation de MDWeb sur CentOS Stockage : I) Architecture du serveur : Le schéma ci-dessus montre l’architecture du serveur Linux utilisé pour l’installation de MDWeb au sein de l’IRD. Sur le serveur virtuel (ici, la zone grise) sont installés un serveur cartographique, un serveur Apache (pour exécuter le code Php qui n’est traité que du côté du serveur), un serveur de base de données (de type PostgreSQL), et un serveur Z3950 qui permet de consulter des bases de données distantes via le protocole du même nom. Le client se connecte à MDWeb (situé dans la zone de publication du serveur Apache) depuis son navigateur. Il effectue des demandes au serveur Apache qui, en fonction des critères de la demande, va rechercher une réponse, la traiter, et la transmettre au client sous forme de page web (HTML). Ainsi, le système reste invisible à l’utilisateur client qui ne dispose que d’une vue des résultats, à un instant T et en fonction des critères de sa demande. IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 4 Description : Procédure d’installation de MDWeb sur CentOS Stockage : Le serveur Apache communique avec trois serveurs différents, situés eux-aussi sur le serveur virtuel : Le premier, le serveur cartographique, permet de générer une carte selon les choix de l’utilisateur (choix des couches géographiques, choix du système de projection, etc…). Le second, le serveur de base de données, est appelé par le serveur Apache à l’aide de requêtes SQL. Il retourne au serveur les données correspondant à la demande. Et enfin, le troisième serveur, le serveur Z3950, offre un protocole de communication qui permet d’aller consulter des bases de données distantes (donc situées en dehors du serveur virtuel). II) Interface d’installation : Afin de réaliser l’installation de MDWeb 1.5 sur le serveur virtuel, des interfaces sont mises à disposition. a) Serveur DAV et client Netdrive La première est un accès sur fichier par serveur DAV (accessible avec le logiciel Netdrive). IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 5 Description : Procédure d’installation de MDWeb sur CentOS Stockage : Problèmes : Bugs à répétition : le transfert de fichier est quasi-impossible. Droits d’accès aux fichiers : les répertoires ne sont pas tous accessibles. Seul le répertoire de publication est disponible depuis ce navigateur (le dossier /data/www/). Le client Netdrive interprète les fichiers de type web qui sont envoyés (à savoir le HTML, PHP, et les scripts tels les CSS ou le JS – javascript -). Cela rend impossible la mise à jour des fichiers web par cette interface. b) Webmin Une seconde interface est mise à disposition. Il s’agit de l’interface d’administration Webmin qui offre plusieurs sous-interfaces. Tout d’abord, un accès sur fichier (en utilisateur devmdweb). Les droits d’accès sont limités aux répertoires /etc/ (qui stocke les fiches de configuration du serveur apache), /data/ (qui stocke les fichiers de configuration du serveur PostgreSQL), et /usr/ (qui stocke les librairies utilisées par le serveur postgreSQL). IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 6 Description : Procédure d’installation de MDWeb sur CentOS Stockage : Tous les fichiers ne sont pas accessibles à l’intérieur de ces dossiers. Problèmes : Accès limité. Possibilité d’édition des fichiers, mais bug lorsqu’un fichier est trop imposant (par exemple un fichier *.sql de 30Mo). Webmin offre aussi un interpréteur de commandes UNIX (« Commandes Shell ») connecté en utilisateur « root » ce qui permet un contrôle quasi-total de l’arborescence du serveur. IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 7 Description : Procédure d’installation de MDWeb sur CentOS Stockage : Problèmes : Certaines commandes très utiles (notamment « vi » qui permet l’édition des fichiers) sont désactivées. Lenteur des opérations (nécessité de décrire entièrement le cheminement d’une opération par lignes de commandes). Impossibilité d’exécuter des scripts (donc impossibilité d’automatisation). Webmin permet aussi la gestion d’un serveur de base de données postgreSQL, en invité de commande avec l’utilisateur « postgres » (même interface que l’invité de commandes Shell). L’utilisateur connecté à cet interpréteur est l’utilisateur « devmdweb ». Problèmes : Il faut connaître les commandes de gestion de base de données PostgreSQL. Impossibilité d’avoir une vue réelle de la base. Nécessité de changer le propriétaire de la base (à l’origine : « postgres » ; valeur : « devmdweb »). IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 8 Description : Procédure d’installation de MDWeb sur CentOS Stockage : Et enfin, Webmin met à disposition une interface de gestion de « commandes personnalisées », qui permet notamment de redémarrer le serveur Apache ou le serveur PostgreSQL aisément, une interface « journaux système » qui diffuse les fichiers d’enregistrement d’erreurs survenues lors de l’exécution du serveur Apache ou du serveur PostgreSQL, et d’une interface « Gestionnaire de procesus ». Webmin n’est donc pas une solution pratique, puisque chaque sous-interface offre un accès avec un utilisateur spécifique. Les droits d’accès ne sont donc pas les mêmes, ce qui pose de gros problèmes de compatibilité. Problèmes globaux de Webmin et utilisation : Problèmes de mise à jour : comme netdrive ne permet pas de mettre à jour les fichiers web, il faut le faire depuis Webmin. Pour cela, il faut créer un fichier en commande shell dans un répertoire accessible (« touch /etc/httpd/conf/nom_fichier » par exemple), puis se rendre dans le dossier depuis l’interface d’accès aux fichiers, éditer le fichier, copier / coller le code que l’on veut y inscrire, puis déplacer le fichier dans le répertoire qu’il doit occuper, en ligne de commande (« mv /etc/httpd/conf/config.inc.php /data/www/html/mdweb15/config/config.inc.php » par exemple). Invisibilité des erreurs : Si une erreur est commise dans une ligne de commande, il est difficile de s’en apercevoir de suite. L’erreur ne resurgit généralement que lorsqu’il devient compliqué de la corriger. Par exemple, en tapant « mv /etc/httpd/conf/config.inc.php /data/www/html/mdweb15/config.inc.php », l’opération suivante s’exécute : déplacer config.inc.php de /etc/httpd/conf/ vers /data/www/html/mdweb15/. Or, si je me suis trompé et que le répertoire cible était en fait /data/www/html/mdweb15/config/, aucun message d’erreur ne viendra m’avertir de cette erreur. Impossibilité d’édition avec la commande « vi » ce qui oblige à déplacer la page concernée dans un répertoire accessible (par exemple « mv /data/www/html/mdweb15/config/config.inc.php /etc/httpd/conf/config.inc.php »), éditer la page grâce à l’option de contrôle de l’interface d’accès aux fichiers, puis re- déplacer le fichier dans son répertoire d’origine. Quelques solutions : IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 9 Description : Procédure d’installation de MDWeb sur CentOS Stockage : Permettre un accès SSH : c'est-à-dire, autoriser du côté de serveur une connexion d’un poste de contrôle. Ce poste de contrôle est un invité de commande. Un des plus utilisé est le logiciel PUTTY. Grâce à cette méthode, la commande « vi » est disponible, l’interface graphique est celle du mode console de Unix, et on a un contrôle total sur les commandes Shell (à condition d’être connecté en utilisateur « root »). De plus, cet invité de commande permet de réaliser des scripts, donc d’automatiser les opérations. Disposer d’un module d’administration de base de données PostgreSQL : PhpPgAdmin. Ainsi, il est plus facile d’avoir une vue de nos bases, et donc d’y vérifier nos insertions et nos créations. Utiliser Dreamweaver afin de pouvoir éditer les pages web sur le serveur Dav sans que le client ne les interprète. Permettre un accès SVN aux fichiers, ce qui permet en plus un meilleur contrôle et un meilleur maintient des codes sources. III) Installation : a) Configuration du serveur Apache 1- Modification du fichier httpd.conf La configuration du serveur Apache se fait dans /etc/httpd/conf/httpd.conf . Pour modifier ce fichier, la meilleure solution est de passer par le module de gestion de fichiers de l’interface Webmin, puis de cliquer sur le bouton « Editer », et de vérifier les directives suivantes (si absentes, les ajouter) : # AddType application/x-httpd-php .php AddCharset ISO-8859-1 .iso8859-1 DirectoryIndex index.html index.html.var index.php # Attention, veillez à bien modifier les chemins afin qu’ils correspondent à votre serveur. # ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ # IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 10 Description : Procédure d’installation de MDWeb sur CentOS Stockage : AddHandler cgi-script .cgi Options +ExecCGI AllowOverride None Options None Order allow,deny Allow from all ## Autres directives à vérifier pour la configuration de mapserver pour MDWeb : # configuration pour mapserver dans MDweb # SetEnvIf Request_URI /wms MS_MAPFILE=/var/www/mdweb- demo15/mapserver_carto/config/default/carto.map # ScriptAlias /wms /usr/lib/cgi-bin/mapserv # Alias /proxy/ /var/www/mdweb- demo15/mapserver_carto/mapbuilder/server/php/ Allow from all MultiViews Options Indexes AllowOverride None Order allow,deny # # fin de configuration de mapserver pour MDWeb 2- Modification du fichier php.ini Les modifications à apporter sont les suivantes : IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 11 Description : Procédure d’installation de MDWeb sur CentOS Stockage : Vérifier dans ce même fichier l’instruction suivante (si elle est commentée, la dé- commentée) : Default_charset = "iso-8859-1" De plus, il faut rajouter des extensions php dans ce fichier. Attention, il ne faut pas oublier que les extensions php (de type .dll) sont de type .so sur un serveur Linux. Les extensions sont les suivantes (ajouter ces lignes dans le php.ini à l’endroit opportun) : o extension=dom.so o extension=gd.so o extension=mbstring.so o extension=odbc.so o extension=pdo.so o extension=pdo_odbc.so o extension=pdo_pgsql.so o extension=pdo_sqlite.so o extension=pgsql.so o extension=xmlreader.so o extension=xmlwriter.so o extension=xsl.so o extension=yaz.so Ces extensions correspondent à des fichiers qui doivent être placés dans le répertoire /usr/lib/php/modules/ du serveur. IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 12 Description : Procédure d’installation de MDWeb sur CentOS Stockage : Dernière modification à effectuer sur php.ini : Il faut enregistrer les identifiants de connexion à la base de données PostgreSQL. Pour cela, il faut chercher la partie « [PostgresSQL] » du fichier php.ini, et rajouter les lignes suivantes : ; Password for postgreSQL connexion. postgres.passw = "motdepasse" ; User for postgreSQL connexion. postgres.user = "utilisateur" Pour le serveur PostgreSQL hébergé sur le serveur virtuel VMMDWeb, le mot de passe est « 2devweb » et l’utilisateur « devmdweb ». Ce rajout au fichier php.ini évite d’inscrire ces identifiants dans le fichier de configuration de MDWeb, ce qui permet une meilleure sécurité, puisque le fichier php.ini ne se situe pas dans la zone de publication du serveur Apache. Nous verrons plus loin comment récupérer ces identifiants pour les utiliser dans MDWeb. Enfin, il faut redémarrer le serveur Apache (webmin commandes personnalisées redémarrer démon HTTPD). b) Transfert du dossier « mdweb15 » Le transfert du dossier se fait à l’aide du client Netdrive. L’upload (l’exportation) d’un dossier permet d’éviter l’erreur expliquée plus haut (interprétation des fichiers php lorsqu’ils sont transmis un par un). Néanmoins, certaines erreurs peuvent apparaître inopinément. Pour les éviter, il faut utiliser la solution expliquée plus haut (passer par le module de gestion de fichiers de webmin). Une fois le dossier transféré, il faut vérifier que le propriétaire de ce dossier est l’utilisateur « Apache ». Pour ce faire, il faut taper les commandes Shell suivantes : Vérifier les utilisateurs : cd /data/www/html/ ls –l L’instruction « cd » (« change directory ») permet de se positionner sur un répertoire (ici /data/www/html/). L’instruction « ls –l » permet de lister les différents fichiers du répertoire courant et d’en afficher les caractéristiques. Un résultat de ce type s’affiche : IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 13 Description : Procédure d’installation de MDWeb sur CentOS Stockage : -rw-r--r-- 1 toto toto 104 Apr 6 07:35 info.php drwxr-xr-x 25 utilisateur utilisateur 4096 Jul 10 16:06 mdweb15 Le troisième champ (ici en rouge) désigne l’utilisateur propriétaire (à l’origine, celui qui a créé le fichier), et le quatrième champ (en vert) désigne le groupe propriétaire (à l’origine, le groupe de l’utilisateur propriétaire). Donc dans cet exemple, « utilisateur » est le propriétaire de mdweb15, et le groupe « utilisateur » est le groupe propriétaire. Pour changer le propriétaire, il faut inscrire ceci : chmod 775 –R mdweb15 chown –R apache La première instruction permet d’affecter des droits d’utilisation au dossier mdweb15. « 775 » définie ces droits : Droits de lecture pour tout le monde, droits d’écriture pour le propriétaire et son groupe (pas pour les autres), et droits d’exécution pour tout le monde. L’instruction suivant (« chown –R apache ») définie la propriété du dossier « mdweb15 » (ainsi qu’aux sous-dossiers, grâce à l’instruction « -R ») à l’utilisateur apache. c) Installation des bases de données 1- Configuration du serveur : Avant d’importer les bases de données de MDWeb, il faut modifier le fichier d’accès au serveur Postgres, « pg_hba.conf » situé dans le répertoire « /etc/httpd/conf/ ». Ce répertoire est accessible depuis le module de gestion de fichiers de Webmin. Il faut donc éditer le fichier, et modifier la ligne suivante : host all all 127.0.0.1/32 md5 En host all all 127.0.0.1/32 trust Puis recharger le serveur de base de données PostgreSQL via le module “ Commandes Personnalisées Redémarrage du serveur Postgres local ” de Webmin IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 14 Description : Procédure d’installation de MDWeb sur CentOS Stockage : 2- Création des bases de données : Pour créer les bases de données de MDWeb, il faut importer les fichiers .sql correspondant. Pour ce faire, il faut créer un fichier (par base de données) en commande Shell dans le répertoire accessible depuis le module de gestion de fichiers de Webmin : touch /etc/httpd/conf/script_creation_bdd.sql Se rendre ensuite dans ce répertoire depuis le module de gestion de fichier de Webmin, et éditer ce fichier. Copier le texte contenu dans le fichier .sql que vous possédez (par défaut, « dump-MDweb-demo15-fra.sql ») et le coller dans le fichier du serveur. Enregistrer. Attention ! Etant donné la taille du texte à enregistrer, l’enregistrement met un temps conséquent (et peut aussi ne pas marcher). Une fois ce fichier créé, se rendre dans l’invité de commande Shell, et taper : mv /etc/httpd/conf/script_creation_bdd.sql /data/postgresql/ Cette commande va déplacer le fichier du répertoire « /etc/httpd/conf/ » vers le dossier « /data/postgresql/ ». Il faut ensuite créer les bases de données en utilisant le module « Gestion postgres » de Webmin, et inscrire les commandes suivantes : createdb -E LATIN1 -h localhost -U mdweb-demo15-fra createdb -E LATIN1 -h localhost -U devmdweb thesaurus-fra createdb -E LATIN1 -h localhost -U devmdweb mdweb-geo15-fra La creation de la base de données géographiques nécessite des instructions supplémentaires, et de connaître le chemin de deux fichiers : « lwpostgis.sql » et « spatial_ref_sys.sql ». Le répertoire de ces fichiers sur le serveur VMMDweb est « /usr/share/pgsql/contrib/ ». Commandes supplémentaires pour la base de données géographique : createlang plpgsql mdweb-geo15-fra psql -d mdweb-geo15-fra -f /usr/share/pgsql/contrib/lwpostgis.sql psql -d mdweb-geo15-fra -f /usr/share/pgsql/contrib/spatial_ref_sys.sql IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 15 Description : Procédure d’installation de MDWeb sur CentOS Stockage : Ces commandes permettent d’ajouter les références spatiales à la base de données géographiques. Une fois les bases de données créées, il faut les remplir à l’aide des fichiers .sql précédemment importés : psql -d mdweb-demo15-fra < dump-MDweb-demo15-fra.sql psql -d thesaurus-fra < dump-thesaurus-fra.sql psql -d mdweb-geo15-fra < dump-geo-demo15-linux-france.sql Attention ! L’opération peut prendre plusieurs minutes, voir plusieurs dizaines de minutes… d) Configuration de MDWeb Une fois les configurations des serveurs Apache et Postgres accomplies, il faut configurer MDWeb. Pour ce faire, il faut renommer le fichier /data/www/html/mdweb15/config/config.inc.linux.php en /data/www/html/mdweb15/config/config.inc.php à l’aide de la commande « mv » : mv /data/www/html/mdweb15/config/config.inc.linux.php /data/www/html/mdweb15/config/config.inc.php Editer ensuite le fichier config.inc.php (avec la méthode décrite plus haut) et configurer de la manière suivante : $type_serveur="unix"; $url_site=""; $alias_appli="/mdweb15/"; $chemin_appli="/data/www/html/mdweb15/"; // adresse du serveur de base de données $server="localhost"; // driver générique pour PostgreSQL $db_type="postgres"; $user = get_cfg_var("postgres.user"); $password = get_cfg_var("postgres.passw"); // Entrez ici le nom de la base de données MDweb $db_nom="mdweb-demo15-fra"; $email_admin="admin@domain.pays"; //smtp du serveur de mail qui se charge de l'envoi des messages $smtp_infos="server-smtp@domaine.pays"; IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 16 Description : Procédure d’installation de MDWeb sur CentOS Stockage : Sont écrites en rouge les commandes permettant de récupérer les identifiants dans le fichier php.ini. Et enfin, il faut tester la connexion à mdweb. Les trois modules disponibles (serveur cartographique, thésaurus, et interopérabilité) doivent aussi être configurés : 1- Configuration et activation des thesauri : Pour activer les thesauri, il faut modifier le fichier config.inc.php (voir plus haut) et affecter les valeurs suivantes : // --------------------- Configuration du module thésaurus --------------------------------------- //$base_thesaurus=true; if (file_exists($chemin_appli."config/config.inc.thesaurus.php")){ include_once "config.inc.thesaurus.php"; } Renommer ensuite le fichier config.inc.thesaurus.linux.php dans le répertoire /data/www/html/mdweb15/config/ en config.inc.thesaurus.php (commande « mv »), puis éditer ce fichier. Affecter les valeurs suivantes : /* fichier de configuration pour la connexion à la base de données contenant les thésaurus utilisés par MDweb */ $base_thesaurus = true; $server_thesaurus_db_type = "postgres"; $server_thesaurus_host = "localhost"; $server_thesaurus_port = "5432"; $server_thesaurus_user = $user; $server_thesaurus_pwd = $password; $db_nom_thesaurus = "thesaurus-fra"; // base de données thesaurus $thesaurus_appli = "thesaurus_demo"; // thesaurus propre à l'application $lang_thesaurus_appli = "french"; // langue du thesaurus de l'application // (valeurs : french, english, spanish, portuguese, arabic,...) IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 17 Description : Procédure d’installation de MDWeb sur CentOS Stockage : Une fois ces modifications effectuées, MDWeb propose la recherche par thésaurus ainsi que la complétion automatique (complète la saisie d’un terme selon les premières lettres qui le composent). 2- Configuration serveur cartographique : Cette configuration constitue la partie la plus difficile de l’installation de MDWeb. Nous allons nous efforcer de recenser les principales erreurs qui peuvent survenir. Néanmoins, cette liste est non exhaustive et ne tient pas compte des erreurs de configuration du serveur Unix en lui-même, et qui peuvent apparaître inopinément. Cette liste référence donc les bugs connus lors de l’installation sur le serveur virtuel VMMdweb. a- Vérifier la présence et la validité des fichiers *.so Vérifier dans le répertoire /usr/lib/php/modules/ la présence des fichiers suivants (ceux inscrits plus haut dans le php.ini) : dom.so gd.so mapscript.so mbstring.so odbc.so pdo.so pdo_odbc.so pdo_pgsql.so pdo_sqlite.so pgsql.so xmlreader.so xmlwriter.so xsl.so yaz.so ATTENTION ! Le fichier mapscript.so est obtenu lors de la compilation du serveur Apache MapServer. Si ce dernier n’est pas chargé par le serveur (voir dans le « journal d’erreurs »), il faut donc le régénérer en recompilant le serveur Apache accompagné de commandes spéciales. Toute réinstallation du serveur Apache implique qu’il faut régénérer ce fichier en même temps. b- Modifier le fichier /usr/share/proj/epsg IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 18 Description : Procédure d’installation de MDWeb sur CentOS Stockage : Le fichier epsg doit être complété à l’aide d’une valeur provenant du fichier /usr/share/proj/esri. Il faut copier la ligne du fichier /usr/share/proj /esri, ou copier la ligne suivante et l’insérer dans epsg : +proj=merc +lat_ts=0.000000000 +lon_0=0.000000000 +k=1.000000 +x_0=0.000 +y_0=0.000 +ellps=WGS84 +datum=WGS84 +units=m # World_Sinusoidal c- Vérifier les droits des fichiers Le serveur cartographique génère des fichiers qu’il écrit lui-même. Il faut donc vérifier qu’il puisse écrire dans le répertoire voulu (et accessoirement, étendre ces droits à tout MDWeb, comme énoncé plus haut). Le dossier dans lequel le serveur va écrire ses fichiers est le /data/www/html/mdweb15/mapserver_carto/ . Il faut donc vérifier les droit de ce dossier, et par sécurité, vérifier les droits à l’intérieur de ce dossier : Ls –l /data/www/html/mdweb15/ # mapserver_carto : rwxrwxr-x # Si ce n’est pas le cas : Chmod 775 -R /data/www/html/mdweb15/mapserver_carto/ d- Vérifier la structure de la base de données Le serveur cartographique utilise la base de données géographique installée précédemment. Il faut vérifier la structure de la base de données, car un problème au niveau de l’installation peut totalement fausser l’installation du serveur cartographique, notamment au niveau de la table « geometry_columns ». Utilisez pour cela PhpPgAdmin (https://devpgsql.mpl.ird.fr/phppgadmin/). Tables présentes dans la base de données géographiques (NB : Selon l’utilisation du serveur cartographique, la table « World » peut-être remplacé par une autre dimension, comme par exemple « France ») : IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 19 Description : Procédure d’installation de MDWeb sur CentOS Stockage : Colonnes composant la table « geometry_columns ». e- Modifier le fichier config_create_mapFile.php Le fichier /data/www/html/mdweb15/mapserver_carto/admin/config_create_mapFile.php est utilisé pour la génération de la carte. Il faut cependant le corriger afin qu’il fonctionne sur le serveur CentOs. Il faut donc éditer le fichier (le déplacer puis « éditer » dans le gestionnaire de fichier). Tout d’abord, il faut déplacer des fonctions. Une fonction est une portion de code encadrée par des accolades (function nom_fonction(arguments,…) { …. }). On peut repérer par exemple la première fonction écrite dans ce fichier : la fonction « copier_fichier() ». Il faut justement la déplacer en dessous de la fonction suivante « ecrire_fichier() ». En effet, afin d’éviter tout bug pouvant se produire lors d’un non respect de l’algorithmie, il est souhaitable de placer la fonction appelante après la fonction appelée. Or, la fonction « copier_fichier() » fait appel à la fonction « ecrire_fichier() ». Ensuite, il faut corriger la ligne 509 de ce même fichier. Par défaut, cette ligne affiche : $pwd = $lecteur.$chemin_appli."mapserver_carto/admin/" $configFolderPath = $lecteur.$chemin_appli."mapserver_carto/config/" La variable $lecteur correspond à une variable utilisée pour un serveur Windows. Ici, cette variable n’étant pas initialisée, il est préférable de la supprimer, pour obtenir ces lignes : $pwd = $chemin_appli."mapserver_carto/admin/" $configFolderPath = $chemin_appli."mapserver_carto/config/" IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 20 Description : Procédure d’installation de MDWeb sur CentOS Stockage : Ligne 533, vérifier la ligne suivante : $categories['cat_admin'] = array("world", "ocean") Il faut que les éléments décris dans array soient présents dans la base de données géographique. Par exemple, ici, il faut qu’une table « world » et qu’une table « ocean » existent dans ma base de données. f- Modifier le fichier mapbuilderConfig.xml Il nous faut dorénavant modifier le fichier /data /www/html/mdweb15/mapserver_carto/mapbuilder/lib/mapbuilderConfig.xm l afin de lui rajouter l’adresse des fichiers qu’il devra utiliser. En fin de fichier, modifier les balises et comme suit : /mdweb15/mapserver_carto/mapbuilder/server/php/proxy.php /mdweb15/mapserver_carto/mapbuilder/server/php/serializer.php g- Charger les couches géographiques via l’interface d’administration Connectez-vous à MDweb15 et inscrivez vos identifiants (administrateur : admin … mot de passe : yopyop). Cliquez sur Administration en haut à droite. Un nouveau menu (rouge) apparaît. Cliquez alors sur BD Géo Configuration Editeur Cartographique. Chargez alors les couches qui vous intéressent, et enfin, sauvegardez. 3- Mise en place de l’interopérabilité : L’interopérabilité est le fait de faire communiquer MDweb avec d’autres outils de catalogage (en théorie). En pratique, l’interopérabilité permet de récupérer dans le schéma de données de MDweb, des métadonnées stockées dans d’autres bases de données (distantes). A l’origine, MDweb utilise le serveur Z3950 et le serveur du même nom. Ce protocole pose de nombreux problème de compatibilité et de sécurité. Ce système peu abouti est quasi-inexploitable, bien qu’inscrit dans l’OGC. Ainsi, MDweb 1.6 inclura un autre protocole de communication, plus simple d’utilisation et mieux standardisé, nommé le CSW. IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 21 Description : Procédure d’installation de MDWeb sur CentOS Stockage : L’installation de l’interopérabilité en Z3950 sur le serveur Linux CentOs a été un échec. Il semblerait que le serveur soit incompatible avec ce système. Autrement, il pourrait s’agir d’un problème d’infrastructure, donc de sortie du serveur. De plus, l’interface mise à disposition ne permet pas une installation normale de ce serveur : cette installation se fait au travers d’une interface homme-machine, permettant ainsi de renseigner quelle base de données interroger. Etant donné que l’outil fourni n’est utilisable qu’en mode console, il fut donc impossible d’y installer directement ce serveur. Peut-être est-ce là aussi une raison de cette incompatibilité. On a donc essayé d’implémenter le mode CSW. Pour cela, il faut enrichir MDweb 1.5 des améliorations que propose MDweb 1.6, sans pour autant passer à cette version encore instable. Il y a donc nécessité à remplacer (ou le cas échéant, rajouter) les fichiers suivants (certains restent tout de même inchangés) : /config/config.inc.php /config/config.inc.z3950.php /config/config.inc.z3950.template.php /config/config_catalogs.php /config/config.inc.csw.php /config/config.inc.csw.template.php /consult/BarOnglets.php /consult/Consult.php /consult/index.php /consult/InfosSearch.php /consult/menug.php /consult/search.php /consult/SearchSheets.php /metier/ParamRequest.php /metier/Serveur.php /metier/Serveurs.php /metier/ServiceMetier.php /metier/Session.php /metier/XmlContent.php /metier/XmlResponse.php /metier/expansion/ChoixFiltrageCroise.php /metier/expansion/Expansion.php /metier/expansion/ExpansionThemaInteractive.php /metier/expansion/ExpansionThematique.php /metier/expansion/FiltrageCroise.php /metier/expansion/FiltrageThematique.php /metier/expansion/fonctions.php IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Date de modification : 31/08/2007 Référence : PROC_MDWEB_082007 Version : 0.0 Page 22 Description : Procédure d’installation de MDWeb sur CentOS Stockage : /metier/expansion/IntExpansion.php /persistance/ServicePersistance.php /persistance/xml_test.xml /persistance/recherche/IntRecherche.php /persistance/recherche/rechercheCSW/clientCSW.php /persistance/recherche/rechercheCSW/RechercheCSW.php /persistance/recherche/rechercheSGBD/RechercheSGBD.php /persistance/recherche/rechercheSGBD/RechercheSGBDCarto.php /persistance/recherche/rechercheSGBD/RechercheSGBDNonCarto.php /persistance/recherche/rechercheSGBD/RechercheSGBDNonCarto.php.bak /persistance/recherche/rechercheZ3950/clientZ3950.php /persistance/recherche/rechercheZ3950/extraction_xml.php /persistance/recherche/rechercheZ3950/RechercheZ3950.php /persistance/recherche/rechercheZ3950/requestToRPN.php /persistance/recherche/rechercheZ3950/z3950_config.php IRD Montpellier – Léo PRATLONG Mercredi 18 Juillet 2007
Vous pouvez aussi lire