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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Date 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 2007Vous pouvez aussi lire