Version 1.6

 Note pour l’installation et la configuration de MDweb (scripts – bases de données)

 Plateforme Linux

 

 

Préambule : La présente note propose de décrire dans le détail les opérations nécessaires à l’installation manuelle des scripts et des bases de données relationnelles de MDweb. Ne sont pas traitées l’installation et la configuration des composants nécessaires à son fonctionnement.

 

Sommaire

 

 

 

 

•   Apache 1.3.x ou 2.0.x et module PHP 5.x.

 

Le module PHP pour Apache doit être activé avec les extensions complémentaires suivantes :

O php5-pgsql

O php5-xsl

O php5-gd

O php5-curl

O php5-mapscript (4.10)

O php5-zip

 

Voir les packages selon les distributions Linux

 

·         PostgreSQL 8.x avec sa cartouche spatiale PostGIS

- PostgreSQL français : http://www.postgresqlfr.org/ 

- PostGIS : http://www.postgis.fr/

Voir les packages selon les distributions Linux

 

·         Serveur cartographique Mapserver 4

Le serveur cartographique est utilisé dans cette version pour assurer le service de carte au client cartographique de MDweb.

 

- Site Maptools.org :

Le site Maptool propose le FGS installer qui permet d’installer sur une plateforme Linux les composants MapServer, PHP/MapScript et toutes les dépendances nécessaires à leur fonctionnement. Tous les détails à l’adresse :  http://www.maptools.org/fgs/  .

Documentation à l’adresse :http://www.maptools.org/fgs/index.phtml?page=docs.html

 

- Site de Mapserver :

Les composants Mapserver sont bien entendu téléchargeables sur  le site officiel de MapServer :

http://mapserver.gis.umn.edu/download pour l’ensemble des versions ou http://mapserver.gis.umn.edu/download/current/ pour la version courante.

 

 

Configuration du serveur Apache

 

Configuration générale

 

Il n’y a pas de configuration spécifique à adopter pour le fonctionnement de MDweb. Il faut seulement veiller à la cohérence des valeurs de certaines directives du serveur Apache. La configuration du serveur Apache se trouve dans le fichier httpd.conf ou Apache2.conf. Ces fichiers de configuration se situent dans les répertoires /etc/Apache2/conf (cas de Débian). Il est nécessaire de vérifier dans ce fichier les directives suivantes :

 

#

AddType application/x-httpd-php .php

AddCharset ISO-8859-1 .iso8859-1

DirectoryIndex index.html index.html.var index.php

#

 

Configuration liée à l’utilisation de Mapserver

 

L’utilisation de Mapserver nécessite l’ajout de directives dans le fichier de configuration d’Apache. Selon votre mode d’installation (compilation ou installation de packages), les directives suivantes seront automatiquement ajoutées ou vous devrez le faire en éditant le fichier de configuration d’Apache. Les chemins sont donnés pour exemple.

 

 #

 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

#

      <Directory /usr/lib/cgi-bin>

            AddHandler cgi-script .cgi

            Options +ExecCGI

            AllowOverride None

            Options None

            Order allow,deny

            Allow from all

      </Directory>

##

 

Configuration liée à l’utilisation de Mapserver dans MDweb

 

Pour l’utilisation spécifique de MapServer avec MDweb, vous devez y ajouter :

 

#

# configuration pour mapserver dans MDweb

#

SetEnvIf Request_URI /wms MS_MAPFILE=/var/www/mdweb-demo16/mapserver_carto/config/default/carto.map

#

ScriptAlias  /wms /usr/lib/cgi-bin/mapserv

#

Alias /proxy/  /var/www/mdweb-demo16/mapserver_carto/mapbuilder/server/php/

#

<Directory /var/www/mdweb-demo16/mapserver_carto/mapbuilder/server/php >

            Allow from all

            Options Indexes MultiViews

            AllowOverride None

            Order allow,deny

</Directory>

#

# fin configuration de mapserver pour MDweb

#

 

Ces valeurs des directives sont à modifier selon le chemin de votre installation bien entendu…

 

Configuration du module PHP

 

L’utilisation de MDweb demande la mise en place de 6 extensions PHP. Il s’agit :

O php5-pgsql

O php5-xsl

O php5-gd

O php5-curl

O php5-mapscript (4.10)

O php5-zip

 

 

Nouveau : l’extension php5-gd est nécessaire à la version 1.6 pour permettre le redimmensionnement des fichiers jpg, gif ou png comme aperçu .

 

La configuration du module PHP se limite à la modification du fichier de configuration php.ini. Ce fichier se situe dans le répertoire /etc/php5/apache2/php.ini (cas Débian). Plusieurs directives sont à modifier. Les directives et les valeurs à modifier sont données dans le tableau suivant :

 

Directives PHP

Valeur par défaut

Valeur pour MDweb

register_globals

Off

On

magic_quotes_gpc

Off

On

max_execution_time

30

180

error_reporting

E_ALL

E_ALL & ~E_NOTICE[1]

short_open_tag

Off

On

file_uploads

Off

On

memory_limit

8M

16M

post_max_size

8M

16M

upload_max_filesize

1M

2M

allow_url_fopen

On

Off[2]

allow_call_time_pass_reference

Off

On

 

Pour permettre l'import de thesaurus volumineux (accessible dans le module Thesaurus de la partie Administration), il est préférable de mettre une valeur plus élevée pour la directive max_execution_time (par exemple 5000 pour un thesaurus comme Agrovoc).

 

Il est aussi recommandé de vérifier la valeur de la directive default_charset dans le même fichier. Elle doit être cohérente avec le jeu de caractères adopté dans l’écriture des pages html. Pour les langues latines (portugais, français, espagnol, ..) elle doit être à :

 

default_charset = "iso-8859-1"

 

Attention que cette directive ne soit pas commentée, si c’est le cas, il faut la dé commenter pour qu’elle soit pris en compte.

Après la sauvegarde des modifications du fichier php.ini, le service Apache doit être redémarré pour que la nouvelle configuration soit prise en compte.

 

 

Tester la configuration d’Apache et du module PHP

 

Il est recommandé de vérifier la bonne prise en compte des modifications faites sur le serveur Apache et sur le module PHP. Pour cela, connectez vous à l’adresse http://localhost/phpinfo.php. Si le fichier phpinfo.php n’existe pas, créez le comme suit :

<?

phpinfo() ;

?>

 

 

Deux manières d’installer les scripts MDweb

 

1. Télécharger l’archive :

 http://www.mdweb-project.org/16/scripts/mdweb-demo16-fr.zip

1. Décompactez l’archive dans le répertoire de publication de votre serveur apache.

2. vous devez rendre l’user apache propriétaire de tous les scripts MDweb et répertoires. Dans le répertoire mdweb-demo16, exécutez les commandes :

> chmod –R 775 *

> chown –R apache *

 

2. avec un client SVN :

Positionnez vous dans le répertoire dans lequel seront utilisés les scripts MDweb et tapez la commande :

 

1. Rapatrier les scripts

> svn co http://svn.mdweb-project.org/mdweb1/public/scripts/1.6.x/ .

Cette commande vous permet de rapatrier les scripts comme une version de travail du dépôt SVN MDweb. Vous pourrez ainsi mettre à jour vos scripts en tapant la commande

> svn update

2. vous devez rendre l’user apache propriétaire de tous les scripts MDweb et répertoires. Dans le répertoire mdweb-demo16, exécutez les commandes :

> chmod –R 775 *

> chown –R apache *

 

Ce changement de propriétaire du répertoire mdweb-demo16 est important car il permettra à l’application MDweb de copier, modifier ou supprimer des fichiers dans le répertoire MDweb et ses sous-répertoires.

 

 

 

 

 

Installation des bases de données MDweb

 

Afin d’apporter l’ensemble des fonctionnalités de la version 1.6, il est nécessaire de créer 3 bases de données sous PostgreSQL :

·   La BD MDweb (mdweb-demo16-fra) dans laquelle sera stockée les fiches de métadonnées

·   La BD géographique (geo-demo16) dans laquelle sera stocké les couches d’information géographiques utilisées dans le module cartographique. Cette base de données stocke deux couches vecteur : une couche des limites des pays du monde et une des océans

·   La BD thésaurus (thesaurus-fra) dans laquelle sont stockés les thésaurus de référence (par défaut : Agrovoc (FAO) un thésaurus de démonstration). Vous aurez par la suite la possibilité d’ajouter GEMET (EIONET) et les toponymes des communes, départements et région de la France. La base de données proposée stocke uniquement les termes français de ces thésaurus.

 

Téléchargement des scripts d’installation des bases de données

Télécharger les fichiers aux adresses indiquées et stocker les dans un répertoire de votre choix.

 

·   Création de la BD mdweb-demo16-fra :

http://www.mdweb-project.org/16/bd/metadata/CreationBD16-fra.sh

http://www.mdweb-project.org/16/bd/metadata/dump-mdweb-demo16-fra.sql  

 

·   Création de la BD geo-demo16

http://www.mdweb-project.org/16/bd/geodatabase/CreationBD-geo-demo16-linux.sh  

http://www.mdweb-project.org/16/bd/geodatabase/geo-demo16-linux-psql81.sql

 

·   Création de la BD thesaurus-fra

http://www.mdweb-project.org/16/bd/thesaurus/CreationBD-thesaurus-fra.sh

http://www.mdweb-project.org/16/bd/thesaurus/dump-thesaurus-fra.sql

 

- pour compléter la BD thésaurus par le thésaurus GEMET :

http://www.mdweb-project.org/16/bd/thesaurus/Insertion-gemet-fra.sh  

http://www.mdweb-project.org/16/bd/thesaurus/dump-gemet-fra.sql

 

- pour compléter la BD thésaurus par la toponymie française :

http://www.mdweb-project.org/16/bd/thesaurus/Insertion-toponyme-fra.sh  

http://www.mdweb-project.org/16/bd/thesaurus/dump-toponyme-fra.sql

 

Pré-requis à l’exécution des scripts de création des BD

 

Modification du fichier pg_hba.conf 

Afin de simplifier l’installation, notamment la réalisation des scripts d’implantation des bases de données, il est nécessaire, de modifier le fichier d’accès au serveur postgres pg_hba.conf.

Pour cela, Editez le fichier pg_hba.conf à partir du menu Démarrer > Programmes > PostgreSQL > Fichier de configuration > Editez pg_hba.conf.

 

Modifier la ligne :

host    all         all         127.0.0.1/32          md5

en

host    all         all         127.0.0.1/32          trust

 

Recharger la configuration de PostgreSQL à partir du menu Démarrer > Programmes > PostgreSQL > Fichier de configuration > Recharger la configuration

 

 

Exécution des scripts d’installation des bases de données

 

·         Création de la BD mdweb-demo16-fra :

 

Exécutez le script CreationBD16-fra.sh. Lors de l’exécution de ce script, il vous sera demandé de donner un nom à la base de données MDweb (par défaut, mdweb-demo16-fra).

        

 

·         Création de la BD geo-demo16 :

 

Exécutez le script CreationBD-geo-demo16.sh Lors de l’exécution de ce script, il vous sera demandé de donner :

-  un nom à la base de données géographique (par défaut, geo-demo16)

-  le chemin du fichier lwpostgis.sql nécessaire à la création des fonctions géographiques (par défaut: /usr/local/pgsql/share/contrib/lwpostgis.sql)

-  le chemin du fichier spatial_ref_sys.sql donnant les propriétés des systèmes de projection (par défaut : /usr/local/pgsql/share/contrib/spatial_ref_sys.sql )

 

 

·         Création de la BD thesaurus-fra

 

Exécutez le script CreationBD-thesaurus-fra.sh. Lors de l’exécution de ce script, il vous sera demandé de donner un nom à la base de données MDweb (par défaut, thesaurus-fra).

                   Si vous souhaitez compléter cette base avec le thésaurus GEMET ou le thésaurus comportant la toponymie des communes, départements et régions françaises, exécutez les scripts :

 

                   - Insertion-gemet-fra.sh (thésaurus GEMET)

- Insertion-toponyme-fra.sh (Toponymie française)

 

 en spécifiant comme nom de base de données le même que lors de la création de la base de données contenant le thésaurus

 

 

 

 

 

Par défaut, MDweb est configuré pour qu’il fonctionne avec les paramètres suivants :

 

·         Adresse web : http://localhost/mdweb-demo16/

·         Chemin des scripts : /var/www/mdweb-demo16/

·         Nom du serveur de BD : localhost

·         Nom de l’utilisateur PostgreSQL : postgres

·         Mot de passe de l’utilisateur PostgreSQL : postgres

·         Nom de la base de données MDweb : mdweb-demo16-fra

·         Nom de la base de données géographique : geo-demo16

·         Nom de la base de données thésaurus : thesaurus-fra

 

Remarques :

Par défaut, l’ensemble des bases de données est sur le même serveur. Les trois fichiers de configuration de MDweb permettent ensuite de spécifier des paramètres de connexion pour chaque base de données. Cela donne la possibilité si besoin de répartir les scripts et chaque base de données sur un serveur indépendant.

Par contre, il est indispensable qu’au moment de la création de la base géographique et lors des modifications que vous apporterez pour insérer de nouvelles couches d’informations spécifiques à votre utilisation qu’elle soit sur la même machine que les scripts MDweb.

 

Pour activer MDweb, vous devez copier les fichiers pré-configurés pour Linux comme suit :

 

  • Configuration générale :

 

config/config.inc.linux.php > config/config.inc.php

 

  • Connexion à la base de données géographique :

 

config/config.inc.carto.linux.php > config/config.inc.carto.php

 

  • Connexion à la base de données thésaurus :

 

config/config.inc.thesaurus.template. php > config/config.inc.thesaurus.php

 

Si vous souhaitez modifier cette configuration, éditez les trois fichiers précédents.

 


 

Modification de la configuration générale (fichier config/config.inc.php)

 

1. Editez le fichier config\config.inc.php

2. Les valeurs des variables globales de l’application MDweb doivent être modifiées selon la configuration de votre serveur. Le tableau donne le nom et la valeur par défaut des variables du fichier config.inc.php.

 

 Nom variable PHP

commentaires

Valeur par défaut

Paramètres de configuration généraux

$type_serveur

Spécifie le système d’exploitation sur lequel est installé MDweb. Deux valeurs possibles ‘unix’ ou ‘windows’

unix

$url_site

Spécifie l’adresse sur laquelle sera accessible MDweb. Ne pas mettre le répertoire MDweb

http://localhost

$alias_appli

permet de spécifier l’alias du répertoire d’installation de MDweb. La valeur par défaut correspond au cas où le répertoire est directement sous la racine du répertoire de publication

/mdweb-demo16/

$chemin_appli

Spécifie le chemin absolu où se situe le répertoire MDweb, sans mentionner le nom du lecteur

/var/www/mdweb-demo16/

Paramètres de connexion à la base de données

$serveur

Serveur hébergeant la base de données mdweb-demo16. Par défaut, ‘localhost’. Si la base de données n’est pas hébergée par la même machine que l’application MDweb, mettre l’IP de la machine

localhost

$db_type

Spécifie le type de base de données utilisé pour supporter la base de données MDweb. Deux valeurs possibles : ‘postgres’ ou ‘mysql’

postgres

$user

Nom de l’utilisateur pouvant accéder à la base de données MDweb

postgres

$password

Mot de passe de l’utilisateur

postgres

$db_nom

Spécifie le nom de la base de données pour l’application MDweb. Elle doit correspondre au nom donné à la base créée dans l’étape précédente

mdweb-demo16-fra

paramètres pour l'enregistrement des utilisateurs dans MDweb

$email_admin

Adresse mail de l’administrateur de MDweb

admin@domain.pays