installation d`un serveur dispositif de collecte
Transcription
installation d`un serveur dispositif de collecte
INSTALLATION D’UN SERVEUR DISPOSITIF DE COLLECTE Référence : OIEAU_RDM_RMC_CdCComplementairesDOC_INSTALLATION Version : 4 Date de création : 08/08/2003 Date de modification : 05/01/2005 Etat : Validé Rédaction Silogic David LABORIE (SANDRE) Validation Pierre LAGARDE (SANDRE) Approbation OIEau - ServeurRDM_RMC Documentation d’installation du serveur RMC OIEAU_RDD_RMC_DOC_INSTALLATION Version : 4 - Date : 05/01/2005 SOMMAIRE 1. PRESENTATION ......................................................................................................................................................... 3 2. VERSIONS NECESSAIRES ....................................................................................................................................43 3. INSTALLATION DE LA LIBRAIRIE PEAR....................................................................................................53 A. PRINCIPES DE PEAR..................................................................................................................................................53 B. FONCTIONNALITES DE PEAR...................................................................................................................................53 C. INSTALLATION DE PEAR ..........................................................................................................................................63 1. 2. Installation des packages initiaux....................................................................................................................63 Installation des packages SOAP .......................................................................................................................73 D. SWSAPI (SIMPLE W EB SERVICE API)...................................................................................................................83 E. INSTALLATION DES PACKAGES NECESSAIRES A LA TRANSFORMATION XSL ....................................................83 F. PARAMETRAGE DU SOAP.........................................................................................................................................93 G. INSTALLATION DU JDK 1.2.2...................................................................................................................................93 H. INSTALLATION DE FOP .............................................................................................................................................93 I. PARAMETRAGE DE FOP ............................................................................................................................................93 4. CONFIGURATION DE LA BASE DE DONNEES ........................................................................................103 A. LE MOTEUR DE STOCKAGE INNODB SOUS LINUX ...............................................................................................103 B. CREATION DE LA BASE DE DONNEES DISPOSITIF DE COLLECTE.........................................................................113 C. PARAMETRAGE DES MAILS DES ADMINISTRATEURS ...........................................................................................113 5. INSTALLATION DES PAGES ET PARAMETRAGE.................................................................................123 6. RENSEIGNEMENTS ..............................................................................................................................................153 OIEau / oieau_rddrmc_doc_install_4.docoieau_rddrmc_doc_install_4beta.doc 2 OIEau - ServeurRDM_RMC Documentation d’installation du serveur RMC OIEAU_RDD_RMC_DOC_INSTALLATION Version : 4 - Date : 05/01/2005 1. PRESENTATION Cette documentation a pour but d’expliquer la procédure d’installation du site Internet dispositif de collecte pour les bassins sur un serveur Internet type Linux. Nous partons du principe que vous possédez un serveur Linux convenablement installé avec au minimum : - un serveur Apache, - l’extensions php pour Apache, - une base MySQL, - le gestionnaire de mail sendMail. OIEau / oieau_rddrmc_doc_install_4.docoieau_rddrmc_doc_install_4beta.doc 3 OIEau - ServeurRDM_RMC Documentation d’installation du serveur RMC OIEAU_RDD_RMC_DOC_INSTALLATION Version : 4 - Date : 05/01/2005 2. VERSIONS NECESSAIRES Nous choisirons une distribution LINUX ainsi que les packages APACHE, PHP, PEAR, SOAP, MYSQL, SENDMAIL dans les versions minimales suivantes : Système Version kernel Distribution Linux 2.4.18-11 Packages Version APACHE 1.3.22 PHP 4.3 MYSQL 3.23.34a SENDMAIL OIEau / oieau_rddrmc_doc_install_4.docoieau_rddrmc_doc_install_4beta.doc 4 OIEau - ServeurRDM_RMC Documentation d’installation du serveur RMC OIEAU_RDD_RMC_DOC_INSTALLATION Version : 4 - Date : 05/01/2005 3. INSTALLATION DE LA LIBRAIRIE PEAR Créée par la communauté PHP, la bibliothèque de code PEAR PHP Extension and Application Repository permet de raccourcir les temps de développement. Son concept repose sur la mise en commun de code préécrit et réutilisable par tous les développeurs. PEAR est une bibliothèque de code qui permet de réduire le temps de développement par le biais de classes préécrites pour les fonctionnalités standard. D'un concept similaire au module CPAN de Perl, PEAR prend en charge diverses fonctions, notamment les bases de données, la messagerie électronique, la gestion des erreurs et la gestion des autorisations. Elle gère aussi le processus de synchronisation par l’utilisation de SOAP. A. Principes de PEAR La bibliothèque PEAR a été créée dans le but d'offrir aux développeurs une méthode standardisée de partage du code PHP, encourageant l'exploitation du code réutilisable. Ce projet est encore au stade du développement, si bien que les utilisateurs peuvent soumettre leur code dans la bibliothèque PEAR, intégrée à PHP. Tous les blocs PEAR respectent des règles de codage strictes en matière de conventions syntaxiques et de lisibilité. Ils se composent du langage PHP ou d'extensions PHP écrites en C. PEAR a été créée par Stig Bakken fin 1999. Son objectif est alors de concevoir une bibliothèque de code organisée qui sert de ressource communautaire pour les développeurs PHP. Son projet a mûri au cours des deux dernières années, et comporte désormais un large éventail de code utile et réutilisable. Bien qu'il existe d'autres référentiels PHP, tels que Code Gallery de Zend et Source Code Snippet Library de PHP Builder, PEAR offre un niveau de standardisation qui facilite l'interopérabilité des fonctions. De plus, les propositions de code soumises sur PEAR sont minutieusement examinées par un groupe de contrôle qui vérifie la qualité et la fiabilité du code. B. Fonctionnalités de PEAR PEAR est divisé en trois classes: Ø Les composants fondamentaux PEAR (PEAR Core Components). Ils incluent les classes de base de PEAR et PEAR_Error, ainsi que les fonctions de base de données PEAR ::DB, HTTP, journalisation et messagerie électronique. Les Classes PHP Fondamentales (PFC PHP Foundation Classes) insistent sur la qualité, le côté générique, l'interopérabilité et la compatibilité. Si PHP continu à distribuer par défaut les packages PEAR, se seront les classes PFC uniquement. Ø Les blocs PEAR (PEAR Packages). Ils comportent des fonctionnalités relatives à l'authentification, à la mise en réseau et au système de fichiers, ainsi que des outils permettant d'exploiter les modèles XML et HTML OIEau / oieau_rddrmc_doc_install_4.docoieau_rddrmc_doc_install_4beta.doc 5 OIEau - ServeurRDM_RMC Documentation d’installation du serveur RMC Ø OIEAU_RDD_RMC_DOC_INSTALLATION Version : 4 - Date : 05/01/2005 Les blocs PECL (PECL Packages). Ce sont des extensions au PHP, écrites en C, ne respectant pas les règles de codage. À l'heure actuelle, le code de cette classe en est au stade expérimental, nous ne l’utiliserons pas dans le cadre du projet. Erreur ! Documentation Source disponible à l’adresse ci-dessous : http://pear.php.net/manual/fr/ du renvoi introuv able. C. Installation de PEAR 1. Installation des packages initiaux Le package PEAR version 1.0.1 doit être installé (décompacté) sous le répertoire /usr/share/pear par exemple. Le projet implémente des fonctions disponibles dans les dernières versions des composants fondamentaux comme PEAR ::DB version 1.4b1, PEAR_ERROR et des blocs PEAR spécifiques comme PEAR ::AUTH 1.2.0 et PEAR ::HTML_template_IT 1.1. Ces paquetages sont installés sous le répertoire racine de PEAR (/usr/share/pear ). Erreur ! L’ensemble Source des modules peuvent être téléchargés à l’adresse : http://pear.php.net/packages.php du renvoi introuv able. Package Auth-1[1].2.0.tgz Contenu Version Répertoire d’installation Container.php V 1.9 du 04/01/2003 Auth.php V 1.47 du 01/02/2003 2) Renommer le répertoire Auth-1.2.0 en Auth IT_error.php V 1.1 du 28/04/2002 Extraire les fichiers dans /usr/share/pear/HTML ITX.php V 1.8 du 12/03/2003 IT.php V 1.6 du 12/03/2003 DB.php V 1.16 du 08/02/2003 1) Décompacter dans /usr/share/pear HTML_template_IT-1[1].1.tgz DB-1[1].4b1.tgz Extraire ces fichiers dans le répertoire OIEau / oieau_rddrmc_doc_install_4.docoieau_rddrmc_doc_install_4beta.doc 6 OIEau - ServeurRDM_RMC Documentation d’installation du serveur RMC Ø OIEAU_RDD_RMC_DOC_INSTALLATION Version : 4 - Date : 05/01/2005 DB/dbase.php V 1.2 du 04/01/2003 DB/msql.php V 1.4 du 04/01/2003 DB/ifsc.php V 1.7 du 04/01/2003 DB/sybase.php V 1.6 du 04/01/2003 DB/odbc.php V 1.4 du 04/01/2003 DB/storage.php V 1.4 du 04/01/2003 DB/mssql.php V 1.6 du 21/01/2003 DB/fbsql.php V 1.4 du 04/01/2003 DB/ibase.php V 1.7 du 07/02/2003 DB/oci8.php V 1.5 du 04/01/2003 DB/pgsql.php V 1.16 du 07/02/2003 DB/mysql.php V 1.13 du 07/02/2003 DB/common.php V 1.13 du 08/02/2003 /usr/share/pear Il vous faut ensuite éditer le fichier /etc/php.ini et configurer le paramètre include_path en lui fournissant le répertoire d’installation du module PEAR et le répertoire racine du projet. Include_path = « .:/usr/share/pear:/var/www/html/oieau » Ø Relancer Apache. 2. Installation des packages SOAP Le tableau ci-dessous liste les packages mis en œuvre par PEAR ::SOAP. La colonne intitulée « Déploiement » indique sur quels serveurs les packages doivent être déployés. Package URL DE TELECHARGEMENT PEAR ::SOAP V 0.7.4 http://pear.php.net/package-info.php?pacid=87 Mail_Mime V 1.2.1 http://pear.php.net/package-info.php?pacid=21 HTTP_Request V 1.1.1 http://pear.php.net/package-info.php?pacid=33 Net_Socket V 1.0.1 http://pear.php.net/package-info.php?pacid=64 OIEau / oieau_rddrmc_doc_install_4.docoieau_rddrmc_doc_install_4beta.doc 7 OIEau - ServeurRDM_RMC Documentation d’installation du serveur RMC OIEAU_RDD_RMC_DOC_INSTALLATION Version : 4 - Date : 05/01/2005 Net_URL V 1.0.10 http://pear.php.net/package-info.php?pacid=34 Net_DIME V 0.3 Beta http://pear.php.net/package-info.php?pacid=86 XML_Tree V 1.1 http://pear.php.net/package-info.php?pacid=19 La RedHat 8.0+ intègre le package PEAR version 1.0.1. Il est installé (décompacté) par défaut sous le répertoire /usr/share/pear . D. SWSAPI (Simple Web Service API) Cette API est nécessaire pour l’utilisation du fichier WSDL. API SWSAPI (Simple Web http://aspn.activestate.com/ASPN/WebServices/SWSAPI/phptut Services API) Cette API se présente sous la forme d’un fichier unique webservices.php. Copier ce fichier à la racine du répertoire PEAR (<PHP INSTALL>/PEAR). E. Installation des packages nécessaires à la transformation XSL Package Contenu Version Répertoire d’installation XML_XSLT_Wrapper- Wrapper.php v 1.9 04/01/2003 0[1].2.1b.tgz DOM_XSL.php modifiée Décompacter dans /usr/share/pear/xml MSXSL_Com.php Sablotron.php XSLT_ext.php XSLTPROC.php XT.php Le package XML_XSLT_Wrapper-0[1].2.1b.tgz est une version corrigée du package XML_XSLT_Wrapper-0[1].2.1.tgz. Les modifications effectuées sont : Dans XSLTPROC.php : remplacement de XSLT_XSLTPROC_CMD par XML_XSLT_XSLTPROC_CMD. Dans XSLTPROC.php : correction de _buildParams() permettant le passage de paramètres contenant des espaces. XSLT_Wrapper.php renommé en wrapper.XSLT. OIEau / oieau_rddrmc_doc_install_4.docoieau_rddrmc_doc_install_4beta.doc 8 OIEau - ServeurRDM_RMC Documentation d’installation du serveur RMC OIEAU_RDD_RMC_DOC_INSTALLATION Version : 4 - Date : 05/01/2005 Par défaut, le serveur Dispositif de collecte s’appuie sur le processeur XSLTPROC disponible à l’adresse suivante : http://xmlsoft.org/XSLT/ (Attention à son installation en version Windows). F. Paramétrage du SOAP Editer le fichier <PHP Install>/PEAR/SOAP/Base.php et modifier la déclaration de la variable globale SOAP_DEFAULT_ENCODING. define('SOAP_DEFAULT_ENCODING', 'ISO-8859-1'); G. Installation du JDK 1.2.2 La machine virtuelle Java est nécessaire au fonctionnement de FOP, le moteur de génération des fiches au format PDF. Version Package jdk-1_2_2_008-linux-i386.tar.gz URL de téléchargement et Répertoire d’installation V 1.2.2 pour linux http://java.sun.com/products/archive/j2se/1.2.2_008/ Décompacter dans /usr/share/jdk1.2.2 H. Installation de FOP Package fop-0.20.5-bin.tar.gz Version URL de téléchargement et Répertoire d’installation V 1.2.2 pour linux http://xml.apache.org/fop/ Décompacter dans usr/share/fop-0.20.5 I. Paramétrage de FOP Sous linux, dans le fichier fop.sh, ajouter JAVA_HOME=<JDK Install> Exemple : #! /bin/sh # # Shell script to run FOP, adapted from the Jakarta-Ant project. JAVA_HOME=/usr/share/jdk1.2.2 if [ -f $HOME/.foprc ] ; then OIEau / oieau_rddrmc_doc_install_4.docoieau_rddrmc_doc_install_4beta.doc 9 OIEau - ServeurRDM_RMC Documentation d’installation du serveur RMC OIEAU_RDD_RMC_DOC_INSTALLATION Version : 4 - Date : 05/01/2005 4. CONFIGURATION DE LA BASE DE DONNEES A. Le moteur de stockage InnoDB sous Linux A partir de la version 4.0 de mysql, le moteur innoDB est activé par défaut. Ce paragraphe ne concerne que les versions 3.23.XX de mysql. Le moteur InnoDB est inclus dans la distribution mysql à partir des versions 3.23.34a. Il est activé par la distribution binaire Mysql-MAX des versions 3.23.XX. La version Mysql-MAX diffère de la version mysql standard uniquement par le processus exécutable mysqld de mysql. La mise en œuvre du moteur InnoDB se fait en trois étapes : Ø Editer le fichier /etc/my.cnf Ø Rajouter le nom et la taille du fichier de stockage des tables InnoDB (ici base -rdd de 30 MB) [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock innodb_data_file_path= base-rdd:30M:autoextend:max:2000M [mysql.server] user=mysql basedir=/var/lib [safe_mysqld] err-log=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid A partir de la version 3.23.50 de mysql, il est possible de déclarer le fichier de stockage innoDB comme auto extensible par le paramètre autoextend . Ceci signifie que lorsque le fichier atteint sa taille maximale (ici 30 MO), InnoDB incrémente le fichier par paquets de 8 MO jusqu’à atteindre la taille maximale déclarée par le paramètre max :2000M . Si vous souhaitez stocker le fichier innodb_data_file_path dans un répertoire spécifique, il faut rajouter dans le fichier my.cnf le paramétrage innodb_data_home_dir=/home/oieau/base. Attention : Le daemon (processus) mysqld est exécuté par l’utilisateur user=mysql, déclaré dans le fichier my.cnf. Vérifier que cet utilisateur dispose des droits d’écriture sur le répertoire défini dans la variable innodb_data_home_dir. Ø Arrêter et redémarrer mysql afin de prendre en compte les modifications. OIEau / oieau_rddrmc_doc_install_4.docoieau_rddrmc_doc_install_4beta.doc 10 OIEau - ServeurRDM_RMC Documentation d’installation du serveur RMC OIEAU_RDD_RMC_DOC_INSTALLATION Version : 4 - Date : 05/01/2005 B. Création de la base de données dispositif de collecte La création de la base de données s’effectue en deux étapes : Ø Créer une base de données «ReseauDonnees » en utilisant phpmyadmin (ou autre outil: Mysql Control Center, MysqlFront …). Donner tous les droits à un utilisateur. Ø Charger le dump en lançant la commande suivante en plaçant le fichier sql au même endroit que mysql ou si vous préférez en utilisant phpmyadmin : mysql --force --host=localhost --user=[USER] --password=[PASSWORD] -D ReseauDonnees < monfichierDUMP.sql Des messages d'erreur apparaîtront. Relancer la même commande pour qu’aucune erreur ne soit générée (au maximum 5/6 fois!). Ces messages d'erreur sont dus à une gestion très imparfaite du dump des contraintes d'intégrité sur la base de données mais à force, les données seront intégrées. C. Paramétrage des mails des administrateurs Avec phpmyadmin ou autre outil, modifier la table ADMIN en indiquant la valeur suivante : - EMAIL_ADMIN : liste des adresses e-mail des administrateurs de bassin. Chaque adresse est séparée par une virgule « , ». Ex : [email protected],[email protected],[email protected],[email protected] OIEau / oieau_rddrmc_doc_install_4.docoieau_rddrmc_doc_install_4beta.doc 11 OIEau - ServeurRDM_RMC Documentation d’installation du serveur RMC OIEAU_RDD_RMC_DOC_INSTALLATION Version : 4 - Date : 05/01/2005 5. INSTALLATION DES PAGES ET PARAMETRAGE Ø A l’aide d’une connexion FTP ou directement sur le serveur, allez dans votre répertoire dédié au site Internet (donc accessible par une adresse Internet ou une IP), puis copiez le contenu du répertoire RESEAUX (ce répertoire contient l’ensemble des fichiers du site internet sur les dispositifs de collecte). <install> : répertoire d’installation des réseaux. Par ex, /home/httpd/rmc/html/RESEAUX Ø L’application WEB a besoin de stocker un certain nombre de fichiers dans différents répertoires. Pour cette raison vous devez donner les pleins droits en effectuant un (CHMOD 777 monrépertoire) sous le Login root sur les répertoires suivants : Ø • <Install>/ /log • <Install>/ /tmp • <Install>/ /tmp/export • <Install>/ /update Apache ou l'application WEB, lors de la mise à jour des serveurs de bassin devra remplacer, ajouter des fichiers dans l'arborescence du site. L'application Web doit avoir les pleins droits sur toute l'arborescence du site. Pour le serveur Apache, c'est l'utilisateur apache. • CHMOD 777 <Install> sous le Login apache Ø Rendre le répertoire <Install>/presentation/administration accessible uniquement à un utilisateur spécifique : Créer un fichier nommé .htaccess contenant : AuthType Basic AuthUserFile <install>/presentation/administration/.htpasswd AuthGroupFile /dev/null AuthName "Serveur de données RMC" require valid-user Créer ensuite le login / mot de passe de l’administrateur en utilisant la commande htpasswd .htpasswd [Login administrateur]. A la question New password ?, taper le [mot de passe administrateur]. A la question Re-type new password ? taper [mot de passe administrateur]. Ø Mettre à jour les variables globales spécifiques au Bassin déclarées dans le fichier <Install>/outils/constLocal.php Le tableau ci-dessous dresse la liste les variables à initialiser. Variable Description DB_NAME Nom de la base (‘ReseauDonnees’) DB_LOGIN Login d’accès à la base DB_PASSWORD Mot de passe pour accéder à la base de données OIEau / oieau_rddrmc_doc_install_4.docoieau_rddrmc_doc_install_4beta.doc 12 OIEau - ServeurRDM_RMC Documentation d’installation du serveur RMC RACINE OIEAU_RDD_RMC_DOC_INSTALLATION Version : 4 - Date : 05/01/2005 Répertoire racine du projet – chemin absolu Par ex : home/httpd/dispositif/html/RESEAUX SERVER Nom du serveur (domaine) – localhost… CLIENT Page d’accueil du serveur (au-dessus de la page d’accueil de la partie Réseau de données) Par ex :http://rmc.rnde.tm.fr/ NOM_BASSIN Inscrire le nom du Bassin afin de l’afficher en haut des pages Par ex : Réseau de bassin<BR>Rhône Méditerranée Corse WSDL Chemin complet du fichier WSDL relatif à la synchronisation – chemin relatif ? Par ex : "../../service/synchroService.wsdl » WSDL_UPDATE Chemin complet du fichier WSDL relatif à la mise à jour des serveurs – chemin relatif Par ex : "../../service/updateService.wsdl » CHECK_UPDATE Booléen (true, false) permettant d'informer (sur la page d'administration) l'administrateur de bassin qu'il existe au moins une mise à jour à télécharger. CODE_BASSIN_LOCAL Code du bassin local (attribué par le SANDRE). CLE Clé d’autorisation de synchronisation avec le SANDRE (attribué par le SANDRE). PROXY FOP_COMMANDE Tableau associatif contenant les paramètres d’un éventuel proxy : o proxy_host : Adresse Ip du serveur PROXY o proxy_port : Port sur lequel est redirigé le service http o proxy_user : Identifiant de l’utilisateur o proxy_pass : Mot de passe de l’utilisateur Chemin complet d'accès au script fop.sh. Par ex : /usr/share/fop-0.20.5/fop.sh REP_UPDATE Répertoire absolu qui recevra les mises à jour. Le serveur WEB doit avoir les pleins droits dessus ; ceci est à vérifier si le répertoire n'est pas placé dans l'arborescence du site. Ø Editer le fichier PHP.ini et modifier la déclaration de la variable max_execution_time max_execution_time = 300 (en secondes) Ø Editer le fichier PHP.ini et modifier la déclaration de la variable memory_limit OIEau / oieau_rddrmc_doc_install_4.docoieau_rddrmc_doc_install_4beta.doc 13 OIEau - ServeurRDM_RMC Documentation d’installation du serveur RMC OIEAU_RDD_RMC_DOC_INSTALLATION Version : 4 - Date : 05/01/2005 memory_limit = 16M; Ø Relancer Apache Ø Editer le fichier <install>/xslt/foconfig.xml et modifier le chemin d'accès aux fontes pour FOP. Il doit pointer sur le répertoire parent du répertoire 'fonts' : <install>/presentation si le répertoire 'fonts' est dessous. Exemple : <entry> <key>fontBaseDir</key> <value>/home/httpd/rmc/html/RESEAUX/presentation</value> </entry> Ø Accès au site Vous pouvez maintenant accéder à votre site dispositif de collecte en utilisant la page web suivante : http://monsite/RESEAUX/presentation/main/index.php OIEau / oieau_rddrmc_doc_install_4.docoieau_rddrmc_doc_install_4beta.doc 14 OIEau - ServeurRDM_RMC Documentation d’installation du serveur RMC OIEAU_RDD_RMC_DOC_INSTALLATION Version : 4 - Date : 05/01/2005 6. RENSEIGNEMENTS Pour tout renseignement vous pouvez contacter le SANDRE par mail : [email protected] OIEau / oieau_rddrmc_doc_install_4.docoieau_rddrmc_doc_install_4beta.doc 15