Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
« Manuel d'installation et d'exploitation » : différence entre les versions
| Ligne 168 : | Ligne 168 : | ||
'''''Installation'''''Pour installer la machine virtuelle Java, il faut télécharger les sources sur le site de Sun : [http://java.sun.com/javase/downloads/index.jsp http://java.sun.com/javase/downloads/index.jsp]. Le fichier obtenu est un exécutable (on préfèrera le fichier « bin » au fichier « rpm »). Il faut le lancer pour démarrer la compilation automatique des sources. Le résultat est un dossier « jdk1.6.0_13 »<ref name="ftn9">Le nom du dossier peut différer suivant le numéro de version de la JVM. On préfèrera toujours télécharger la dernière version stable, qui, à l'heure de la rédaction de ce document, est la version 1.6.0_13.</ref> que l'on peut alors placer à l'endroit de son choix (par exemple : /opt/ jdk1.6.0_13). | '''''Installation'''''Pour installer la machine virtuelle Java, il faut télécharger les sources sur le site de Sun : [http://java.sun.com/javase/downloads/index.jsp http://java.sun.com/javase/downloads/index.jsp]. Le fichier obtenu est un exécutable (on préfèrera le fichier « bin » au fichier « rpm »). Il faut le lancer pour démarrer la compilation automatique des sources. Le résultat est un dossier « jdk1.6.0_13 »<ref name="ftn9">Le nom du dossier peut différer suivant le numéro de version de la JVM. On préfèrera toujours télécharger la dernière version stable, qui, à l'heure de la rédaction de ce document, est la version 1.6.0_13.</ref> que l'on peut alors placer à l'endroit de son choix (par exemple : /opt/ jdk1.6.0_13). | ||
{{important| La création d'un compte oracle est nécessaire pour télécharger | {{important| La création d'un compte oracle est nécessaire pour télécharger jdk . Cette archive peut être téléchargé en local puis uploadé via ssh }} | ||
Dernière version du 30 mars 2020 à 13:03
= Introduction =
Ce document contient les informations permettant d'installer l'application e-archives reposant sur le progiciel Pleade 3<ref name="ftn1">Le site Web de Pleade : http://www.pleade.com/</ref>. Pleade est un moteur de recherche et de publication d'instruments de recherche en format XML / EAD. Cet outil gère l'intégration du moteur de recherche documentaire. Il est associé à une visionneuse d'images qui prend en charge l'affichage des documents numérisés. Cette documentation contient toutes les informations nécessaire pour maintenir correctement en état de marche une telle application.
Les sections qui suivent décrivent aussi précisément que possible l'installation de l'ensemble des composants logiciels de votre application. Vous trouverez en annexe (cf. section « [#5.1.Installation procédural|outline 5.1 Installation procédural][#5.1.Installation procédural|outline e][#5.1.Installation procédural|outline ]») une référence rapide à cette installation ainsi que les valeurs des différents paramètres utilisés durant l'installation.Avertissement
Pour une installation simple et rapide d'une application test sur un poste de travail, il est fortement conseillé d'utiliser la version exécutable qui vous a été livrée ou la version exécutable de Pleade téléchargeable sur le site de Pleade, et de suivre la documentation qui lui est associée. Tous les détails fournis ici ne sont pas utiles pour installer Pleade sur un poste de travail, ils concernent d'abord et avant tout l'installation sur un serveur, à des fins de mise en production de Pleade.Les objectifs de ce document sont :
- expliquer quelles sont les composantes logicielles nécessaires à l'installation de Pleade et à quoi elles servent
- indiquer comment installer ces composantes logicielles
- indiquer comment installer les différents modules de Pleade
- indiquer quelles sont les opérations d'arrêt et de démarrage qui peuvent être nécessaires, ainsi que les données à sauvegarder
Dans cette documentation, on va retrouver fréquemment des localisations de fichiers ou de dossiers, fournis sous la forme d'un chemin fichier tel /usr/share/tomcat. Pour simplifier la rédaction et la mise à jour de ces chemins, nous allons utiliser une forme abrégée, en définissant une série de « variables » qui commencent par $ (par exemple $Tomcat). Lorsqu'on utilise ces variables dans le texte, elles représentent le dossier d'installation de la composante nommée, ou une information similaire.
| $PleadeDir | Dossier d'installation de Pleade |
| $PleadeDatadir | Le répertoire de stockage des données d'indexation de Pleade. L'emplacement est défini par un paramètre.
Par défaut, cet emplacement est $PleadeDir/module-eadeac/datadir |
| $BddPleade | Base de données où sont stockées les données d'indexation du moteur de recherche de Pleade |
| $EADXML | Dossier contenant les documents XML EAD. |
| $ImagesDir | Dossier contenant des répertoires d'images numérisées liées à des documents EAD |
| $PleadeURL | URL d'accès à l'application |
Les valeurs de ces variables pour l'installation de l'application Pleade sur le serveur de production sont données en annexe ([#5.1.Valeurs des variables|outline 5.1 Valeurs des variables]).
Architecture
[modifier | modifier le wikicode]Éléments
[modifier | modifier le wikicode]Pleade est une application en architecture Web ou trois tiers, développée selon la norme J2EE. Ainsi, elle s'appuie sur le langage Java. Tous les accès à l'application s'effectuent à l'aide d'un simple navigateur Web depuis tout poste de travail lié au serveur Pleade à l'aide d'un réseau de type Internet ou intranet.
Comme pour toute application de type J2EE, l'installation de Pleade consiste à mettre en place un serveur d'applications J2EE et à y déployer Pleade. Toutefois, cette installation de base doit être complétée par d'autres éléments ou composants, pour rendre le tout plus efficace ou pour apporter d'autres services.
Nous allons dans cette documentation distinguer trois types de composants :
- les fondements : éléments de base qui permettent l'installation de Pleade
- Une machine virtuelle Java<ref name="ftn2">Le site Web de Sun Java : http://java.sun.com/</ref>.
- Un serveur Web (HTTP) : Apache<ref name="ftn3">Le site Web du serveur Apache HTTP : http://httpd.apache.org/</ref> recommandé
- Un serveur d’applications J2EE : Tomcat<ref name="ftn4">Le site Web du serveur d'applications J2EE Apache Tomcat : http://tomcat.apache.org/</ref> recommandé.
- les compléments : éléments qui viennent compléter Pleade en offrant plus de souplesse ou de robustesse, voire de nouvelles fonctionnalités
- Un SGBD relationnel : PostgreSQL<ref name="ftn5">Le site Web du SGBDR open-source PostgreSQL : http://www.postgresql.org/</ref> recommandé.Ce SGBDR est notamment utilisé pour stocker certaines données de gestion liées à l’indexation.
- Un outil de traitement d'images : ImageMagick<ref name="ftn6">Le site Web d'ImageMagick : http://www.imagemagick.org/script/index.php</ref>.
- Un SGBD XML indispensable au fonctionnement du module Thesaurus<ref name="ftn7">Le module Thesaurus est un module commercial et n'est pas présent dans une application Pleade de base.</ref> de Pleade (ThesX)
- les modules : éléments propres à Pleade même
Tous ces éléments peuvent être installés sur un même serveur, mais plusieurs peuvent être répartis sur des serveurs différents. Cette documentation n'a pas pour objectif de préconiser une architecture plus qu'une autre.
L’installation de l'application e-archives consiste à installer et/ou configurer l’accès à ces différents composants, et ensuite installer et configurer l'application elle-même.
L'application e-archives propose trois accès représentant autant d'applications :
- Application Internet
- Application Intranet
- Application de pré-production
L'application Intranet est destinée à la salle de lecture.
Les applications Internet et Intranet font appel à la technique des « fermes d'applications » (cf. « [#3.4.Mise en place d'une ferme d'applications|outline 3.4 Mise en place d'une ferme d'applications ]»). Chaque ferme d'applications possède une application principale et une ou deux applications secondaires. L'ensemble des applications de la ferme partagent les mêmes index de recherche et la base de données SQL.
Ces trois applications, dites de « consultation », sont installées sur le même serveur (s730-pau.cg64.fr). Le service des images est effectué par le module Images de Pleade. Celui-ci a été déporté sur un autre serveur (s180-pau.cg64.fr).
À noter que l'application e-archives et tous ses composants fonctionnent sur différents systèmes d’exploitation. Différentes applications Pleade fonctionnent notamment de manière constante sur des plates-formes Linux (Mandriva, Gentoo, CentOs), Windows (Windows XP, XP 64 bits, Vista) et Mac (Leopard). En architecture 64 bits, il sera plus aisé d'installer et de maintenir un environnement Linux, le système d'exploitation MS Windows n'a pas encore atteint la maturité des systèmes Linux pour ce type d'architecture.
Les dossiers d'installation de ces différents composants, de même que les variables qui les représentent dans cette documentation, sont fournis dans le tableau suivant :
| $Java | Dossier d'installation de Java |
| $ServeurWeb | Dossier d'installation du serveur HTTP |
| $ServeurJ2EE | Dossier d'installation du serveur d'applications J2EE |
| $SGBDR | Dossier d'installation du SGBDR |
| $ImageMagick | Dossier d'installation d'ImageMagick |
| $eXist | Dossier d'installation du SGBD XML Exist |
Les valeurs de ces variables pour l'installation de l'application e-archives sur le serveur de production sont données en annexe ([#5.1.Valeurs des variables|outline 5.1 Valeurs des variables]).
Pré-requis
[modifier | modifier le wikicode]De nombreux environnements matériel et logiciel peuvent être utilisés pour déployer Pleade. Le plus important est que cet environnement doit permettre l'installation d'une machine virtuelle Java et toutes les composantes liées à Pleade doivent pouvoir y fonctionner correctement.
Par exemple, Pleade peut fonctionner sans problèmes dans des environnements Windows, Linux et Mac OSX. D'autres systèmes d'exploitation peuvent être utilisés, notamment les différentes variantes de UNIX.
D'un point de vue matériel, les ressources nécessaires dépendent de l'usage qui sera fait de l'application, des différents modules installés, de même que des éléments choisis et installés. L'élément le plus critique est la mémoire vive du serveur, de même que ses capacités de traitement multi-tâche, et ce en particulier si le module serveur d'images est utilisé. Des indications seront données dans les instructions liées à chaque élément ou module.
Mais en règle générale, le serveur sur lequel est installé l'application Pleade doit avoir :
- Un accès aux espaces de stockage où se trouvent les documents à publier ainsi que les documents associés (images, etc.).Cet accès est de type « système de fichiers » et il est en lecture seulement.
- Un accès à la base de données où sont stockées les données d'indexation du moteur de recherche de Pleade.Cette accès se fait par une connexion JDBC.
- Un accès à un espace de sauvegarde où stocker les sauvegardes de l'application ainsi que de ses données, des documents XML EAD, des images, etc.
Installation et configuration
[modifier | modifier le wikicode]Machine virtuelle Java
[modifier | modifier le wikicode]La machine virtuelle Java permet d’exécuter des applications Java sur un ordinateur. Le serveur d’applications et Pleade étant écrits en langage Java, une machine virtuelle est donc nécessaire.
NB : Nous recommandons fortement l'installation d'une machine virtuelle Sun. Les machines virtuelles libres (par exemple, « openJDK<ref name="ftn8">Site Web de OpenJDK : http://openjdk.java.net/</ref> ») sont susceptibles de poser des problèmes de compatibilité avec certaines librairies utilisées par Pleade (notamment FOP lors de la génération des PDF contenant des images au format PNG).
Les versions 1.5 et 1.6 de la machine virtuelle Java de Sun ont été testées. Une version 1.6 est toutefois fortement conseillée, pour de meilleures performances et de meilleurs outils de diagnostic.
InstallationPour installer la machine virtuelle Java, il faut télécharger les sources sur le site de Sun : http://java.sun.com/javase/downloads/index.jsp. Le fichier obtenu est un exécutable (on préfèrera le fichier « bin » au fichier « rpm »). Il faut le lancer pour démarrer la compilation automatique des sources. Le résultat est un dossier « jdk1.6.0_13 »<ref name="ftn9">Le nom du dossier peut différer suivant le numéro de version de la JVM. On préfèrera toujours télécharger la dernière version stable, qui, à l'heure de la rédaction de ce document, est la version 1.6.0_13.</ref> que l'on peut alors placer à l'endroit de son choix (par exemple : /opt/ jdk1.6.0_13).
$ ./jdk-6u13-linux-x64.bin
root# mv jdk1.6.0_13 /home/
root# chgrp {group} /home/jdk1.6.0_13
Il faut vérifier que la variable JAVA_HOME est bien définie et que $Java est bien dans le PATH. Si ce n'est pas le cas, il faut le faire. Ceci s'effectue grâce aux commandes suivantes<ref name="ftn10">Ces commandes dépendent de la distribution Linux installée sur le serveur. L'exemple donné est valable pour la distribution Gentoo.</ref>:
root# echo export JAVA_HOME="/home/jdk1.6.0_13" >> /etc/env.d/99local
root# echo export PATH=$JAVA_HOME/bin >> /etc/env.d/99local
root# env-update && source /etc/profile
Il faut également penser à régler les problèmes de droits d'accès à ce dossier et à ses fichiers.
Si tout est correct, la commande suivante devrait renvoyer des informations sur la machine virtuelle Java installée :
$ java -version
java version "1.6.0_11"
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) 64-Bit Server VM (build 11.0-b16, mixed mode)Pour installer la machine virtuelle Java de Sun sous Windows, on doit télécharger l'installateur depuis l'adresse http://java.sun.com/javase/downloads/. On doit choisir une version « Java Runtime Environment (JRE) » (mais une version « JDK » peut aussi fonctionner).
L'installation s'effectue à l'aide d'un assistant, les valeurs par défaut sont en général appropriées.== Serveur d'applications J2EE == Le serveur d'applications J2EE est l'environnement dans lequel les différents modules de Pleade s'exécutent. Il s'agit donc d'un élément important dans l'architecture globale.
Pleade est une application J2EE standard et peut donc fonctionner dans de nombreux serveurs d'applications J2EE. Des tests positifs ont été effectués avec les serveurs d'applications suivants : Tomcat, Jetty, Websphere, Jboss et Weblogic.
Dans tous les cas, il faut veiller :
- aux compatibilités de version avec Java
- la mémoire allouée au démarrage
- à connaître l'emplacement des fichiers logs. Par exemple pour Tomcat, ceux-ci sont normalement dans $ServeurJ2EE/logs, et le répertoire de travail dans $ServeurJ2EE/work, racine des dossiers temporaires utilisés par les applications.
N.B. : Dans cette documentation, seule l'installation de Tomcat (logiciel que nous recommandons) est documentée.=== Apache Tomcat === Pleade peut fonctionner dans un environnement Tomcat en version 5 ou 6. Nous documentons ici l'installation de la version 6, l'installation d'une version 5 étant relativement similaire. Tomcat 6 peut être téléchargé depuis cette page : http://tomcat.apache.org/download-60.cgi.
L'application e-archives a été testée avec les version 6.0.20 de Tomcat.
Installation
Il existe un installateur de Tomcat pour Windows, et nous recommandons de l'utiliser. L'installation est effectuée à l'aide d'un assistant. Les options à choisir sont les suivantes :
- choix des composants : installation « custom », en sélectionnant uniquement « Tomcat > Core »
- dossier d'installation à préciser
- port HTTP à préciser (8080)
- code et mot de passe administrateur à préciser
- sélectionner le Java installé dans une étape précédente, celui devrait vous être proposé
Une fois l'assistant exécuté, il faut terminer l'installation manuellement : supprimer les dossiers $ServeurJ2EE/webapps/examples ainsi que $ServeurJ2EE/webapps/host-manager. Ces deux applications livrées avec Tomcat ne sont pas nécessaires pour Pleade et surchargent le serveur d'applications inutilement.
Ensuite, pour configurer le serveur, on doit exécuter l'application de configuration du service : $ServeurJ2EE/bin/tomcat6w.exe (dans le dossier d'installation). Dans les différents onglets, on peut modifier :
- « General » : utiliser le mode de démarrage « Automatic »
- « Java » : préciser une valeur raisonnable pour les paramètres « Initial memory pool » et « Maximum memory pool », valeur qui doit être suffisamment élevée pour permettre la publication de documents volumineux et qui ne doit pas dépasser la mémoire vive disponible sur le serveur. En cas de doute et pour un serveur avec au moins 1Go de mémoire, utiliser 800Mo.
Si jamais le service refuse de démarrer, on peut appliquer la recette donnée à l'adresse http://issues.apache.org/bugzilla/show_bug.cgi?id=41538, note 8, qui consiste à copier le fichier $Java/bin/msvcr71.dll dans le dossier C:/windows/system32. Cela est dû à une erreur de l'installateur Java.== Serveur Web (HTTP) == Un serveur Web ou HTTP est utilisé pour servir les requêtes provenant des navigateurs Web. Il sert d'entremetteur entre le navigateur et l'application Pleade exécutée dans l'environnement J2EE. Cet élément est obligatoire, mais il est important de réaliser que la plupart des serveurs d'applications J2EE, dont ceux utilisés pour Pleade, viennent avec leur propre serveur HTTP. L'installation d'un serveur HTTP autonome est donc facultative, mais recommandée pour plus de robustesse et dans le cas où le même serveur héberge d'autres applications.
Ainsi, le serveur Web ou HTTP doit répondre aux requêtes envoyées par les navigateurs Web sur le port 80 (port par défaut, mais d’autres ports peuvent être utilisés). Selon la requête, il va soit la servir directement (dans le cas d’un fichier statique) ou la passer à un serveur d’applications qui effectuera les traitements nécessaires et qui retournera la réponse au serveur HTTP, qui la relaie au navigateur.
N.B. : Le serveur HTTP Apache est le plus utilisé. Dans cette documentation, seule l'installation de ce serveur est documentée.
InstallationNous documentons l'installation de la version 2.0.14 de Apache pour Windows. On peut télécharger un installateur à partir de cette adresse : http://httpd.apache.org/download.cgi .
L'installation s'effectue à l'aide d'un assistant. Les options à choisir sont les suivantes :
- Domaine : nom de domaine du serveur (par exemple pleade.com)
- Nom du serveur : adresse complète du serveur (par exemple demo.pleade.com)
- Adresse de l'administrateur : l'adresse courriel d'un administrateur du serveur
- Installer pour tous les utilisateurs, comme un service, sur le port 80
- Type d'installation « Custom »
- Installer uniquement « Apache Runtime »
- Choisir le dossier d'installation
A la fin du processus, un service « Apache2 » est installé et démarré, avec un démarrage en mode automatique. Normalement, la configuration de base d'Apache est correcte.Sous Linux ou UNIX, Apache est en général déjà installé, si ce n'est pas le cas suivre la procédure appropriée en fonction du système d'exploitation et de la distribution utilisée.
L’installation n'est pas détaillée ici. Toute l'information est disponible à cette URL : http://httpd.apache.org/docs/2.2/.=== Redirection vers l'application Pleade === Il est toutefois intéressant de faire une redirection depuis la racine du site vers l'application Pleade, lorsque l'on souhaite que l'URL http://serveur/ amène directement à l'application Pleade. Pour ce faire, ajouter la ligne suivante à la fin du fichier $ServeurWeb/conf/httpd.conf du dossier d'installation de Apache :
RedirectMatch ^/$ http://serveur/pleade3/
À noter que dans cette ligne, le terme « serveur » doit correspondre à l'adresse visible du site et la partie « pleade3 » doit correspondre à l'adresse de l'application telle que servie par le serveur d'applications. Cette adresse est déterminée au moment d'installer les modules Pleade.=== Connecteur Apache / Tomcat === Si l'on utilise le serveur HTTP Apache avec Tomcat, il est nécessaire d'installer un connecteur entre ces deux composantes, de manière à ce que Apache dirige les requêtes pertinentes vers Tomcat, à l'aide d'un protocole réseau spécifique.Le connecteur « mod_jk »
La version 1.2.x du connecteur peut être téléchargée depuis le site Web des connecteurs pour Tomcat, à l'adresse http://tomcat.apache.org/download-connectors.cgi. Pour Windows, prendre la dernière version binaire disponible, et récupérer le fichier .so qui correspond à la version de Apache, par exemple mod_jk-apache-2.0.29.so.
Des applications Pleade ont été testées avec les versions version 1.2.2x de mod_jk.
InstallationL'installation du connecteur se fait uniquement en copiant ce fichier dans le dossier $ServeurWeb/modules.Sur Linux, il est recommandé de procéder à l'installation depuis les sources. L'installation sur le serveur de production a nécessité la série de commandes suivantes :
root# wget "http://apache.multidist.com/tomcat/tomcat-connectors/jk/source/jk-1.2.26/tomcat-connectors-1.2.26-src.tar.gz"
root# tar xzmf tomcat-connectors-1.2.26-src.tar.gz
root# cd tomcat-connectors-1.2.26-src/native
root# find /usr -name apxs
/usr/local/apache/bin/apxs
root# ./configure –with-apxs=/usr/local/apache/bin/apxs
root# make
root# make installFichier $ServeurWeb/conf/httpd.conf
Ensuite, il faut modifier le fichier $ServeurWeb/conf/httpd.conf pour ajouter ces lignes :
LoadModule jk_module modules/mod_jk-apache-2.0.29.so
<IfModule mod_jk.c>
JkWorkersFile conf/workers.properties
JkMount /* pleade3
</IfModule>
Dans les lignes précédentes, la commande JkMount /* pleade3 indique à Apache de passer toutes les requêtes à Tomcat, sur le connecteur nommé pleade3. Cela correspond à une installation à la racine de Pleade dans l'environnement J2EE, mais pour une installation dans un dossier spécifique, il est possible de modifier /* pour /pleade par exemple. Dans ce cas, ce sont les requêtes dont l'adresse débute par /pleade qui seront passées à Pleade.
Fichier $ServeurWeb/conf/workers.properties
Enfin, il faut créer ce fichier, $ServeurWeb/conf/workers.properties et y mettre les lignes suivantes :
worker.list=pleade3
worker.pleade3.host=localhost
worker.pleade3.port=8009
worker.pleade3.type=ajp13
Les informations sur le serveur et le port peuvent être modifiées dans le cas où il ne s'agit pas d'une installation standard de Tomcat.
Une fois cette configuration réalisée, on doit ensuite redémarrer Apache (redémarrer le service correspondant) pour qu'elle soit prise en compte.==== Le module « proxy_pass » ==== Le serveur HTTP d'Apache propose dans sa version 2.2 une bonne alternative au « mod_jk » d'Apache Tomcat. Cette solution est aussi robuste et présente le grand avantage d'être plus simple à mettre en place (le module « proxy_pass » est très généralement inclus dans les distributions standards du serveur HTTP d'Apache). Son activation ne demande qu'à modifier le fichier de configuration du serveur HTTP comme indiqué ci-dessous :
# Chargement des modules necessaires
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
# Acces à l'application Pleade
ProxyPass /pleade ajp://localhost:9009/pleade
ProxyPassReverse /pleade ajp://localhost:9009/pleadeHôte virtuel
Il peut être intéressant de déclarer un hôte virtuel pour l'application e-archives. Dans ce cas, dans le fichier $ServeurWeb/conf/httpd.conf, il doit y avoir au moins les lignes suivantes :
#Application e-archives
<VirtualHost *:80>
ServerName localhost
# Activation de la connexion Apache HTTP / Tomcat
ProxyPass /pleade ajp://localhost:9009/e-archives
ProxyPassReverse /pleade ajp://localhost:9009/e-archives
</VirtualHost>=== Pages d'erreurs du serveur HTTP Apache === Pleade possède son propre mécanisme de page d'erreurs. Par contre, lorsque le serveur J2EE a des problèmes (par exemple il est arrêté ou la servlet de Pleade n'est pas démarrée), le mécanisme de page d'erreurs de Pleade est inutilisable. Dans de tels cas, c'est le serveur Web qui prend le relais. HTTP Apache possède un large éventail de messages d'erreur, en anglais dans toute distribution.Le but de cette section est d'expliquer le mécanisme de personnalisation des pages d'erreurs du serveur HTTP d'Apache.
- Activer l'internationalisation des erreurs
Pour cela, il faut modifier le fichier de configuration d'Apache « conf/httpd.conf » pour s'assurer que la ligne suivante est bien décommentée :
# Multi-language error messagesInclude conf/extra/httpd-multilang-errordoc.conf - Modifier l'aspect des pages XHTML
Apache construit ces pages XHTML d'erreur à partir de « templates » situés dans son sous-dossier « error/include ». Par défaut, il existe 3 « templates » :- top.html : le haut de page
- spacer.html : le milieu de page
- bottom.html : le bas de pageIl s'agit de pages XHTML standard. Il est possible de les modifier à sa convenance, y insérer des images, des liens, etc.
Attention, pour l'insertion d'images, le chemin est toujours relatif au dossier principal d'Apache. Ainsi pour un lien vers une image « logo.png » dans le dossier « error/include », on écrira le code XHTML suivant :
<img src="/error/include/logo.png" alt="Le logo de Pleade"/>
- Modifier éventuellement les messages
Les messages utilisés dans ces pages sont regroupés dans les fichiers « error/*.html.var ». Le fichier « contact.html.var » contient le message inclus par la ligne suivante dans les « templates » :
<!--#include virtual="../contact.html.var" -->
Les autres fichiers possèdent un nom explicite suivant le code d'erreur rencontré. Ainsi le fichier « HTTP_NOT_FOUND.html.var » contient-il le message d'erreur correspondant à un objet non trouvé.
Par exemple, pour modifier le message d'un objet non trouvé, il faut modifier ce fichier « HTTP » à la section de la langue qui vous intéresse :
Content-language: frContent-type: text/html; charset=ISO-8859-1Body:----------fr--<!--#set var="CONTENT_LANGUAGE" value="fr"--><!--#set var="TITLE" value="Ressource non trouvée !"--><!--#include virtual="include/top.html" -->La page que vous demandez n'existe pas.<br/><br/> <!--#if expr="$HTTP_REFERER" --> La référence sur <a href="<!--#echo encoding="url" var="HTTP_REFERER" -->">la page citée</a> semble être erronée ou perimée. Nous vous prions d'informer l'auteur de <a href="<!--#echo encoding="url" var="HTTP_REFERER" -->">cette page</a> de cette erreur. <!--#else --> Si vous avez tapé l'URL à la main, veuillez vérifier l'orthographe et réessayer. <!--#endif --><!--#include virtual="include/bottom.html" -->----------fr--
On remarquera ici que :- Il s'agit du message pour la langue française (Content-language: fr) ;
- Les commentaires XML débutant par un dièse « # » sont utilisé par Apache pour effectuer une sortie de message (« <!--#echo [...]--> ») ou une inclusion de fichier (« <!--#include [...]--> »).
Exemple de personnalisation
[modifier | modifier le wikicode][[Image:]]
L'exemple ci-dessus a été construit à partir des « templates » suivants :
- top.html
<!--#if expr="! $CONTENT_LANGUAGE"--><!--#set var="CONTENT_LANGUAGE" value="en"--><!--#endif--><!--#if expr="! $CHARACTER_ENCODING"--><!--#set var="CHARACTER_ENCODING" value="ISO-8859-1"--><!--#endif--><?xml version="1.0" encoding="<!--#echo var="CHARACTER_ENCODING" -->"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="<!--#echo var="CONTENT_LANGUAGE" -->"xml:lang="<!--#echo var="CONTENT_LANGUAGE" -->"><head><title><!--#echo encoding="none" var="TITLE" --></title><link rev="made" href="mailto:<!--#echo encoding="url" var="SERVER_ADMIN" -->" /><style type="text/css"><!--/*--><![CDATA[/*><!--*/ body { color: #000000; background-color: #FFFFFF; } a:link { color: #0000CC; } p, address {margin-left: 3em;} span {font-size: smaller;}/*]]>*/--></style></head><body> <div style="margin:0 auto;width:958px"> <div style="text-align:center"> <img src="/error/include/ad64_logo.png" alt="logo des Archives départementales des Pyrénées-Atalntiques"/> </div> <div style="text-align:center;"> <h1 style="border-bottom:1px solid #005582;color:#005582;font-family:'Arial','Helvetica',sans-serif;font-size:200%;font-weight:bold;margin:0;padding:.3em 0 .3em;background:transparent url(/error/include/e-archives.png) no-repeat;"><!--#echo encoding="none" var="TITLE" --></h1> <p style="color:black;font-family:Verdana,arial,sans-serif;font-size:77%;"> - spacer.html
Ce fichier a été entièrement vidé de son contenu. - bottom.html
</p> <p style="color:black;font-family:Verdana,arial,sans-serif;font-size:77%;"> <!--#include virtual="../contact.html.var" --> </p> </div> </body></html>
Les deux images « ad64_logo.png » et « e-archives.png » ont été ajoutées dans le dossier « error/include » directement.== Mise en place d'une ferme d'applications == Sur des installations de Pleade destinées à un large public, il est très intéressant de répartir la charge des requêtes utilisateurs sur une ferme d'applications constituée de plusieurs serveurs J2EE Apache Tomcat. Pour l'utilisateur final, il n'existe qu'une seule application Pleade, pour le serveur il en existe plusieurs. Le pilotage de la répartition des charges est effectué par le serveur Web HTTP d'Apache.
La mise en place de cette ferme d'applications implique l'installation de plusieurs serveurs J2EE Apache Tomcat et l'activation du module « proxy_balancer » du serveur HTTP d'Apache.
L'installation de plusieurs serveurs J2EE Apache Tomcat est identique à celle décrite plus haut. L'opération est donc à itérer suivant le nombre d'applications souhaitées dans la ferme. Par exemple, pour une ferme de trois Pleade, il faut installer trois serveurs J2EE Apache Tomcat.
Attention : il faut veiller à ce que chaque serveur J2EE Apache Tomcat utilise un ensemble de ports bien distincts.Sous Windows, il faut s'assurer que chaque serveur J2EE Apache Tomcat utilise un service distinct également.=== Les ports === Les ports se règlent dans le fichier $ServeurJ2EE/conf/server.xml de chaque serveur J2EE. Il faut y rechercher les ports actifs. Généralement, il y a quatre:
- Port d'arrêt
<Server port="13005" shutdown="SHUTDOWN"> - Port HTTP
<Connector port="13080" protocol="HTTP/1.1"connectionTimeout="20000"emptySessionPath="true"redirectPort="13443"/> - Port AJP
<Connector port="13009" ="AJP/1.3"emptySessionPath="true"redirectPort="13443"/> - Port de redirection
Il est à régler au niveau de chacun des protocoles supportés HTTP et AJP.
Les services Windows
[modifier | modifier le wikicode]Par défaut, l'installateur Apache Tomcat crée un service « tomcat6w » correspondant au nom du fichier $ServeurJ2EE/bin/tomcat6w.exe. Pour modifier le nom du service Windows, il faut utiliser le script $ServeurJ2EE/bin/service.bat. S'il ce fichier n'est pas présent dans votre distribution, il faut télécharger l'archive ZIP ou TAR.GZ (à la place de l'installateur Windows). Dans cette archive, il suffit de décompresser le fichier « bin/service.bat » et de le copier dans le répertoire $ServeurJ2EE/bin/.
La suppression du service Windows par défaut s'effectue en console via la ligne de commande :
$ServeurJ2EE/bin > service.bat remove tomcat6
The service 'tomcat6' has been removed $ServeurJ2EE/bin >
Avant d'utiliser le même script pour installer le nouveau service, il faut modifier le nom du fichier $ServeurJ2EE/bin/tomcat6w.exe qui devra refléter le nom du service. Par exemple, pour un service « tomcat6jvm1 », il faut renommer le fichier en : $ServeurJ2EE/bin/tomcat6jvm1.exe. Ensuite, on utilise la commande d'installation du service Windows :
$ServeurJ2EE/bin > service.bat install tomcat6jvm1
Installing the service 'tomcat6jvm1' ... Using CATALINA_HOME: "$ServeurJ2EE" Using CATALINA_BASE: "$ServeurJ2EE" Using JAVA_HOME: "C:\Program Files\Java\jre6" Using JVM: "C:\Program Files\Java\jre6\bin\server\jvm.dll The service 'tomcat6jvm1' has been installed." $ServeurJ2EE/bin >
La manipulation est à effectuer à l'installation de chaque serveur J2EE Apache Tomcat, avant l'installation du serveur J2EE suivant.=== Activation de la ferme d'applications === L'activation de la ferme d'applications doit s'effectuer auprès de chaque serveur J2EE Apache Tomcat ainsi qu'au niveau du serveur HTTP Apache qui le pilotera. Au niveau des serveurs J2EE, il faut déclarer un identifiant unique au sein de la ferme dans le fichier $ServeurJ2EE/conf/server.xml :
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
--> <Engine name="Catalina" defaultHost="localhost">
Ces lignes sont à modifier de manière à obtenir :
<!-- You should set jvmRoute to support load-balancing via AJP ie :-->
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
<!--<Engine name="Catalina" defaultHost="localhost">-->
Dans le cas illustré ici, l'identifiant unique est inscrit dans l'attribut « jvmRoute » et sa valeur est « jvm1 ». Le second serveur J2EE de la ferme devra donc présenter :
<!-- You should set jvmRoute to support load-balancing via AJP ie :-->
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2">
<!--<Engine name="Catalina" defaultHost="localhost">-->
soit un identifiant « jvm2 ».
La prise en charge de la ferme au niveau du serveur Web demande à modifier le fichier de configuration $ServeurWeb/conf/httpd.conf de cette manière :
LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.soLoadModule proxy_balancer_module modules/mod_proxy_balancer.soLoadModule proxy_http_module modules/mod_proxy_http.so# Echappemment des URL non traitees en ProxyPassProxyPass /balancer-manager !# Declaration de la ferme d'applicationsProxyPass balancer://cluster/e-archivesmaxattempts=1 lbmethod=byrequests stickysession=JSESSIONID<Proxy balancer://cluster> BalancerMember ajp://localhost:11009 smax=10 loadfactor=10 route=jvm1 retry=10 BalancerMember ajp://localhost:12009 smax=10 loadfactor=10 route=jvm2 retry=10 BalancerMember ajp://localhost:13009 smax=10 loadfactor=12 route=jvm3 retry=10</Proxy>
Dans l'exemple de fichier de configuration ci-dessus, on illustre le cas d'une ferme de trois applications e-archives, donc servies par trois serveurs J2EE Apache Tomcat : « jvm1 », « jvm2 », « jvm3 ». Ces serveurs J2EE sont tous situés sur la même machine que le serveur Web et répondent à des ports AJP distincts, respectivement : 11009, 12009, 13009.== SGBD relationnel == Le module EAD-EAC de Pleade peut s'appuyer sur un système de gestion de bases de données relationnelles (SGBDR) pour y stocker des informations nécessaires aux fonctions de recherche de Pleade. Ces informations sont de différente nature :
- les différentes parties des documents EAD ou EAC publiés à l'aide du module, afin de pouvoir les afficher
- des informations de gestion stockées par le moteur de recherche, pour associer les documents avec ses éléments internes
Pleade gère entièrement les données stockées dans le SGBD, aucune intervention externe n'est nécessaire ni documentée. De plus, Pleade n'a besoin que d'une base de données vide pour travailler, il va créer seul toutes les structures nécessaires.
L'utilisation d'un SGBDR est optionnelle mais très fortement conseillée dans le cas d'une installation de Pleade sur un serveur de production. Elle permet de fiabiliser l'accès aux données par le moteur de recherche. L'utilisation ou non d'un SGBDR est déterminée par les paramètres de l'application, qui sont documentés dans la partie sur l'installation des différents modules.
Le SGBDR peut être installé sur le même serveur que les modules Pleade, ou encore sur un serveur distinct, du moment que celui-ci soit accessible par le réseau. L'utilisation d'un serveur distinct n'augmente pas nécessairement les performances. En effet, puisque le SGBDR sert essentiellement au stockage, la quantité de CPU nécessaire n'est pas très importante, et le fait de le déporter sur un serveur distinct ralentit légèrement les opérations de stockage et de lecture des données.
Nous recommandons l'utilisation de PostgreSQL, mais Pleade est capable d'utiliser d'autres logiciels : MySQL, Oracle, HSQL, MSSQL. Des applications Pleade sont déjà en production avec les SGBDR suivants : Oracle en version 9 ou 10, PostgreSQL en version 8, MySQL en version 4 et 5.
Instructions communes à tous les SGBDR
Pour utiliser un SGBDR, Pleade doit avoir accès à une base de données. Il s'agit du seul pré-requis, et il est commun à l'ensemble des SGBDR utilisés.
La base de données doit donc être créée, et un utilisateur ayant accès à cette base de données doit être créé. Les permissions à donner doivent permettre à cet utilisateur de créer et modifier des tables, et de modifier les données dans ces tables.=== Installation de MySQL === Nous documentons ici l'installation de la dernière version 4 de MySQL, soit la version 4.1.22. On peut la télécharger depuis le site http://dev.mysql.com/downloads/mysql/4.1.html, en choisissant la version «Windows Essentials ».
L'installation de MySQL s'effectue à l'aide d'un assistant. Au cours du processus, on doit faire attention aux options suivantes :
- Type d'installation : « Custom ».
- Dossier d'installation : il peut être quelconque, mais il est préférable de le noter car on doit aller modifier un fichier de configuration dans ce dossier.
Une fois l'exécution de l'assistant d'installation terminée, un autre assistant, pour la configuration du serveur, sera lancé. Les paramètres à prendre en compte sont :
- Type de configuration : « Detailed ».
- Type de serveur : « Server machine ».
- Usage : « Multifunctional Database ».
- Jeu de caractères par défaut : « Best support for multilingualism ».
- Inclure le dossier « bin » dans le « PATH » : oui (ce n'est pas essentiel, mais cela facilite beaucoup le support et la maintenance).
- Mot de passe « root » : choisir un mot de passe et le noter. Il ne sera pas utilisé par Pleade mais il servira pour la configuration et l'ajout éventuel d'autres bases de données ou applications.
- Nom du service : il est recommandé de choisir un nom qui contient le numéro de version, afin de faciliter la gestion des services, par exemple « MySQL_4_1_22 »
Une fois ce deuxième assistant exécuté, l'installation est terminée.Son installation dans un environnement Linux n'est pas détaillée ici.Fichier $SGBDR/my.ini
Maintenant, il faut procéder à quelques ajustements par rapport à la configuration par défaut de MySQL. Dans le fichier de configuration $SGBDR/my.ini, ajouter la ligne suivante dans la section « mysqld » :
max_allowed_packet=100M
Création de la base de données pour Pleade
Il faut ensuite créer une base de données pour Pleade, puis créer un utilisateur qui aura des droits d'écriture dans cette base. Pour ce faire, on peut utiliser les commandes suivantes avec le client MySQL :
create database [nom_base];
grant ALL PRIVILEGES on [nom_base].* to '[code]' identified by '[mdp]';
flush privileges;
Si jamais un message d'erreur dans les logs indique que la connexion avec MySQL ne se fait pas, on peut essayer de lancer la commande suivante :
set password for '[code]'@'%' = OLD_PASSWORD('[mdp]');
À noter que dans les lignes précédentes, [nom_base] représente le nom de la base de données, [code] le code utilisateur et [mdp] ; on doit bien entendu modifier ces lignes pour tenir compte des bonnes informations.== Outil de traitement d'images ImageMagick == Cet élément est optionnel. Il est utile uniquement si le module serveur d'images de Pleade est utilisé, et dans ce cas uniquement si l'on souhaite effectuer des traitements sur les images à la volée (redimensionnement, rotation, etc.).
Il doit nécessairement être installé sur le même serveur que le module serveur d'images de Pleade. De plus, les images servies par ce module doivent être accessibles sur ce serveur sous la forme de fichiers, que ces fichiers soient sur un disque local ou réseau (partage, NFS, ...).
Si des images volumineuses doivent être traitées (par exemple des images issues de la numérisation d'un cadastre napoléonien), il est recommandé de prévoir un serveur où la mémoire vive est disponible en quantité suffisante ; plusieurs Go peuvent être utiles si plusieurs utilisateurs simultanés sont connectés et demandent des traitements d'images. À noter que la mémoire vive utilisée par ImageMagick est indépendante de celle utilisée par Pleade lui-même, allouée par Java.
Par ailleurs, si de nombreux traitements en simultané sont lancés, il est aussi nettement préférable d'installer le serveur d'images, et donc ImageMagick, sur un serveur où plusieurs processeurs ou cœurs sont disponibles, afin de faciliter les traitements en parallèle, fortement utilisés.
La version 6.3 ou supérieure de ImageMagick doit être utilisée avec Pleade. Dans le cas d'une nouvelle installation, il est fortement recommandé de télécharger la dernière version utilisée. ImageMagick est distribué en une version à 8 bits ou 16 bits, cette dernière permettant de traiter des images avec un plus grand nombre de couleurs. Cela peut paraître intéressant, mais ces images sont plutôt rares et l'utilisation de cette version augmente les besoins en mémoire. Nous recommandons donc la version 8 bits.
Les applications Pleade ont été testées avec les versions 6.2.x et 6.3.x.
InstallationSous Windows, ImageMagick est distribué en version dynamique (DLL) ou en version statique. La version dynamique prend moins de mémoire lorsque plusieurs instances sont lancées, mais cela a peu d'impact si les images sont de taille assez volumineuse. Nous recommandons toutefois la version DLL ou dynamique.
Une fois le logiciel téléchargé depuis http://www.imagemagick.org/script/binary-releases.php#windows, l'installation est effectuée à l'aide d'un assistant. Les options à choisir sont les suivantes :
- Dossier d'installation : il est fortement conseillé de choisir un dossier dont le chemin complet ne comporte aucun espace ou caractères non « standards ». À noter qu'il est nécessaire de bien noter le dossier choisi car il sera utilisé lors du paramétrage du module serveur d'images de Pleade.
- Tâches additionnelles : sélectionner uniquement l'option « Update executable search path ». Cela permet de rendre les différents outils ImageMagick directement accessibles en mode ligne de commande, sans saisir le chemin complet. Ce n'est pas essentiel pour Pleade, mais cela peut s'avérer utile pour tester.
L'installation occupe environ 16,5Mo. Aucune configuration supplémentaire n'est à effectuer.Il est recommandé de procéder à l'installation de ImageMagick sous Linux à partir des paquets (RPM ou autre) de la distribution Linux. Il est possible de l'installer à partir des sources ; la procédure est expliquée à cette adresse : http://www.imagemagick.org/script/install-source.php#unix.
En résumé, l'installation peut se faire en exécutant les commandes suivantes :
root# wget "ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz"
root# tar xzf ImageMagick.tar.gz
root# cd ImageMagick-6.3.8
root# ./configure
root# make
root# make installCommande convert
Il faut que la commande convert soit dans le PATH : dans une console, la commande suivante devrait renvoyer la version du logiciel :
$ convert -version
Version: ImageMagick 6.2.8 04/17/08 Q16 file:/usr/share/ImageMagick-6.2.8/doc/index.html
Copyright: Copyright (C) 1999-2006 ImageMagick Studio LLC
Si ce n'est pas le cas, il faut l'ajouter. Ceci se fait de différentes manières selon les caractéristiques du système d'exploitation.Si cette commande ne répond pas, cela signifie qu'elle n'est pas dans le PATH et donc il faut l'ajouter. Pour cela, en root, exécuter les commandes suivantes<ref name="ftn11">Ces commandes peuvent dépendre de la distribution Linux : ici, il s'agit des commande pour la Gentoo.</ref> :
root# echo export PATH=$PATH:{MAGICK_HOME}/bin >> /etc/env.d/99local
root# env-update && source /etc/profile
où {MAGICK_HOME} représente le répertoire d'installation d'ImageMagick ($ImageMagick)Test de bon fonctionnement
Une fois que la commande convert répond, pour contrôler le bon fonctionnement du logiciel, il suffit de saisir la commande suivante dans une console qui devrait renvoyer une image :
convert logo: logo.gif
Si ce n'est pas le cas (la version du logiciel ne doit pas correspondre à l'architecture du serveur), il faut créer la variable d'environnement LD_LIBRARY_PATH et lui donner comme valeur l'emplacement des libraires pour une machine en 64 bits.== SGBD XML eXist == Ce système de gestion de bases de données XML est nécessaire uniquement si le module ThesX est installé. Il sert de stockage structuré pour les thésaurus.
eXist est une application Java qui doit être démarrée comme un service autonome. Elle attend des requêtes sur des ports qui sont paramétrables.
Installation
Pour installer eXist, il suffit de télécharger les sources et de les installer à l'emplacement choisi.
L'installation s'effectue à l'aide d'un fichier .jar téléchargé depuis le site http://exist-db.org. Il faut choisir la version 1.2 ou supérieure.On peut installer le serveur en « exécutant » le fichier téléchargé (en double-cliquant dessus) ou avec la commande :
java -jar {fichier}.jar.La série de commandes ci-dessous permet l'installation dans le répertoire $eXist.
wget "http://prdownloads.sourceforge.net/exist/eXist-setup-1.2.0-rev7233.jar"
mkdir $eXist
java -jar eXist-setup-1.2.0-rev7233.jar -p $eXistAu moment de l'installation, un code et un mot de passe administrateur doivent être mentionnés et ils doivent être notés.
DémarrageeXist doit être démarré avec le fichier $eXist/bin/server.bat. On peut modifier le fichier ou insérer des paramètres dans la ligne de commande afin d'effectuer les modifications suivantes, si souhaitable :
- Modifier le port d'écoute (par défaut le 8088) en ajoutant un paramètre -p dans la ligne de commande de démarrage, par exemple bin/server.bat -p 9000.
eXist doit être démarré avec le fichier $eXist/bin/server.sh. On peut modifier le fichier ou insérer des paramètres dans la ligne de commande afin d'effectuer les modifications suivantes, si souhaitable :
- Modifier le port d'écoute (par défaut le 8088) en ajoutant un paramètre -p dans la ligne de commande de démarrage, par exemple bin/server.sh -p 9000.
- Ajouter la ligne suivante pour modifier les options de démarrage
JAVA_OPTIONS="-Xmx300m -Djava.awt.headless=true -Dfile.encoding=UTF-8"
Les logs
Pour modifier le niveau d'informations dans les logs, il suffit, dans le fichier $eXist/log4j.xml, de mettre les logs à INFO ou ERROR.
Stockage des données
Pour indiquer à quel endroit eXist stocke ses données, il faut modifier le fichier $eXist/conf.xml. Dans ce fichier, il faut repérer ces lignes :
journalDir="webapp/WEB-INF/data/journal"
files="webapp/WEB-INF/data"
journal-dir="webapp/WEB-INF/data"
Il faut les modifier en donnant, par exemple, le chemin absolu vers le dossier de stockage des données.== L'application e-archives == L'application e-archives est livrée sous la forme d'une archive compressée (format ZIP) prête à l'emploi. Cela signifie que cette archive contient une application J2EE qui peut être déployée dans un serveur d'applications J2EE, ce dernier étant supposé déjà installé.
À noter que l'archive contient normalement uniquement les modules pertinents pour l'application e-archives.
Dans ces instructions, nous ne prenons pas en considération le chargement des données initiales.
Pour mettre en fonctionnement l'application e-archives, il suffit donc d'une part d'effectuer l'installation, puis le paramétrage nécessaire et ensuite de déployer l'application dans le serveur d'applications.
Installation
[modifier | modifier le wikicode]Pour l'installer, il faut donc décompresser l'archive livrée dans le dossier $PleadeDir.
Paramétrage
[modifier | modifier le wikicode]Le paramétrage de Pleade est décrit dans le manuel Paramétrage.
Déploiement
[modifier | modifier le wikicode]Le déploiement consiste à faire connaître l'application Pleade à l'environnement J2EE. La méthode utilisée va donc dépendre du serveur d'applications J2EE utilisé.
Nous donnons ici des indications de base pour certains serveurs d'applications. Dans tous les cas, il est conseillé de consulter la documentation de ces serveurs pour réaliser un déploiement robuste, sécuritaire et fiable.==== Déploiement sous Tomcat ==== Il existe différentes façons de déployer une application avec Tomcat. On peut notamment utiliser son interface « manager », mais cette approche n'est pas documentée ici.
Déploiement dans le dossier webapps
On peut déployer Pleade dans le dossier de déploiement standard de Tomcat, soit le dossier $ServeurJ2EE/webapps.
Pour ce faire, il suffit de copier le dossier $PleadeDir dans le dossier $ServeurJ2EE/webapps, et de lui donner un nom qui correspond à l'adresse URL souhaitée pour cette application. Il est fortement conseillé de le faire lorsque Tomcat est arrêté, puis de le démarrer ensuite.
Par exemple, pour un accès par l'URL http://serveur/pleade, on doit avoir un dossier pleade dans le dossier webapps. Pour un déploiement à la racine (donc http://serveur/), on doit nommer le dossier ROOT.
Déploiement par un fichier de déploiement
On peut aussi déployer une application depuis n'importe quel dossier accessible sur le serveur. Pour cela, il suffit de créer un fichier XML nommé {url}.xml et placé dans le dossier $ServeurJ2EE/conf/Catalina/localhost.
Par exemple, pour déployer à l'URL http://serveur/pleade, on doit avoir dans $ServeurJ2EE/conf/Catalina/localhost/ un fichier XML nommé pleade.xml.
Dans ce fichier, il suffit d'avoir ces lignes :
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="$PleadeDir"/>
L'attribut docBase doit contenir le chemin complet du dossier où se trouve Pleade, soit $PleadeDir.==== Déploiement sous Websphere ==== Le déploiement sous Websphere peut se faire de différentes manières. Nous documentons ici la méthode qui utilise la console d'administration de Websphere Application Server, version 6.1.
Il convient d'abord de créer un fichier .war en compressant le dossier livré et paramétré. On peut ensuite déployer l'application en fournissant ce fichier .war dans l'interface d'administration.
Ensuite, en terme de paramétrage, le point important concerne le chargement des classes, où il faut choisir :
- Classes chargées en premier avec un chargeur de classes d'application
- Chargeur de classes unique pour l'application
Déploiement sous Weblogic
[modifier | modifier le wikicode]Pour un déploiement sous Weblogic, il est nécessaire de fournir un fichier $ServeurJ2EE/WEB-INF/weblogic.xml qui contient les éléments suivants :
<?xml version="1.0"?>
<weblogic-web-app>
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
<context-root>/pleade3</context-root>
</weblogic-web-app>
Dans ce fichier, l'élément context-root peut bien entendu être ajusté.== Le serveur IIP == Le serveur IIP permet au module Images de Pleade d'afficher des images pyramidales dans sa visionneuse d'images. Cette technologie a pour but de mettre à disposition sur Internet des images dont la taille est normalement incompatible avec la navigation Web. Généralement, il s'agit d'images de cadastre dont le poids dépasse les 10 Mo.
Cette section décrit l'installation de ce serveur IIP et la configuration du module Images de Pleade.
Pré-requis
[modifier | modifier le wikicode]Le serveur IIP fonctionne avec un serveur Web. Son installation et son utilisation avec Pleade ont été validées avec le serveur HTTP d'Apache version 2.2.x. Il peut être installé indifféremment sous Windows et sous Linux.
Les images pyramidales servies par le serveur IIP doivent être sur le même lecteur que le serveur. Sous Linux, ceci ne pose aucun problème.==== Montage de disques dans un dossier NTFS ==== Sous Windows, cela implique que les images pré-traitées soient toutes sur le même lecteur que le serveur IIP. Si les images doivent impérativement être stockées sur un autre lecteur (un disque différent ou un SAN par exemple), il est possible de monter le disque contenant les images dans un dossier du disque principal. Pour cela, il faut utiliser l'interface de gestion des disques de Windows (Panneau de configuration > Outils d'administration > Gestion de l'ordinateur > Gestion des disques). Sélectionner le disque que l'on souhaite monter et activer la commande Action > Toutes les tâches > Modifier la lettre du lecteur et les chemins d'accès. Cliquer sur le bouton « Ajouter », puis à l'aide de l'interface « Parcourir », sélectionner le dossier du disque principal dans lequel on souhaite monter le disque cible.
Il est également possible de monter un dossier réseau sur un disque du serveur principal à l'aide de la commande :
net.exe USE E: \\ordinateur-distant-accessible\disque-cible /PERSISTENT:YES
Pour que ce montage soit toujours disponible, il faut créer un fichier BATCH dans lequel on collera la commande ci-dessus (après remplacement des valeurs correctes pour « ordinateur-distant-accessible » et « disque-cible »). Ensuite, il faut créer une tâche planifiée qui exécutera ce script BATCH à chaque démarrage de la machine. La tâche doit être exécutée pour le compte de l'utilisateur « NT AUTHORITY\SYSTEM ».=== Installation du serveur IIP === La distribution du serveur IIP est téléchargeable à cette adresse : http://iipimage.sourceforge.net/download.shtml. Il faut copier le contenu de l'archive dans le dossier « cgi-bin » du serveur HTTP, de manière à obtenir l'arborescence suivante :
$ServeurWeb|+- cgi-bin | +- fcgi.dll +- iipsrc.fcgi +- jpeg62.dll +- libtiff3.dll +- zlib1.dll
Le serveur IIP est une application FCGID. Il faut donc installer le module FCGID du serveur HTTP d'Apache. Ce dernier est téléchargeable à cette adresse : http://apache.skazkaforyou.com/httpd/binaries/win32/mod_fcgid-2.3.4-win32-x86.zip, ou encore à cette adresse : http://www.apachelounge.com/download/.
Paramétrage du serveur IIP
[modifier | modifier le wikicode]Le paramétrage du serveur IIP revient à modifier la configuration du serveur Web afin d'activer le module FCGID installé plus haut et de faire reconnaître le serveur IIP par ce même module.
- Modifier le fichier de configuration du serveur HTTP d'Apache (fichier : $ServeurWeb/conf/httpd.conf). A la fin de la section de chargement des modules, ajouter la prise en compte des fichiers de configuration alternatifs que contient le dossier $ServeurWeb/conf.d :
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#Ajouter la prise en charge des fichiers de configuration supplementairesInclude conf.d/*.conf
Après avoir créé le dossier $ServeurWeb/conf.d, créer les fichiers suivants avec les contenus indiqués :
- Fichier $ServeurWeb/conf.d/fcgid.conf
# Fichier de configuration du module FastCGI
LoadModule fcgid_module modules/mod_fcgid.so
# Activer la prise en charge des fichiers .fcg .fcgi et .pl, seulement s'il n'y a pas de module
# mod_fastcgi
<IfModule !mod_fastcgi.c>
AddHandler fcgid-script fcg fcgi pl </IfModule>
- Fichier $ServeurWeb/conf.d/iipsrv.conf
# Fichier de configuration du serveur IIP Images Server
# VERBOSITY The level of logging. 0 means no logging, 1 is minimal logging, 2 lots of debugging
# stuff and 3 even more debugging stuff and 4 a very large amount indeed ;-) Logging is only # enabled if LOGFILE has also been defined.
DefaultInitEnv VERBOSITY "1"
# LOGFILE The log file the module will (attempt) to write to. If no value is given, no log will
# be written. Make sure the server process has write access to this directory. Paths with spaces # in them may not work correctly.
DefaultInitEnv LOGFILE "$ServeurWeb/logs/iipsrv.log"
# MAX_IMAGE_CACHE_SIZE Max image cache size to be held in RAM in MB. This is a cache of the
# compressed JPEG image tiles requested by the client. The default is 5MB.
DefaultInitEnv MAX_IMAGE_CACHE_SIZE "250"
# JPEG_QUALITY The default JPEG quality factor for compression when the client does not specify
# one. The value should be between 1 (highest level of compression) and 100 (highest image # quality). The default is 75.
DefaultInitEnv JPEG_QUALITY "50"
# DECODER_MODULES External modules for decoding other image formats. This is only necessary if
# you have activated --enable-modules for ./configure and written your own image format # handler(s).
# FILENAME_PATTERN Pattern that follows the name stem for a panoramic image sequence. eg: "_pyr_"
# for FZ1_pyr_000_090.tif. In this example, just supply FZ1 to the FIF command. The "000" # indicates the vertical angle and "090" the horizontal. This is only relevent to 3D image # sequences. The default is "_pyr_".
# MAX_CVT The maximum permitted image pixel size returned by the CVT command in conjunction with
# WID or HEI or RGN. The default is 5000. This prevents huge requests from overloading the # server.
DefaultInitEnv MAX_CVT "3000"
# Define the idel timeout as unlimited and the number of processes we want
IdleTimeout -1
DefaultMaxClassProcessCount 1
- Fichier $ServeurWeb/conf.d/pleade.conf
# Fichier de configuration Pleade
# Chargement des modules necessaires
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so
# Activation du Rewrite et du ProxyStatus
ProxyStatus On
RewriteEngine On
# Acces aux serveur d'images de Pleade
ProxyPass /pleade ajp://localhost:9009/pleade
ProxyPassReverse /pleade ajp://localhost:9009/pleade
Tester le serveur IIP
[modifier | modifier le wikicode]Pour tester l'installation du serveur IIP, il faut ouvrir un navigateur Web à l'URL : http://127.0.0.1/cgi-bin/iipsrv.fcgi. On doit avoir une page semblable à la copie d'écran suivante :
[[Image:]]
Pour tester l'affichage d'une image pyramidale directement avec le serveur IIP, il faut utiliser une URL correspondant au patron suivant :
http://127.0.0.1/cgi-bin/iipsrv.fcgi?FIF={Chemin complet d'un image pyramidale}&CVT=jpeg
Cette URL affiche la version complète de l'image pyramidale TIF convertie au format JPEG lisible par le navigateur Web.
Attention : Le chemin complet de l'image pyramidale doit impérativement être sur le même disque que le serveur Web. Le serveur IIP n'est pas capable de prendre en charge une image pyramidale située sur un autre lecteur. Par exemple, si le serveur Web est installé sur le lecteur « C: », le serveur IIP ne saura pas afficher une image pyramidale située sur le lecteur « E: ».
Par exemple, l'URL : http://127.0.0.1/cgi-bin/iipsrc.fcgi?FIF=C:\img-preparees\hidef\cadastre\0557_A1.JPG.tif&CVT=jpeg renvoie la page suivante :
[[Image:]]
Configuration du module Images de Pleade
[modifier | modifier le wikicode]L'activation du serveur IIP dans Pleade est très simple. Il suffit de modifier le fichier « image-transformation-rules.xml » pour activer le format « hidef » :
<?xml version="1.0"?><regles>
<regle largeur=">60" hauteur=">60">
<miniature role="miniature" largeur="60" hauteur="60"/>
</regle>
<regle largeur=">150" hauteur=">150">
<vignette role="vignette" largeur="150" hauteur="150"/>
</regle>
<regle largeur=">2000" hauteur=">2000">
<image role="default" label="Plein format" largeur="1000"/>
</regle>
<regle><hidef role="hidef" existe="hidef/cadastre"/></regle>
</regles>Dans l'exemple ci-dessus, on vient de déclarer qu'il existe une version pyramidale des images du cadastre et qu'elle se situe dans un sous-dossier « hidef/cadastre » situé dans le dossier des images pré-traitées. Ce dernier étant indiqué dans le fichier WEB-INF/properties/pleade-admin.properties, au niveau du paramètre « pleade.images.preparees ». Par exemple, si la propriété « pleade.images.preparees » vaut « C:\img-preparees » alors les images pyramidales se situent dans le dossier « C:\img-preparees\hidef\cadastre ».
Pour tester l'affichage des images pyramidales dans la visionneuse de Pleade, il faut utiliser une URL correspondant au patron suivant : http://127.0.0.1/pleade/img-viewer/{dossier des images sources}/iipviewer.html. Par exemple, l'URL http://127.0.0.1/pleade/img-viewer/CADASTRE/0557/iipviewer.html renvoie la page suivante :
[[Image:]]== L'application de statistiques AWStats == AWStats<ref name="ftn12">Le site officiel d'AWStats : http://awstats.sourceforge.netLa documentation d'installation officielle d'AWStats : http://awstats.sourceforge.net/docs/awstats_setup.html</ref> est une application de statistiques de consultation d'un site Web. Ce logiciel est disponible sous Linux comme sous Windows. Cette section ne documente pas l'installation sous Linux.=== Installation de Perl === L'installation d'AWstats sous Windows nécessite l'installation préalable d'un moteur Perl, téléchargeable à cette adresse : http://www.activestate.com/activeperl/downloads/. Il s'agit d'un installateur Windows qui facilite grandement l'installation de Perl que nous illustrons par la suite de copies d'écran suivantes :
[[Image:]]
[[Image:]]
[[Image:]]
[[Image:]]
[[Image:]]
Tester l'installation de Perl
[modifier | modifier le wikicode][[Image:]]
Si le test ci-dessus ne fonctionne pas, il faut modifier le PATH manuellement pour y ajouter le chemin d'installation de Perl (dans notre exemple : C:\Perl64\site\bin;C:\Perl64\bin).
Installation d'AWStats
[modifier | modifier le wikicode][[Image:]]
[[Image:]]
[[Image:]]
[[Image:]]
[[Image:]]
[[Image:]]
[[Image:]]
[[Image:]]
[[Image:]]
[[Image:]]
[[Image:]]
L'installateur d'AWStats aura modifié automatiquement le fichier de configuration du serveur HTTP d'Apache. Néanmoins, il faut ajouter cette section en fin de fichier :
## Directives to allow use of AWStats as a CGI#Alias /awstatsclasses "C:/AWStats/6.95/wwwroot/classes/"Alias /awstatscss "C:/AWStats/6.95/wwwroot/css/"Alias /awstatsicons "C:/AWStats/6.95/wwwroot/icon/"ScriptAlias /awstats/ "C:/AWStats/6.95/wwwroot/cgi-bin/"## This is to permit URL access to scripts/files in AWStats directory.#<Directory "C:/AWStats/6.95/wwwroot"> Options None AllowOverride None Order allow,deny Allow from all</Directory>
Ceci a pour effet d'intégrer le dossier « C:\AWStats\6.95\wwwroot\cgi-bin » dans les dossiers pris en charge par le serveur HTTP.
Finaliser l'installation d'AWstats
[modifier | modifier le wikicode]Enfin, il faut modifier manuellement les chemins d'accès à Perl dans les fichiers AWStats (ceux ci pointent vers /usr/bin/perl par défaut).
Dans les fichiers $AWStats\wwwroot\cgi-bin\*.pl, modifier les lignes :
#!/usr/bin/perl
Par des lignes :
#!C:/Perl64/bin/perl.exe
Configurer AWStats
[modifier | modifier le wikicode]Il suffit de copier le fichier $AWStats\wwwroot\cgi-bin\awstats.model.conf pour avoir un fichier $AWStats\wwwroot\cgi-bin\awstats.localhost.conf.
Où localhost peut être le nom de domaine que l'on souhaite analyser (par exemple : demo.pleade.com).
Modifier le fichier de configuration obtenu selon la convenance. Obligatoirement, il faut modifier les lignes :
- LogFile="/var/log/httpd/mylog.log"
Il faut pointer vers le fichier de log à analyser. Par exemple : [../../../../C:/apache/logs/access.log C:/apache/logs/access.log] - LogFormat = 2
Il faut accorder le format de log avec celui d'Apache :
LogFormat = 1
- Déclarer le nom de domaine
SiteDomain="s730-pau.cg64.fr" - Autoriser la vue annuelle dans l'interface Web :
AllowFullYearView=3 - Activer la purge des fichiers de log après analyse :
PurgeLogFile=1 - Regler les noms de logs archivés :
ArchiveLogRecords=access.%YYYY%MM%DD.old - Activer l'archivage de l'historique d'analyse :
KeepBackupOfHistoricFiles=1 - Échapper les traces d'utilisation venant du serveur local :
SkipHosts="127.0.0.1 localhost"
N.B. : On pourra ajouter autant d'I.P. et/ou de nom de domaine pour échapper les consultations des postes d'archivistes par exemple. - Échapper l'analyse de certaines URL « internes » à Pleade :
NotPageList="css js class gif jpg jpeg png bmp ico rss xml swf json ajax ajax-html xsp debug"
Il existe beaucoup d'autres options. Le fichier de configuration est très correctement auto-documenté.
Tester AWStats
[modifier | modifier le wikicode]À ce niveau, il est possible de tester immédiatement AWStats. Cette URL doit afficher la page d'accueil d'AWStats sans aucune donnée : http://127.0.0.1/awstats/awstats.pl?config=e-archives.
On peut maintenant lancer l'analyse du log en s'aidant de la ligne de commande ci-dessous :
C:\Perl64\bin\perl.exe C:\AWStats\6.95\wwwroot\cgi-bin\awstats.pl -config=e-archives -update
En revenant sur l'URL de l'interface Web d'AWStats, on doit désormais avoir des données (sauf si le log est vide bien évidemment !).= Exploitation =
Arrêt et démarrage
[modifier | modifier le wikicode]L'arrêt et de démarrage de Pleade signifie l'arrêt et le démarrage des services utilisés. Par défaut, l'unique service utilisé par Pleade est le serveur d'applications J2EE (ie, Apache Tomcat, Websphere, Weblogic, etc.). Sur des installations robustes, il faudra prendre en compte le serveur Web (eg, Apache HTTP), le SGBDR (eg, MySQL, PostgreSQL, etc.).Sur un système Windows, l'arrêt et le démarrage des services dont dépend Pleade s'effectuent directement dans l'interface de gestion des Services (menu Démarrer > Exécuter > Taper « services.msc » et cliquer sur le bouton « OK »). On peut s'inspirer du script ci-dessous pour piloter l'arrêt du serveur J2EE :
@echo offecho echo Arret d'Apache Tomcatecho %DATE% %TIME%net stop "tomcat6"REM on s'assure que le programme est arretetaskkill /f /fi "services eq tomcat6"REM on s'assure que le programme est arrete meme s'il ne repond pastaskkill /f /fi "services eq tomcat6" /fi "status eq running"taskkill /f /fi "services eq tomcat6" /fi "status eq not responding"Sur un système Linux, l'arrêt et le démarrage des services dont dépend Pleade s'effectuent via la commande « service {nom du service} {start | stop | restart} » ou en appelant directement le script dans /etc/init.d/{nom du service} {start | stop | restart}.== Les logs == Pleade génère des logs qui permettent de suivre les différentes tâches qui lui sont demandées, ainsi que les erreurs éventuelles qu'elles provoquent. On peut dès à présent noter les deux principaux ensembles de logs décrits ci-après : les logs du serveur d'application Tomcat ; les logs de Pleade.
Les logs de Tomcat
[modifier | modifier le wikicode]Dans une installation standard, Tomcat va écrire des informations dans des fichiers « logs » qui sont situés par défaut dans le dossier $TOMCAT/logs. Ces informations peuvent parfois donner des indications sur des problèmes rencontrés ; en particulier, si Pleade ne fonctionne plus normalement. Le fichier catalina*.log est le principal fichier de ce répertoire. Mais il ne faut pas négliger les fichiers localhost*.log dans lesquels on peut lire les éventuels problèmes de mémoire de la machine virtuelle Java (ie. OutOfMemoryError).
Les logs de Pleade
[modifier | modifier le wikicode]Les logs de Pleade sont situés par défaut dans le répertoire $PleadeDir/WEB-INF/logs. Ils sont répartis en trois catégories :
- cocoon
Ces fichiers de logs sont nommés suivant le patron : cocoon-{yyyyMMdd}.log. Cela signifie que ces fichiers sont journalisés : un fichier par jour. Ils contiennent toute information relative au gestionnaire de framework Java utilisé par Pleade : « Cocoon<ref name="ftn13">Le site Web du gestionnaire de framework Cocoon : http://cocoon.apache.org/</ref> ». Il s'agit par exemple d'informations liées à l'accès d'un fichier, d'une transformation XSLT. - sdx
Ces fichiers de logs sont nommés suivant le patron : sdx-{yyyyMMdd}.log. Cela signifie que ces fichiers sont journalisés : un fichier par jour. Ils concentrent l'ensemble des informations générées par le moteur de recherche documentaire XML de Pleade : SDX<ref name="ftn14">Le site Web du moteur de recherche documentaire XML SDX : http://adnx.org/sdx/</ref>. Il s'agit par exemple de problèmes liés à l'accès à la base de données SQL. - auto-publication
Ces fichiers de logs sont nommés suivant le patron : auto-publication-{yyyyMMdd}.log. Cela signifie que ces fichiers sont journalisés : un fichier créé par jour. Ils concentrent l'ensemble des informations générées par la publication automatique. - pleade-stats
Ces fichiers de logs sont nommés suivant le patron : pleade-stats-{yyyymm}.log. Cela signifie que ces fichiers sont mensualisés : un fichier par mois. Il s'agit des statistiques de recherche de Pleade.
Exemple :
2008-06-0612:48:56127.0.0.1eadead-default212( Texte libre : Louis ) ET ( Lieu : ALSACE )
Voici la liste des valeurs enregistrées pour chaque colonne :
- Date (2008-06-06)
- Heure (12:48:56)
- Adresse IP de l'ordinateur qui a effectué la requête (127.0.0.1)
- Base de documents sur laquelle est effectuée la recherche (ead)
- Formulaire de recherche utilisé (ead-default)
- Nombre de critères de recherche renseignés avec au moins une valeur (2)
- Nombre de documents trouvés (1)
- Nombre d'unités de description trouvées (2)
- Expression textuelle de la requête de recherche, telle qu'affichée dans l'historique des résultats de recherche (( Texte libre : Louis ) ET ( Lieu : ALSACE ))
Il est possible de modifier l'emplacement des logs en intervenant sur le fichier de configuration $PleadeDir/WEB-INF/logkit.xconf (voir manuel Paramétrage).
Les sauvegardes
[modifier | modifier le wikicode]Pour remettre en service rapidement l’application en cas de problème, il est préférable de faire des sauvegardes régulières.
Les données à archiver sont de différentes natures. Il en découle différents modes de sauvegarde :
- Les sources de l'application e-archives
- Les index de recherche
- Les documents XML EAD
- Les images
Les trois premières sources peuvent être sauvegardées quotidiennement, de manière automatique. Étant donné le poids des images, leur mode de sauvegarde est très différent. Il n'est pas possible d'en conserver plusieurs versions. La génération de la sauvegarde doit être manuelle : le gestionnaire des données sait quand il ajoute des nouvelles images ou des images modifiées. Il lance la mise à jour de l'espace de sauvegarde des images. Le but est de ne pas reporter d'image endommagée dans l'espace de sauvegarde.
Sauvegarder les images
[modifier | modifier le wikicode]La sauvegarde des images doit se faire sur une machine différente de celle du serveur de l'application. Idéalement, cette machine de sauvegarde doit se situer dans un autre local. Enfin, comme indiqué ci-avant, la mise à jour de cet espace de sauvegarde doit être manuelle.
Sur le serveur de production, cet espace de stockage est situé sur un autre serveur accessible uniquement en FTP depuis le serveur de l'application. La mise à jour de la sauvegarde est faite à l'aide du logiciel « LFTP<ref name="ftn15">Le site Web du logiciel « LFTP » : http://lftp.yar.ru/</ref> ». Ce programme est capable de gérer convenablement les mises à jour distantes entre deux dossiers en utilisant le protocole FTP. La commande est la suivante :
$ lftp -e 'mirror -RL --delete /home/admin/jmo/img /home/admin/jmo/img;quit' \-u {Utilisateur},{Mot de passe} {Serveur de sauvegarde}
Suivant le protocole d'échange entre l'espace de sauvegarde et le serveur d'application, on peut choisir d'autres programmes, notamment « rsync<ref name="ftn16">Le site Web du logiciel « rsync » : http://samba.anu.edu.au/rsync/</ref> ».
Sauvegarder l'application et les index de recherche
[modifier | modifier le wikicode]Les données à sauvegarder sont ici les données stockées par le moteur de recherche documentaire de l’application Pleade, de même que les données stockées dans le SGBDR. Par ailleurs, une sauvegarde des sources de l'application e-archives facilitera la remise en état du serveur.
Ainsi, les dossiers à sauvegarder sont :
- $PleadeDir : les sources de l'application Web.
- $PleadeDatadir : les données d'indexation de Pleade
- $EADXML : les documents XML EAD publiés dans Pleade.
- Les autres données d'indexation du moteur de recherche stockées dans le SGBDR.
La sauvegarde du SGDBR PostgreSQL consiste à un export de ses données :
# sauvegarde des données PostgreSQL
$ pg_dump –-username {code} -–password {Nom base} | \
bzip2 -c > {Nom base}_`Date %Y%m%d_%Hh%M`.bz2La sauvegarde des données sous MySQL s'effectue à l'aide de la commande « mysqldump ». Le script ci-dessous peut être utilisé pour automatiser les sauvegardes :
@echo offREM Les informations de connexion a la base SQLset DBNAME=internetset DBUSER=pleade3set DBPWD=ghuyft8uhREM Le dossier ou seront stockes les sauvegardesset DIRCIB=C:\e-archives\Archivagesset DATEANDTIME=%date:~6,4%%date:~3,2%%date:~0,2%_%time:~0,2%h%time:~3,2%m%time:~6,2%sset FILENAME=%DATEANDTIME%_pleade_mysqldumpset DUMPEXE=C:\e-archives\Outils\mysql\5.1\bin\mysqldump.exeset ZIPEXE=C:\e-archives\Outils\7-Zip\7z.exeecho Archivage des donnees MySQL Pleadeecho Debut: %DATE% %TIME%echo Cible : %DIRCIB%\%FILENAME: =%.7zecho Execution du dump de la base SQL%DUMPEXE% --user=%DBUSER% --password=%DBPWD% --result-file=%DIRCIB%\%FILENAME: =%.sql %DBNAME%echo Compression ZIP du dump SQLcd %DIRCIB%%ZIPEXE% a %FILENAME: =%.7z %FILENAME: =%.sqlecho Suppression du dump SQLdel %FILENAME: =%.sqlecho Fin: %DATE% %TIME%== Restaurer une sauvegarde == La restauration d'une sauvegarde du dossier $PleadeDir consiste à décompresser le contenu de l'archive correspondante en lieu et place du dossier de l'application :
# recuperer l'archive TAR BZ2 contenant les dossiers $PleadeDir
tar xmf backup_pleade-jmo_20080527_00h05.tar \
backup_pleade-jmo_20080527_00h05_files.tar.bz2
# decompacter les dossiers $PleadeDir
tar xjmf backup_pleade-jmo_20080527_00h05_files.tar.bz2 –overwrite \
-C /home/www/jmo/webapp/ pleade-jmo
La restauration des sauvegardes du SGBDR consiste à décompacter l'archive correspondante et à remplacer le contenu des bases de données :
# recuperer l'archive TAR BZ2 contenant les donnees PostgreSQL
tar xmf backup_pleade-jmo_20080527_00h05.tar \
backup_pleade-jmo_20080527_00h05.sql.bz2
# decompacter les données PostgreSQL
bunzip2 backup_pleade-jmo_20080527_00h05.sql.bz2
# restaurer les données PostgreSQL
psql –user={Utilisateur} {Nom base} < backup_pleade-jmo_20080527_00h05.sql
La restauration d'une sauvegarde du dossier $EADXML consiste à décompacter le contenu de l'archive correspondante en lieu et place du dossier EAD XML :
# recuperer l'archive TAR BZ2 contenant les donnees XML EAD
tar xmf backup_pleade-jmo_20080527_00h05.tar \
backup_pleade-jmo_20080527_00h05.xmlead.tar.bz2
# decompacter les donnees XML EAD
tar xjmf backup_pleade-jmo_20080527_00h05.xmlead.tar.bz2
La restauration des images consiste à copier les fichiers présents dans l'espace de sauvegarde en lieu place du dossier contenant les images. Sur le serveur de production, cette opération ce fait avec le logiciel « LFTP » :
$ lftp -e 'mirror -L --delete /home/www/jmo/imgs /home/www/jmo/imgs;quit' \
-u {Utilisateur},{Mot de passe} {Serveur de sauvegarde}
La gestion des images
[modifier | modifier le wikicode]La gestion des images est un sujet intimement lié au module Images de Pleade. Le fonctionnement général des images dans Pleade est largement décrite dans la documentation du serveur d'images (cf. Manuel Serveur d'images). Nous abordons ici la question des images sous le jour de l'exploitation de l'application. Il est donc essentiellement question de l'ajout et de la mise à jour des images dans cette section.
Déclaration des séries d'images
[modifier | modifier le wikicode]Le module Images de Pleade est très simple dans son fonctionnement. Pleade est capable de présenter deux types principaux d'images :
- Les images attachées ou relatives
Il s'agit d'images fortement liées aux documents EAD. Elles se situent dans un dossier relatif au document EAD et doivent être présentes lors de la publication du document pour être prises en compte par Pleade. Ce type d'images n'est pas abordé ici. - Les séries d'images
Il s'agit d'un ensemble d'images réparties dans des dossiers indépendants des documents EAD. Pleade n'a pas besoin de connaître de document EAD y faisant référence pour les prendre en charge. On peut même imaginer une application Pleade ne possédant aucun document et utilisée uniquement pour présenter un ensemble d'images sur Internet. C'est essentiellement de ce type d'images qu'il est question ici.
Au niveau de Pleade, une série d'images est un ensemble de fichiers images (par exemple des images au format JPEG) répartis dans un ensemble de dossiers appelés ici « racines ». Cela signifie que le serveur d'images de Pleade est capable de servir n'importe quelle image située dans l'une de ses racines. Celles-ci sont définies par le paramètre « pleade.img-server.racines » que l'on trouve dans le fichier « WEB-INF/properties/pleade-admin.properties ». Par exemple :
pleade.img-server.racines=E:/diskE;F:/diskF;G:/diskG;H:/diskH;I:/diskI;J:/diskJ;K:/diskK;M:/diskM;N:/diskN
indique que le serveur d'images gère neuf racines d'images.
Au sein d'une application Pleade, seul le serveur d'images connaît ces racines. Les autres modules de Pleade (la visionneuse d'images, l'affichage de documents EAD, etc.) ne connaissent que des dossiers et fichiers images relatifs à ces racines. Par exemple, un document EAD peut déclarer un lien vers un dossier d'images :
<dao href="cadastre/0557/" role="series"/>
Dans la visionneuse d'images, ce lien s'exprime par l'URL suivante : http://127.0.0.1/pleade/img-viewer/cadastre/0557/viewer.html. Le serveur d'images est alors sommé de servir l'ensemble des images du dossier « cadastre/0557 » qu'il recherche alors au sein de ces racines d'images. Ainsi, s'il existe un dossier « M:\diskM\cadastre\0557 », le serveur d'images servira à la visionneuse l'ensemble des images contenues dans ce dossier. Par contre, s'il existe uniquement un dossier « M:\diskM\un-niveau-supplementaire\cadastre\0557 », le serveur d'images ne sera pas capable de retrouver le dossier demandé puisque le dossier « un-niveau-supplementaire » n'est renseigné ni au niveau des racines d'images, ni au niveau de l'URL de la visionneuse d'images.
Ce type de problème est relativement répandu. Lorsqu'une image ou un dossier d'images n'apparaissent pas dans l'application, c'est dans cette voie qu'il faut d'abord investiguer.
Les images pré-traitées
[modifier | modifier le wikicode]Les informations relatives aux images pré-traitées sont disponibles dans le manuel « Pré traitement d'images ».
La publication automatique
[modifier | modifier le wikicode]Il est possible de lancer des publications « automatiques » en appelant une URL spécifique répondant au patron suivant :
http://pleade/edit/ead-publish-auto.txt?code={identifiant administrateur}&pwd={mot de passe}.
On doit donc fournir en paramètre un code utilisateur et son mot de passe. L'utilisateur ainsi identifié doit avoir le rôle « eadeac-editor » pour que la publication automatique fonctionne.
Cette URL lance la publication de tous les documents XML dans le dossier de publication des documents EAD (tel que spécifié dans le paramètre d'installation « ead-docs-dir ») qui sont plus récents que leur dernière publication dans l'application ou qui n'ont jamais été publiés. Pour que ce principe fonctionne, le nom des fichiers doit être constitué de l'identifiant du document (élément eadid) avec l'extension .xml (ou .XML).
Si l'on souhaite publier tous les documents, peu importe leur date, il faut ajouter un paramètre all=true dans l'URL ci-dessus.
Il est possible d'indiquer un autre dossier que le dossier par défaut indiqué par le paramètre « ead-docs-dir ». Il suffit pour cela d'ajouter le paramètre d'URL « docs-dir » :
edit/ead-publish-auto.txt?code=&pwd=&docs-dir={chemin vers le dossier à indexer}
Il est aussi possible de publier un fichier unique grâce à l'URL suivante :
edit/ead-publish-auto.txt?code=&pwd=&filef={chemin du fichier à publier}
A ces URL, on peut aussi ajouter tous les paramètres définis dans le formulaire de publication lors d'une publication manuelle. Par exemple, pour associer une rubrique au fichier publié, on utilisera l'URL :
edit/ead-publish-auto.txt?code=&pwd=&filef={chemin du fichier à publier}&subset-list={identifiant de la rubrique}
Dans tous les cas, le retour de cette URL sera une ligne de texte ayant cette forme : x:y:z
où x, y et z sont des nombres entiers ayant cette signification :
- x : nombre de documents publiés
- y : nombre de documents non publiés car ayant générés une erreur
- z : durée de la publication en secondes
Les tâches programmées
[modifier | modifier le wikicode]L'exploitation de Pleade demande très peu de manipulations. Les seules tâches régulières de maintenance consiste à :
- Sauvegarder les données
- Effectuer la rotation des logs
- Programmer éventuellement des publications automatiques
Sous Linux, la programmation des tâches est très généralement gérée par le programme « Cron ». Sous Windows, cette programmation s'effectue à l'aide du gestionnaire de « Tâches planifiées » (à chercher dans les « Outils systèmes ».
Les sauvegardes
[modifier | modifier le wikicode]Même si Pleade n'a pas de problème à ce que les sauvegardes de ses données soient effectuées alors que l'application fonctionne, il reste préférable d'arrêter l'application pendant cette tâche de maintenance. Comme indiqué dans la section dédiée aux sauvegardes, il est primordial de conserver un jeu identique de sauvegardes de la base SQL et des index de recherche ($PleadeDatadir). La manière la plus simple de s'en assurer est d'effectuer la sauvegarde alors que l'application est arrêtée. La section suivante indique comment programmer les arrêts et démarrages de Pleade.La programmation des sauvegardes sous Windows consiste simplement à définir une tâche planifiée qui exécutera les scripts de sauvegarde (cf. « [#4.3.2.Sauvegarder l'application et les index de recherche|outline 4.3.2 Sauvegarder l'application et les index de recherche] »).=== Arrêt et démarrage programmé de Pleade === Sur un système Linux, il suffit de définir une tâche « Cron » de cette manière :
$ crontab -e
# Redemarrage de Pleade tous les jours a 6h00 du matin0 6 * * * /sbin/service tomcat6 restart >> /var/log/tomcat6/arretDemarrage.log# Arret de Pleade tous les jours a 5h00 du matin# 0 5 * * * /sbin/service tomcat6 stop >> /var/log/tomcat6/arret.log# Demarrage de Pleade tous les jours a 5h10 du matin# 10 5 * * * /sbin/service tomcat6 start >> /var/log/tomcat6/demarrage.logSur un système Windows, il suffit de définir une tâche planifiée qui utilisera le script indiqué dans la section « [#4.1.Arrêt et démarrage|outline 4.1 Arrêt et démarrage] ».[[Image:]]=== La rotation des logs === Sous Linux, la rotation des logs peut être effectuée par le programme « logrotate ». Très généralement, lorsque le serveur J2EE a été installé par le biais d'un paquetage (RPM par exemple). Il n'y a donc rien de particulier à faire de ce côté. On peut en vérifier la configuration, généralement placée dans le fichier : /etc/logrotate.d/tomcat6
/var/log/tomcat6/catalina.out {
copytruncate
weekly
rotate 4
compress
missingok
create 0644 admin admin
}
Il est possible de faire en sorte que « logrotate » prenne en charge la rotation des logs de Pleade. Pour cela, il faut commencer par désactiver la rotation dans le fichier WEB-INF/logkit.xconf de Pleade. Ceci se fait en commentant tous les blocs XML de ce genre :
<!--Désactivation de la rotation des logs dans Pleade pour laisser logrotate le faire à sa place
<rotation type="unique" pattern="yyyyMMdd" suffix=".log"> <or> <size>100m</size> <time>24:00:00</time> </or></rotation>-->
Ensuite, il faut ajouter une configuration « logrotate » pour Pleade. Quelque chose qui doit ressembler à :
$PleadeDir/WEB-INF/logs/{nom du log} {
copytruncate
daily
rotate 15
compress
missingok
}
Attention, il ne faut pas désactiver cette rotation pour les logs de publications et de statistiques du moteur de recherche qui doivent pouvoir être récupérés par l'interface Web. Ces logs sont reconnaissables à leur identifiant :
<cocoon id="pleade-stats">
[...] <cocoon id="publish">La rotation des logs sous Windows s'effectue à l'aide d'un script qui peut être inspiré par celui-ci :
@echo off:: Gestion des logs de Pleade et Tomcat:: Le script prend deux parametres ::: 1 = Dossier cible des logs de Tomcat:: 2 = Dossier cible des logs de l'application Web
set ZIPEXE=C:\e-archives\Outils\7-Zip\7z.exeset DIRCIBTC=%1%if "%DIRCIBTC%" == "" goto erreurDirCibTomcatset DIRCIBWP=%2% set DIRCIBWP=%DIRCIBWP: =%if "%DIRCIBWP%" == " " goto erreurDirCibWebapp:infoecho ***************************************************************echo Rotation des logs avec :echo Logs Tomcat = "%DIRCIBTC%"echo Logs Webapps = "%DIRCIBWP%"echo ***************************************************************:rotationtomcat:: traitement des logs de Tomcatecho *****************************echo Traitement des logs de Tomcatforfiles /S /D -1 /M *.log /P %DIRCIBTC% /C "cmd /c echo Archivage de @path && %ZIPEXE% a -mx=9 @path.7z @path && %ZIPEXE% a -ms=off -mx=9 %DIRCIBTC%\backup_logs.7z @path.7z && del @path.7z && del @path":rotationwebapp:: Traitement des logs de la webapp:: On ne prend en compte que les logs "cocoon*", "sdx*" et "auto-publication*"echo *******************************************echo Traitement des logs de la l'application Webtype NUL > %DIRCIBWP%\listforfiles /S /D -1 /M cocoon*.log /P %DIRCIBWP% /C "cmd /c echo @path" >> %DIRCIBWP%\listforfiles /S /D -1 /M sdx*.log /P %DIRCIBWP% /C "cmd /c echo @path" >> %DIRCIBWP%\listforfiles /S /D -1 /M auto-publication*.log /P %DIRCIBWP% /C "cmd /c echo @path" >> %DIRCIBWP\list
for /f %%l in (%DIRCIBWP%\list) do %ZIPEXE% a -mx=9 %%l.7z %%l && %ZIPEXE% a -ms=off -mx=9%DIRCIBWP%\backup_logs.7z %%l.7z && del %%l.7z && del %%ldel %DIRCIBWP%\listgoto fin:erreurDirCibTomcatecho echo Vous n'avez pas specifie de dossier cible contenant les logs de Tomcat !goto fin:erreurDirCibWebappecho.echo Vous n'avez pas specifie de dossier cible contenant les logs de l'application Web !goto fin:finecho.echo C'est termine !
On peut alors définir une tâche planifiée quotidienne qui exécutera ce programme. Le serveur J2EE Apache Tomcat et Pleade n'ont pas de problème à ce que ce programme soit lancé pendant leur fonctionnement. Malgré tout, Il est préférable d'effectuer cette rotation alors que l'application est à l'arrêt.
La rotation des logs du serveur HTTP Apache
[modifier | modifier le wikicode]Le serveur HTTP Apache vient généralement avec son propre programme de rotation de logs « rotatelogs.exe ». Son réglage s'effectue dans le fichier de configuration du serveur HTTP. Ci-dessous un exemple de la rotation quotidienne du log d'erreur :
ErrorLog "logs/error.log"# Activation de la rotation du log d'erreur (tous les jours)ErrorLog "|bin/rotatelogs.exe -l logs/error_%Y-%m-%d.log 86400"
Attention, ce programme crée uniquement un nouveau fichier de log. Il ne compresse pas les anciens logs et ne les supprime pas au bout d'un certain temps. Pour effectuer cela, il faut s'aider d'un script comme celui-ci
@echo offset APACHELOGSDIR=C:\Apache\2.2.14\logsset ZIPEXE=C:\Outils\7-Zip\7z.exeecho ****************************************echo Rotation des logs du serveur Apache HTTPecho %DATE% %TIME%echo ****************************************echo Arret d'Apachenet stop "Apache2.2"echo Archivage des fichiers des vieux logsforfiles /S /M *.log /P %APACHELOGSDIR% /C "cmd /c echo Archivage de @path && %ZIPEXE% a -mx=9 @path.7z @path && %ZIPEXE% a -ms=off -mx=9 %APACHELOGSDIR%\backup_logs.7z @path.7z && del @path.7z && del @path"echo Archivages des fichiers de logs vieux de plus d'un jourforfiles /S /D -1 /M *.log /P %APACHELOGSDIR% /C "cmd /c echo Archivage de @path && %ZIPEXE% a -mx=9 @path.7z @path && %ZIPEXE% a -ms=off -mx=9 %APACHELOGSDIR%\backup_logs.7z @path.7z && del @path.7z && del @path"echo Demarrage d'Apachenet start Apache2.2echo C'est termine !echo %DATE% %TIME%=== Les publications automatiques === La programmation des publications automatiques peut être effectuée directement dans Pleade. Ceci a l'avantage de ne dépendre d'aucun système externe. Son paramétrage s'effectue dans le fichier WEB-INF∕cocoon.xconf de Pleade :
<component [...] role="org.apache.cocoon.components.cron.JobScheduler"> [...] <triggers> <!--Programmation de la publication automatique tous les jours à 23h50--> <trigger name="auto-publish" target="org.apache.cocoon.components.cron.CronJob/auto-publish" concurrent-runs="false"> <minutes>50</minutes> <hours>23</hours> </trigger> </triggers></component><!--Définition de la tâche de publication automatique--><component role="org.apache.cocoon.components.cron.CronJob/auto-publish" class="org.apache.cocoon.components.cron.CocoonPipelineCronJob" logger="cron.pipeline"> <msg>Demarrage de la publication automatique de Pleade</msg> <sleep>60000</sleep> <pipeline>/edit/ead-publish-auto.txt?code={ID administrateur}&pwd={mot de passe}</pipeline></component>
Ci-dessus, la publication automatique a été programmée tous les jours à 23h50. Il est possible de programmer plusieurs publications automatiques parce que l'on souhaite affecter des paramètres de publications différents d'un dossier à l'autre. L'exemple ci-dessous déclare deux publications automatiques :
<component [...] role="org.apache.cocoon.components.cron.JobScheduler"> [...] <triggers> <!--Programmation de la publication automatique de l'état civil du lundi au vendredi à 01h00--> <trigger name="auto-publish-etat-civil" target="org.apache.cocoon.components.cron.CronJob/auto-publish-etat-civil" concurrent-runs="false"> <minutes>00</minutes> <hours>1</hours> <weekdays>MON-FRI</weekdays> </trigger> <!--Programmation de la publication automatique du cadastre du lundi au vendredi à 01h30--> <trigger name="auto-publish-cadastre" target="org.apache.cocoon.components.cron.CronJob/auto-publish-cadastre" concurrent-runs="false"> <minutes>30</minutes> <hours>1</hours> <weekdays>MON-FRI</weekdays> </trigger> </triggers></component><!--Définition de la tâche de publication automatique de l'état civil--><component role="org.apache.cocoon.components.cron.CronJob/auto-publish-etat-civil" class="org.apache.cocoon.components.cron.CocoonPipelineCronJob" logger="cron.pipeline"> <msg>Demarrage de la publication automatique de Pleade: etat-civil</msg> <sleep>60000</sleep> <pipeline>/edit/ead-publish-auto.txt?code={ID administrateur}&pwd={mot de passe}&subset-list=etatcivil&docs-dir=E:\XMLEAD\etat-civil</pipeline></component><!--Définition de la tâche de publication automatique du cadastre--><component role="org.apache.cocoon.components.cron.CronJob/auto-publish-cadastre" class="org.apache.cocoon.components.cron.CocoonPipelineCronJob" logger="cron.pipeline"> <msg>Demarrage de la publication automatique de Pleade: cadastre</msg> <sleep>60000</sleep> <pipeline>/edit/ead-publish-auto.txt?code={ID administrateur}&pwd={mot de passe}&subset-list=cadastre&docs-dir=E:\XMLEAD\cadastre&title-method=unittitle-unitdate</pipeline></component>
Dans l'exemple ci-dessus, on remarquera que pour le cadastre, en plus de définir une rubrique particulière, on indique que la méthode de construction du titre doit être « unittitle-unitdate ». Ce mécanisme permet de surcharger la méthode par défaut réglée dans Pleade.Dans un contexte de ferme d'applications, seule l'application principale est programmée pour la publication automatique, ceci afin d'éviter d'éventuels problèmes d'écritures simultanées dans les index de recherche.== Problèmes d'exploitation principaux == Lors du démarrage du serveur d'applications, Pleade va se déployer et initialiser l'ensemble de ses composants : index de recherche, entrepôts de documents, métadonnées d'application. Tout problème d'installation de composant est rapporté dans le log sdx-{yyyyMMdd}.log situé par défaut dans le répertoire $PleadeDir/WEB-INF/logs/. Il est donc important d'avoir un œil sur ce fichier lors du démarrage.<ref name="ftn17">Sous Linux, il est possible d'utiliser la commande « tailf » ou « tail -f » qui permet de lire un fichier « en direct » : tailf $PleadeDir/WEB-INF/logs/sdx-{yyyyMMdd}.log.</ref>
Problème de droits de lecture/écriture sous Linux
[modifier | modifier le wikicode]L'utilisateur chargé du démarrage de Tomcat doit avoir les droits nécessaires pour lire et écrire dans le répertoire $PleadeDir. Ceci est indispensable pour que Pleade puisse mettre à jour les index de recherche, etc.
Si ce n'est pas le cas, le moteur de recherche documentaire XML de Pleade, SDX, génère une erreur dès le déploiement de Pleade.
Problème de connexion JDBC
[modifier | modifier le wikicode]Les données systèmes de Pleade sont gérées par le serveur SQL. Il peut s'agir de HSQLDB, MySQL, de PostgreSQL ou d'ORACLE. Lors du démarrage du serveur d'applications, Pleade reporte dans le fichier $PleadeDir/WEB-INF/sdx-{yyyyMMdd}.log tout problème de connexion au serveur SQL.
En cas de problème, il convient de contrôler la configuration de la connexion dans le fichier $PleadeDir/WEB-INF/cocoon.xconf : URL du serveur, identifiant et mot de passe, nom de la base de données. L'erreur peut également être due à un problème de droit au niveau de la base de données SQL. Enfin, il faut penser à contrôler la concordance de type de SBGD déclarée dans le fichier de configuration $PleadeDir/WEB-INF/properties/pleade-admin.properties (paramètres sdx-database, sdx-ead-repository, sdx-eac-repository) et dans le fichier de configuration de Cocoon $PleadeDir/WEB-INF/cocoon.xconf.
Le problème est clairement visible dans l'interface Web de Pleade. La fenêtre EAD s'initialise correctement, avec son sommaire, ses index, son titre, mais la partie gauche présentant le contenu EAD reste vierge :
[[Image:]]
Le log WEB-INF/logs/cocoon*.log ou WEB-INF/logs/sdx*.log doit contenir une information explicite sur les problèmes de connexion au serveur SQL :
Caused by: java.sql.SQLException: Cannot connect to MySQL server on localhost:3306. Is there a MySQL server running on the machine/port you are trying to connect to? (java.net.ConnectException)
Les causes possibles sont :
- Le serveur SQL n'est pas démarré
- Les paramètres de connexion dans le fichier WEB-INF/cocoon.xconf sont mauvais
- Les droits d'accès au serveur SQL ont été modifiés depuis l'installation
- Avec MySQL, les connexions inactives depuis plus de 8 heures sont supprimées
Dans ce cas, il suffit de modifier l'URL JDBC pour ajouter les deux paramètres suivants :
?autoReconnectForPools=true&sessionVariables=wait_timeout=86400;
Problème de verrouillage des index de recherche
[modifier | modifier le wikicode]Rappelons ici que Pleade utilise le moteur de recherche Lucene. Ce dernier possède un mécanisme de verrouillage sur ses index de manière à se protéger de tout problème éventuel d'écriture simultanée au moment de publication de documents. Par défaut, ceci se matérialise par des fichiers *.LOCK dans le répertoire temporaire du serveur d'applications ou dans le répertoire $PleadeDatadir de Pleade<ref name="ftn18">Par défaut, le répertoire $PleadeDatadir de Pleade est situé dans $PleadeDir/module-eadeac/datadir.</ref>.
Il peut arriver qu'un arrêt brutal du serveur d'applications au moment précis où Lucene modifie ses index empêche ce dernier de libérer l'un de ces fichiers. Lors du démarrage suivant, une erreur « Lock obtain timed out » se déclenchera dès le moment qu'un utilisateur tente une recherche, ou une publication. Dans un tel cas, il ne reste plus qu'à arrêter Tomcat et de supprimer le fichier indiqué par le message d'erreur.
OutOfMemoryError
[modifier | modifier le wikicode]Il peut arriver que l'application ne réponde plus tout (page blanche, export PDF vide, etc.). Ceci peut être dû à une saturation de la JVM. En d'autres termes, la JVM a besoin de plus de mémoire pour satisfaire les nouvelles demandes et elle n'en dispose pas. Sans intervention humaine, la JVM est capable de résoudre le problème grâce à son Garbage Collector. Mais ceci peut prendre plus de temps que désiré et dans ce cas un intervention humainre consistera à redémarrer l'application (cf. [#4.1.Arrêt et démarrage|outline 4.1 Arrêt et démarrage]).
Il est simple de confirmer cette erreur en regardant les logs du serveur d'applications, sous Tomcat généralement $ServeurJ2EE/logs/localhost.{yyyy-mm-dd}.log :
4 nov. 2008 17:35:22 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: "Servlet.service()" pour la servlet Cocoon a généré une exception
java.lang.OutOfMemoryError: GC overhead limit exceeded
Il est possible que la JVM ne soit pas totalement engorgée, auquel cas le message d'erreur peut apparaître directement dans le navigateur Web :
[[Image:]]
Image non trouvée
[modifier | modifier le wikicode]Le problème est que dans la fenêtre EAD, la vignette ne s'affiche pas :
[[Image:]]L'important, ici est de savoir comment vous gérer vos images et comment vous les publiez. Il y a trois cas de figures :
- Les images sont relatives aux documents XML EAD
- Les images sont des documents attachés
- Les images sont traitées comme des séries
La résolution du problème est différente suivant le cas où vous vous trouvez. Les lignes ci-dessous vous aident à distinguer dans quel cas vous vous situez.
Lorsque vous avez publié le document les paramètres suivants ont été sélectionnés :
[[Image:]]Vous êtes donc bien dans le cas d'une image relative au document EAD.
Si vous avez publié le document avec les paramètres suivants :
[[Image:]]
Vous êtes dans le cas d'une image attachée.
Dans les deux cas, vos images doivent être stockées relativement aux documents XML EAD. Vous avez spécifié un lien vers une image de la manière suivante :
<dao href="IMG_3352.JPG"/>
Cette image se situe dans le même dossier que le document XML EAD. Pour Pleade, il s'agit donc d'une image « relative ». C'est-à-dire qu'elle est relative au document XML EAD. En suivant l'exemple de lien donné plus haut, on doit avoir cette organisation de fichiers :
+-- EAD-DOCS-DIR (paramètre "pleade.ead-docs-dir" fichier "WEB-INF/properties/pleade-admin.properties") | +-- etat-civil | +-- FRAD099_etat-civil.xml | +-- IMG_3352.JPG
Suivant le paramètre de publication « Documents attachés, Pour les documents numériques », Pleade traitera l'image en tant que image attachée ou image relative. Si l'image est attachée, alors elle sera stockée dans l'entrepôt de documents de Pleade. Si elle est relative, Pleade ne la dupliquera pas dans son entrepôt de documents.
Dans ces deux cas, l'image ne s'affiche pas dans la fenêtre EAD car le lien est incorrect dans le document XML EAD.
- Contrôler l'arborescence des fichiers.
- Attention à la différence des caractères majuscules et minuscules
- Supprimer les diacritiques (espaces, lettres accentuées, etc.)
Si vous avez sélectionnés les paramètres de publication suivants :
[[Image:]]
ou si vos liens sont exprimés de la manière suivantes dans les documents XML EAD :
<dao href="IMG3352/" role="series"/>
alors vous êtes dans le cas d'une série d'images. Dans ce cas, reportez vous à la section suivante « [#4.8.6.Dossier d'images non trouvé|outline 4.8.6 Dossier d'images non trouvé] ».
Dossier d'images non trouvé
[modifier | modifier le wikicode]Un dossier d'images non trouvé est une erreur récurrente. Généralement, il s'agit d'un problème de définition des racines et/ou une erreur de codage dans le document source (par exemple l'attribut @href de la balise <dao> en XML EAD). Suivant la version de Pleade, le problème se manifeste différemment dans l'interface Web, comme l'illustrent les deux copies d'écran suivantes :
[[Image:|thumb|Un dossier d'images non trouvé sur les versions de Pleade antérieures à la version 3.3.1]]
[[Image:|thumb|Un dossier d'images non trouvé sur Pleade version 3.4 et plus]]
Comme indiqué plus haut, la source d'erreur peut être double. Le plus simple est de contrôler la présence du dossier non trouvé au sein des racines d'images définies au niveau du module Images de Pleade. Pour cela, il suffit de repérer la valeur de la propriété « pleade.img-server.racines » dans le fichier WEB-INF/properties/pleade-admin.properties. Pour que le serveur d'images de Pleade puisse trouver le dossier d'images, il doit exister sur le disque un dossier répondant au patron : {pleade.img-server.racines}/{dossier d'images}. Si ce n'est pas le cas :
- Contrôler le nom du dossier
- Ajouter le dossier contenant le dossier cible à la liste des racines d'images
Si l'erreur portait sur le nom du dossier d'images, alors l'erreur vient très probablement du lien généré par Pleade dans la partie consultation. Par exemple, s'il s'agit de la fenêtre EAD, il faut contrôler le contenu du document XML source. Il est très probable que ce dernier possède un nom de dossier d'images incorrect.
Image non affichée
[modifier | modifier le wikicode][[Image:]]
Contrairement au cas précédent, le dossier d'images est bien trouvé. En bas de l'image, au niveau des boutons de navigation, on voit clairement que ce dossier contient 6 images.
Il faut regarder dans le log WEB-INF/logs/cocoon*.log et rechercher la chaîne de caractères :
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
Dans ce cas, il s'agit très certainement de l'outil de traitement d'images (ImageMagick généralement) qui n'est pas accessible à Pleade. Contrôler la valeur du paramètre « pleade.img-server.imagemagick-exe » dans le fichier WEB-INF/properties/pelade-admin.properties. Le chemin est mauvais ou Pleade n'a pas les droits nécessaires pour exécuter cette commande.
Image pré-traitée très longue à s'afficher
[modifier | modifier le wikicode]Une image pré-traitée est très rapide à s'afficher. Les vignettes dans la fenêtre EAD ne doivent pas mettre de temps à apparaître. Dans le cas où le serveur d'images de Pleade est réglé pour utiliser des images pré-traitée, si une version d'image met du temps à s'afficher dans la visionneuse ou ailleurs dans l'application, il est très probable que le réglage des images pré-traitées est incorrect. Il faut vérifier plusieurs sources :
- La règle de transformation de l'image en question
-
- Copier l'URL de l'image qui pose problème (sous Firefox par exemple, un clic droit affiche un menu comprenant l'entrée « Copier l'adresse de l'image »
- Pour une URL « http://127.0.0.1/pleade/img-server/__thumbs__/vignette/serie-01/pleade01.jpg », l'URL du fichier de règle est « http://127.0.0.1/pleade/img-server/__thumbs__/vignette/serie-01/dir.json?name=pleade01.jpg »
- Cette URL affiche une information qui ressemble à ceci :
[ { no: 1, versions: [ { src:"__thumbs__/default/serie-01/pleade01.jpg", name:"pleade01.jpg", width:1000, height:750, ruleWidth:1000, ruleHeight:1000, label:"Aperçu", role:"default", mimetype:"image/jpeg" }, { src:"serie-01/pleade01.jpg", name:"pleade01.jpg", width:3072, height:2304, size:3532078, label:"Image originale", role:"original", mimetype:"image/jpeg" } ] }]
Ce document informe que l'image est sensée être pré-traitée « src:"__thumbs__/default/serie-01/pleade01.jpg", »
Si ce n'est pas le cas, alors il faut modifier le fichier « image-transformation-rules.xml » de la série à laquelle appartient cette image ou celui du serveur d'images de Pleade directement pour ajouter un attribut « @existe="{role de la version d'image (par exemple : vignette}" ».
- Le réglage du dossier d'images pré-traitées
Regarder le fichier WEB-INF/properties/pleade-admin.properties. La propriété qui active la prise en charge des images pré-traitées est « pleade.images.preparees ». Sa valeur doit être le chemin du dossier contenant les versions d'images pré-traitées (cf. section « [#4.5.0.2.Les images pré-traitées|outline 4.5.0.2 Les images pré-traitées] »).
Le cadre de classement ne s'affiche pas
[modifier | modifier le wikicode]Le cadre de classement est ici la page correspondant au patron d'URL : http://127.0.0.1/pleade/cdc.html. Cette section aborde le cas où cette URL n'affiche aucune partie du cadre de classement.
- Problème d'accès au fichier du cadre de classement
Le cadre de classement utilisé par Pleade est un fichier sur le disque. Le premier contrôle à effectuer est donc la présence du fichier lui-même ainsi que d'éventuels problèmes de droits de lecture.
Contrôler la présence du fichier indiqué par le paramètre « pleade.cdc-src » dans le fichier « WEB-INF/properties/pleade-admin.properties ». - Le cadre de classement n'est plus valide
Le cadre de classement est un fichier XML EAD. Il doit être valide au sens XML du terme et conforme à la DTD EAD. Utiliser un outil de validation des fichiers XML. - Le moteur de recherche de Pleade est mal déployé
L'affichage du cadre de classement utilise le moteur de recherche de Pleade. Il se peut donc que celui-ci ne soit pas correctement déployé pour les raisons indiquées en points « [#4.8.1.Problème de droits de lecture/écriture sous Linux|outline 4.8.1 Problème de ][#4.8.1.Problème de droits de lecture/écriture sous Linux|outline droits de lecture/écriture sous Linux] », « [#4.8.2.Problème de connexion JDBC|outline 4.8.2 Problème de connexion JDBC ]» ou « [#4.8.3.Problème de verrouillage des index de recherche|outline 4.8.3 Problème de verrouillage des index de recherche ]».
Les résultats de recherche sont vides
[modifier | modifier le wikicode]- Problème d'accès aux index de recherche
Cf. « [#4.8.1.Problème de droits de lecture/écriture sous Linux|outline 4.8.1 Problème de droits de lecture/écriture sous Linux] » - Le moteur de recherche de Pleade est mal déployé
Il se peut que le moteur de recherche ne soit pas correctement déployé pour les raisons indiquées en points « [#4.8.1.Problème de droits de lecture/écriture sous Linux|outline 4.8.1 Problème de droits de lecture/écriture sous Linux] », « [#4.8.2.Problème de connexion JDBC|outline 4.8.2 Problème de connexion JDBC ]» ou « [#4.8.3.Problème de verrouillage des index de recherche|outline 4.8.3 Problème de verrouillage des index de recherche ]».=== La publication ne fonctionne jamais ===
- Le moteur de recherche de Pleade est mal déployé
Il se peut que le moteur de recherche ne soit pas correctement déployé pour les raisons indiquées en points « [#4.8.1.Problème de droits de lecture/écriture sous Linux|outline 4.8.1 Problème de droits de lecture/écriture sous Linux] », « [#4.8.2.Problème de connexion JDBC|outline 4.8.2 Problème de connexion JDBC ]» ou « [#4.8.3.Problème de verrouillage des index de recherche|outline 4.8.3 Problème de verrouillage des index de recherche ]».# Les documents EAD sont mal formés
Les documents XML EAD soumis à la publication doivent être bien formés (par exemple : un problème de balise non fermée) et conformes à la DTD EAD (par exemple : un attribut @href d'une balise <dao> qui ne serait pas une URL valide car elle utilise des anti-slashs « \ » à la place de slashs « / »).
- Plus d'espace disponible sur le serveur
Il se peut que Pleade ne puisse plus écrire sur le disque car ce dernier est plein.
La publication automatique a doublé mon document
[modifier | modifier le wikicode]- Le document XML existe en double sur le disque
La publication automatique scanne un ensemble de dossiers et de sous-dossiers. Dans des cas rares, il se peut qu'un même document XML EAD ait été déposé à deux endroits à la fois.
Annexes
Installation procédurale
[modifier | modifier le wikicode]Cette section résume les étapes d'installation de l'application e-archives développées dans les sections précédentes.
L'application e-archives se compose de 3 applications de consultation installées sur le serveur s730-pau.cg64.fr et d'un serveur d'images Pleade installé sur le serveur s180-pau.cg64.fr. Le serveur Web répartissant l'ensemble des demandes est installé sur le serveur de consultation s730-pau.cg64.fr. Les images et les documents XML EAD sont stockés sur un SAN connecté au serveur s180-pau.cg64.fr.
Cette architecture est résumée par le schéma suivant :
TODO le schéma
Installation des applications de consultation
[modifier | modifier le wikicode]Serveur : s730-pau.cg64.fr
Ce serveur héberge :
- Les applications de consultations :
- Internet
Application destinée aux utilisateurs Internet composée d'une ferme de trois applications e-archives ; elle répond à l'URL : http://s730-pau.cg64.fr/e-archives - Intranet
Application destinée aux utilisateurs de la salle de lecture des archives composée d'une ferme de deux applications e-archives ; elle répond à l'URL : http://s730-pau.cg64.fr/e-archives-intranet - Pré-production
Application destinée aux agents des archives ; elle répond à l'URL : http://s730-pau.cg64.fr/e-archives-pprod
- Internet
- Le serveur Web
Il s'agit d'un serveur HTTP Apache - L'outil d'analyse AWStats
Il répond à l'URL : http://s730-pau.cg64.fr/awstats/awstats.pl?config=e-archives
Installation de la machine virtuelle Java
[modifier | modifier le wikicode]Cf. section « [#3.1.Machine virtuelle Java|outline 3.1 Machine virtuelle Java ]»
| Téléchargement | http://java.sun.com/javase/downloads/ |
| Version | JDK 1.6.0_17 |
| Dossier d'installation | C:\e-archives\Outils\Java\jdk1.6.0_17 |
Installation du serveur d'applications J2EE
[modifier | modifier le wikicode]Cf. section « [#3.2.Serveur d'applications J2EE|outline 3.2 Serveur d'applications J2EE ]»
| Téléchargement | http://tomcat.apache.org/download-60.cgi |
| Version | 6.0.20 |
Note : L'application e-archives se décline en plusieurs fermes d'application. Le plus simple est de débuter l'installation par l'application de pré-production qui est unique.
Installation du serveur Web
[modifier | modifier le wikicode]Cf. section « [#3.3.Serveur Web (HTTP)|outline 3.3 Serveur Web (HTTP) ]»
| Téléchargement | http://httpd.apache.org/download.cgi |
| Version | 2.2.14 |
| Dossier d'installation | C:\e-archives\Outils\Apache\2.2.14 |
| Fichier de configuration | C:\e-archives\Outils\Apache\2.2.14\conf\httpd.confC:\e-archives\Outils\Apache\2.2.14\conf.d\ad64-pleade3.conf |
| Fichier de logs | C:\e-archives\Outils\Apache\2.2.14\access.logC:\e-archives\Outils\Apache\2.2.14\error_{AAAA-MM-DD}.log |
| Port d'écoute | 80 |
| Service Windows | Apache2.2 |
| Démarrage | net start Apache2.2 |
| Arrêt | net stop Apache2.2 |
Paramétrage de la connexion entre le serveur Web et le serveur J2EE
[modifier | modifier le wikicode]Cf. section « [#3.3.2.Connecteur Apache / Tomcat|outline 3.3.2 Connecteur Apache / Tomcat ]»
Note : Module « proxy » d'Apache livré avec le serveur Apache==== Personnalisation des pages d'erreur du serveur Web ==== Cf. section « [#3.3.3.Pages d'erreurs du serveur HTTP Apache|outline 3.3.3 Pages d'erreurs du serveur HTTP Apache ]»==== Installation du SGBDR ==== Cf. section « [#3.5.SGBD relationnel|outline 3.5 SGBD relationnel] »
| Téléchargement | http://dev.mysql.com/downloads/mysql/ |
| Version | 5.1.41 |
| Dossier d'installation | C:\e-archives\Outils\mysql\5.1 |
| Fichier de configuration | C:\e-archives\Outils\mysql\5.1\my.ini |
| Service Windows | MySQL501 |
| Démarrage | net stop MySQL501 |
| Arrêt | net start MySQL501 |
| Port d'écoute | 3306 |
| Données | C:\e-archives\Outils\mysql\datas |
| Bases de données | Base : internetUtilisateur pleade3Mot de passe : ghuyft8uh |
| Base : intranetUtilisateur pleade3Mot de passe : ghuyft8uh | |
| Base : preprodUtilisateur pleade3Mot de passe : ghuyft8uh |
Installation de l'outil de traitement d'images
[modifier | modifier le wikicode]Cf. section « [#3.6.Outil de traitement d'images ImageMagick|outline 3.6 Outil de traitement d'images ImageMagick ]»
| Téléchargement | http://www.imagemagick.org/script/download.php |
| Version | 6.5.8-Q16 |
| Dossier d'installation | C:\e-archives\ImageMagick\6.5.8-Q16 |
Installation de l'application Pleade - e-archives
[modifier | modifier le wikicode]Cf. section « [#3.8.1.Installation|outline 3.8.1 Installation ]»
Paramétrage de l'application Pleade - e-archives
[modifier | modifier le wikicode]Cf. section « [#3.8.2.Paramétrage|outline 3.8.2 Paramétrage] »
Déploiement de l'application Pleade - e-archives
[modifier | modifier le wikicode]Cf. section « [#3.8.3.Déploiement|outline 3.8.3 Déploiement ]»==== Mise en place de la ferme d'applications Pleade - e-archives ==== Cf. section « [#3.4.Mise en place d'une ferme d'applications|outline 3.4 Mise en place d'une ferme d'applications ]»
| Application Internet | ||
| Application principale « A » | Dossier | C:\e-archives\app-internet\tomcats\tomcat-admin-a |
| URL | http://s730-pau.cg64.fr/e-archiveshttp://s730-pau.cg64.fr:13080/e-archives | |
| Service Windows | tomcatintera | |
| Démarrage | C:\e-archives\app-internet\internet_demarrage_tomcat-a.bat | |
| Arrêt | C:\e-archives\app-internet\internet_arret_tomcat-a.bat | |
| Port d'arrêt (shutdown) | 13005 | |
| Port HTTP | 13080 | |
| Port AJP | 13009 | |
| JVMRoute | tomcatintera | |
| Fichiers de logs | C:\e-archives\app-internet\tomcats\tomcat-admin-a\logs | |
| Dossier Webapp | C:\e-archives\app-internet\webapps\admin-a | |
| Datadir | C:\e-archives\app-internet\webapps\datadir | |
| Base de données SQL | Base : internetUtilisateur : pleade3Mot de passe : ghuyft8uh | |
| Documents XML | E:\publication\prod | |
| Application secondaire « B » | Dossier | C:\e-archives\app-internet\tomcats\tomcat-supp-b |
| URL | http://s730-pau.cg64.fr/e-archiveshttp://s730-pau.cg64.fr:12080/e-archives | |
| Service Windows | tomcatinterb | |
| Démarrage | C:\e-archives\app-internet\internet_demarrage_tomcat-b.bat | |
| Arrêt | C:\e-archives\app-internet\internet_arret_tomcat-b.bat | |
| Port d'arrêt (shutdown) | 12005 | |
| Port HTTP | 12080 | |
| Port AJP | 12009 | |
| JVMRoute | tomcatinterb | |
| Fichiers de logs | C:\e-archives\app-internet\tomcats\tomcat-supp-b\logs | |
| Dossier Webapp | C:\e-archives\app-internet\webapps\supp-b | |
| Datadir | C:\e-archives\app-internet\webapps\datadir | |
| Base de données SQL | Base : internetUtilisateur : pleade3Mot de passe : ghuyft8uh | |
| Application secondaire « C » | Dossier | C:\e-archives\app-internet\tomcats\tomcat-supp-c |
| URL | http://s730-pau.cg64.fr/e-archiveshttp://s730-pau.cg64.fr:11080/e-archives | |
| Service Windows | tomcatinterc | |
| Démarrage | C:\e-archives\app-internet\internet_demarrage_tomcat-c.bat | |
| Arrêt | C:\e-archives\app-internet\internet_arret_tomcat-c.bat | |
| Port d'arrêt (shutdown) | 11005 | |
| Port HTTP | 11080 | |
| Port AJP | 11009 | |
| JVMRoute | tomcatinterc | |
| Fichiers de logs | C:\e-archives\app-internet\tomcats\tomcat-supp-c\logs | |
| Dossier Webapp | C:\e-archives\app-internet\webapps\supp-c | |
| Datadir | C:\e-archives\app-internet\webapps\datadir | |
| Base de données SQL | Base : internetUtilisateur : pleade3Mot de passe : ghuyft8uh | |
| Application Intranet | ||
| Application principale « A » | Dossier | C:\e-archives\app-intranet\tomcats\tomcat-admin-a |
| URL | http://s730-pau.cg64.fr/e-archives-intranethttp://s730-pau.cg64.fr:10080/e-archives-intranet | |
| Service Windows | tomcatintraa | |
| Démarrage | C:\e-archives\app-internet\intranet_demarrage_tomcat-a.bat | |
| Arrêt | C:\e-archives\app-internet\intranet_arret_tomcat-a.bat | |
| Port d'arrêt (shutdown) | 10005 | |
| Port HTTP | 10080 | |
| Port AJP | 10009 | |
| JVMRoute | tomcatintraa | |
| Fichiers de logs | C:\e-archives\app-intranet\tomcats\tomcat-admin-a\logs | |
| Dossier Webapp | C:\e-archives\app-intranet\webapps\admin-a | |
| Datadir | C:\e-archives\app-intranet\webapps\datadir | |
| Base de données SQL | Base : intranetUtilisateur : pleade3Mot de passe : ghuyft8uh | |
| Documents XML | E:\publication\prodE:\publication\nc (?) | |
| Application secondaire « B » | Dossier | C:\e-archives\app-intranet\tomcats\tomcat-supp-b |
| URL | http://s730-pau.cg64.fr/e-archives-intranethttp://s730-pau.cg64.fr:9080/e-archives-intranet | |
| Service Windows | tomcatintrab | |
| Démarrage | C:\e-archives\app-internet\intranet_demarrage_tomcat-b.bat | |
| Arrêt | C:\e-archives\app-internet\intranet_arret_tomcat-b.bat | |
| Port d'arrêt (shutdown) | 9005 | |
| Port HTTP | 9080 | |
| Port AJP | 9009 | |
| JVMRoute | tomcatintrab | |
| Fichiers de logs | C:\e-archives\app-intranet\tomcats\tomcat-supp-b\logs | |
| Dossier Webapp | C:\e-archives\app-intranet\webapps\supp-b | |
| Datadir | C:\e-archives\app-intranet\webapps\datadir | |
| Base de données SQL | Base : intranetUtilisateur : pleade3Mot de passe : ghuyft8uh | |
| Application Pré-production | ||
| Application unique | Dossier | C:\e-archives\app-preprod\tomcats\tomcat-admin-a |
| URL | http://s730-pau.cg64.fr/e-archives-pprodhttp://s730-pau.cg64.fr:8080/e-archives-pprod | |
| Service Windows | tomcatpprod | |
| Démarrage | C:\e-archives\app-preprod\pre-prod_demarrage_tomcat.bat | |
| Arrêt | C:\e-archives\app-preprod\pre-prod_arret_tomcat.bat | |
| Port d'arrêt (shutdown) | 8005 | |
| Port HTTP | 8080 | |
| Port AJP | 8009 | |
| JVMRoute | tomcatpprod | |
| Fichiers de logs | C:\e-archives\app-preprod\tomcat\logs | |
| Dossier Webapp | C:\e-archives\app-preprod\webapps | |
| Datadir | C:\e-archives\app-preprod\datadir | |
| Base de données SQL | Base : preprodUtilisateur : pleade3Mot de passe : ghuyft8uh | |
| Documents XML | E:\publication\pre-prod | |
Paramétrage de la rotation des logs
[modifier | modifier le wikicode]Cf. section « [#4.8.3.La rotation des logs|outline 4.8.3 La rotation des logs ]»
Paramétrage des sauvegardes des données de l'application Pleade - e-archives
[modifier | modifier le wikicode]Cf. section « [#4.8.1.Les sauvegardes|outline 4.8.1 Les sauvegardes ]»
Paramétrage des arrêts et démarrage de l'application Pleade - e-archives
[modifier | modifier le wikicode]Cf. section « [#4.8.2.Arrêt et démarrage programmé de Pleade|outline 4.8.2 Arrêt et démarrage programmé de Pleade ]»
Paramétrage des publications automatiques
[modifier | modifier le wikicode]Cf. section « [#4.7.La publication automatique|outline 4.7 La publication automatique] »
Tâches planifiées
[modifier | modifier le wikicode]| Tous les jours | 23h50 | Arrêt de tous les Tomcats | C:\e-archives\Outils\arret_tomcats.bat | C:\e-archives\Outils\Taches-programmees_00.log |
| Tous les jours | 23h51 | Démarrage de la publication automatique de l'application Internet | C:\e-archives\app-internet\internet_publication-automatique_demarrer.bat | C:\e-archives\Outils\Taches-programmees_01.log |
| Tous les jours | 01h00 | Arrêt de la publication automatique de l'application Internet | C:\e-archives\app-internet\internet_arret_tomcat-publication.bat | C:\e-archives\Outils\Taches-programmees_02.log |
| Tous les jours | 01h01 | Démarrage de la publication automatique de l'application Intranet | C:\e-archives\app-intranet\intranet_demarrage_tomcat-publication.bat | C:\e-archives\Outils\Taches-programmees_03.log |
| Tous les jours | 02h00 | Arrêt de la publication automatique de l'application Intranet | C:\e-archives\app-intranet\intranet_arret_tomcat-publication.bat | C:\e-archives\Outils\Taches-programmees_04.log |
| Tous les jours | 02h01 | Démarrage de la publication automatique de l'application de pré-production | C:\e-archives\app-preprod\pre-prod_publication-automatique_demarrer.bat | C:\e-archives\Outils\Taches-programmees_05.log |
| Tous les jours | 02h59 | Arrêt de la publication automatique de l'application de pré-production | C:\e-archives\app-preprod\prep-prod-publication_arret_tomcat.bat | C:\e-archives\Outils\Taches-programmees_06.log |
| Tous les jours | 03h00 | Archivage de l'application Internet | C:\e-archives\app-internet\backup_all.bat | C:\e-archives\Outils\Taches-programmees_07.log |
| Tous les jours | 03h03 | Archivage de l'application Intranet | C:\e-archives\app-intranet\backup_all.bat | C:\e-archives\Outils\Taches-programmees_08.log |
| Tous les jours | 03h06 | Archivage de l'application pré-production | C:\e-archives\app-preprod\backup_all.bat | C:\e-archives\Outils\Taches-programmees_09.log |
| Tous les jours | 03h07 | Rotation des logs | C:\e-archives\Outils\rotation_logs_all.bat | C:\e-archives\Outils\Taches-programmees_10.log |
| Tous les jours | 03h45 | Démarrage de tous les Tomcat | C:\e-archives\Outils\demarrer_tomcats.bat | C:\e-archives\Outils\Taches-programmees_11.log |
| Tous les jours | 04h00 | Analyse de consultation par AWStats | C:\e-archives\Outils\AWStats_traitement_e-archives.bat | C:\e-archives\Outils\Taches-programmees_12.log |
| Tous les jours | 05h00 | Gestion des archivages | C:\e-archives\Outils\backup_deletes.bat | C:\e-archives\Outils\Taches-programmees_13.log |
| Au démarrage du serveur | Montage du disque E:\ du serveur S180-PAU | C:\e-archives\Outils\s180.bat | C:\e-archives\Outils\Taches-programmees_04.log | |
Note : La dernière tâche programmée chargée de monter le disque E: du serveur S180-PAU sur le serveur de consultation S730-PAU effectue le travail suivant (documentation Thomas Bodet, Conseil Général des Pyrénées Atlantiques) :
Exécuter le service Tomcat en tant qu'utilisateur appartenant au domaine CGPA (ici ajlsm@cg64.fr)
- Créer une tâche planifiée
- qui va exécuter un script (ici s180-pau.bat)
- Ce script va permettre de monter un partage réseau sur un lecteur réseau
- Voici le contenu du fichier s180-pau.bat :net.exe USE E: \\s180-pau\DISK_E /PERSISTENT:YES
-
- qui sera exécutée à chaque démarrage de l'ordinateur
- le nom de l'utilisateur à saisir est : SYSTEM
- laisser le mot de passe vide et terminer la création de la tâche
- retourner à la liste des tâches planifiées et éxécuté la tache s180-pau (clique droit > Exécuter)
- Vérifier que le lecteur réseau est bien accessible (ici E:)
- Redémarrer le service Tomcat
Installation du serveur d'images pyramidales IIP
[modifier | modifier le wikicode]Cf. section « [#3.9.Le serveur IIP|outline 3.9 Le serveur IIP ]»==== Installation de l'outil d'analyse AWStats ==== Cf. section « [#3.10.L'application de statistiques AWStats|outline 3.10 L'application de statistiques AWStats] »
| Téléchargement | http://www.activestate.com/activeperl/downloads/ |
| Version | 6.0.95 |
| Dossier d'installation | C:\e-archives\Outils\AWStats\6.0.95 |
| Fichier de configuration | C:\e-archives\Outils\AWStats\6.0.95\wwwroot\cgi-bin\awstats.e-archives.conf |
| URL | http://s730-pau.cg64.fr/awsats/awstats.pl?config=e-archives |
Installation du serveur d'images
[modifier | modifier le wikicode]Serveur : s180-pau.cg64.fr
Ce serveur héberge le serveur d'images de l'application e-archives qui répond à l'URL : http://s180-pau.cg64.fr:81/e-archives.
Note : Ce serveur, seule machine connectée au SAN où sont stockées les images des archives départementales, héberge également le serveur d'images de la première version de l'application e-archives. Ce serveur d'images, voué à être remplacé par la nouvelle version, est accessible sur le port 80. Ceci explique pourquoi le nouveau serveur d'images répond au port 81. Cette première version est installée dans le dossier C:\e-archives\ad64-v1.
Installation de la machine virtuelle Java
[modifier | modifier le wikicode]Cf. section « [#3.1.Machine virtuelle Java|outline 3.1 Machine virtuelle Java ]»
| Téléchargement | http://java.sun.com/javase/downloads/ |
| Version | JDK 1.6.0_17 |
| Dossier d'installation | C:\e-archives\Outils\Java\jdk1.6.0_17 |
Installation du serveur d'applications J2EE
[modifier | modifier le wikicode]Cf. section « [#3.2.Serveur d'applications J2EE|outline 3.2 Serveur d'applications J2EE ]»
| Téléchargement | http://tomcat.apache.org/download-60.cgi |
| Version | 6.0.20 |
| Dossier d'installation | C:\e-archives\ad64-v2\Tomcat_v2a |
| URL | http://s180-pau.cg64.fr:81/e-archiveshttp://s180-pau.cg64.fr:9080/e-archives |
| Service Windows | tomcatv2a |
| Démarrage | C:\e-archives\ad64-v2\ad64-v2_demarrage_tomcat.bat |
| Arrêt | C:\e-archives\ad64-v2\ad64-v2_arret_tomcat.bat |
| Port d'arrêt (shutdown) | 9005 |
| Port HTTP | 9080 |
| Port AJP | 9009 |
| Fichiers de logs | C:\e-archives\ad64-v2\Tomcat_v2a\logs |
| Dossier Webapp | C:\e-archives\ad64-v2\webapps-ad64-is-2 |
Installation du serveur Web
[modifier | modifier le wikicode]Cf. section « [#3.3.Serveur Web (HTTP)|outline 3.3 Serveur Web (HTTP) ]»
| Téléchargement | http://httpd.apache.org/download.cgi |
| Version | 2.2.14 |
| Dossier d'installation | C:\e-archives\Apache\2.2.14 |
| Fichier de configuration | C:\e-archives\Apache\2.2.14\conf\httpd.confC:\e-archives\Apache\2.2.14\conf.d\ad64-pleade3.conf |
| Fichier de logs | C:\e-archives\Apache\2.2.14\access_{AAAA-MM-DD}.logC:\e-archives\Apache\2.2.14\error_{AAAA-MM-DD}.log |
| Port d'écoute | 81 |
| Service Windows | Apache2.2 |
| Démarrage | net start Apache2.2 |
| Arrêt | net stop Apache2.2 |
Paramétrage de la connexion entre le serveur Web et le serveur J2EE
[modifier | modifier le wikicode]Cf. section « [#3.3.2.Connecteur Apache / Tomcat|outline 3.3.2 Connecteur Apache / Tomcat ]»
Note : Module « proxy » d'Apache livré avec le serveur ApacheInstallation de l'outil de traitement d'images
Cf. section « [#3.6.Outil de traitement d'images ImageMagick|outline 3.6 Outil de traitement d'images ImageMagick ]»
| Téléchargement | http://www.imagemagick.org/script/download.php |
| Version | 6.5.8-Q16 |
| Dossier d'installation | C:\e-archives\ImageMagick\6.5.8-Q16 |
Installation du serveur d'images de Pleade - e-archives
[modifier | modifier le wikicode]Cf. section « [#3.8.1.Installation|outline 3.8.1 Installation ]»
Paramétrage du serveur d'images de Pleade - e-archives
[modifier | modifier le wikicode]Cf. section « [#3.8.2.Paramétrage|outline 3.8.2 Paramétrage] »
Déploiement du serveur d'images de Pleade - e-archives
[modifier | modifier le wikicode]Cf. section « [#3.8.3.Déploiement|outline 3.8.3 Déploiement ]»
Paramétrage de la rotation des logs
[modifier | modifier le wikicode]Cf. section « [#4.8.3.La rotation des logs|outline 4.8.3 La rotation des logs ]»==== Installation du serveur d'images pyramidales IIP ==== Cf. section « [#3.9.Le serveur IIP|outline 3.9 Le serveur IIP ]»== Schémas de représentation de l'architecture technique de l'application ==
[[Image:]]Schéma d'échanges
[modifier | modifier le wikicode]Ce dessin illustre l'échange de données entre un poste client, l'application de consultation et le serveur d'images. Ce dernier n'est pas interrogé directement. L'application de consultation relaie les échanges entre le poste client et le serveur d'images.
Architecture technique des accès aux applications
[modifier | modifier le wikicode][[Image:]]
[modifier | modifier le wikicode]Détail d'une ferme d'applications sur le serveur S730-PAU
[modifier | modifier le wikicode]Ce dessin illustre l'architecture technique de l'application de consultation sur le serveur S730-PAU. Le serveur Web relaie les requêtes des utilisateurs. Il répartit la charge entre les 3 Tomcat de l'application Internet. Parmi celles-ci, seule l'application principale « A » a les droits d'écriture dans les données d'indexation et la base SQL. L'application Intranet fonctionne de la même manière. Par contre, elle ne possède que deux Tomcat.
[[Image:]]
<references/>