Ceci est une ancienne révision du document !


Installation du serveur Scrutari

Installation des binaires

Scrutari est un logiciel écrit en Java qui s'appuie sur le serveur d'application Tomcat , un projet de la fondation Apache. Pour installer Scrutari, il est donc nécessaire d'installer une machine virtuelle Java (version 5 ou supérieure) et Tomcat (version 5 ou supérieure). Avec OpenJDK, la version libre sous licence GPL, Java est maintenant présent dans toutes les distributions, nous n'aborderons pas ici son installation. Tomcat est également présent sous forme de paquets dans certaines distributions. Son installation à partir du fichier compressé disponible sur le site de Tomcat est assez simple : il suffit de décompresser ce fichier dans le répertoire de son choix (que nous appellerons par la suite $CATALINA_HOME pour reprendre la terminologie de Tomcat) et de lancer : $CATALINA_HOME/bin/startup.sh (éventuellement en indiquant le chemin de la machine virtuelle Java via la variable $JAVA_HOME dans le fichier $CATALINA_HOME/bin/catalina.sh.

Note : voir aussi l'installation sur une Debian 7 Wheezy

Si dans votre navigateur, l'adresse http://localhost:8080 affiche le message d'accueil de Tomcat, c'est que l'installation de Tomcat est réussie. Vous pouvez passer maintenant à l'installation de l'application Scrutari.

Tomcat propose différentes procédures pour installer une application : la déposer directement dans $CATALINA_HOME/webapps, passer par un fichier .war ou encore la définir par un fichier de configuration placé dans $CATALINA_HOME/conf/Catalina/localhost/ (voir la page sur le déploiement d'une application). C'est cette dernière possibilité que nous allons utiliser pour l'application Scrutari, et ce pour deux raisons : elle permet d'installer Scrutari n'importe où, en particulier hors de $CATALINA_HOME, ce qui facilite les mises à jour, et elle permet de passer des paramètres à l'application Scrutari.

La marche à suivre est la suivante :

  • Télécharger la dernière version « quasi-stable » des binaires de Scrutari sur http://www.scrutari.net/versions. Cette version est appelée « quasi-stable » car elle est en production pour plusieurs moteurs (dont celui de la Coredem) mais comme elle suit de près les développements, elle n'est pas non plus exempte de bogues (qui ne risque cependant pas de passer inaperçu longtemps). Le nom du fichier binaire est sous la forme scrutari-*-bin.zip* est le numéro de révision du dépôt Subversion.
  • Décompresser le fichier zip dans le répertoire de votre choix : il apparait un répertoire scrutari-* qui contient un répertoire WEb-INF
  • Copier le répertoire WEB-INF dans le répertoire de votre future application Tomcat, celle-ci peut-être dans le répertoire webapps de Tomcat ou partout ailleurs ; pour notre exemple, nous prendrons /home/tomcat/scrutari-webapps ; vous devez avoir alors le répertoire suivant /home/tomcat/scrutari-webapps/WEB-INF
  • Déclarer l'application auprès de Tomcat en créant un fichier scrutari.xml dans $CATALINA_HOME/conf/Catalina/localhost/ avec le contenu suivant :
<Context docBase="/home/tomcat/scrutari-webapps">
	<Parameter name="scrutariConfFile" value="/home/tomcat/scrutari-webapps/scrutari-conf.xml"/>
</Context>
  • Relancer Tomcat et, dans son navigateur, ouvrir la page http://localhost:8080/scrutari/ : si une page apparait avec le logo Scrutari, c'est que l'installation est réussie.

Revenons sur le contenu du fichier scrutari.xml installé dans $CATALINA_HOME/conf/Catalina/localhost/.

  • La valeur de l'attribut @docBase de l'élément <Context> indique le chemin du répertoire où est installé l'application en question (dans notre exemple /home/tomcat/scrutari-webapps).
  • L'élément <Parameter> permet de passer un paramètre à l'application ; le paramètre @name=scrutariConfFile est obligatoire, sa valeur indique l'emplacement du fichier de configuration (dans notre exemple /home/tomcat/scrutari-webapps/scrutari-conf.xml) de Scrutari. Sans ce fichier de configuration, Scrutari est installé mais ne peut rien faire. La description du contenu du fichier de configuration est décrite ci-après.

Configuration globale

La configuration globale de l'application Scrutari se fait avec un seul fichier XML. Son chemin est indiqué par <Parameter name='scrutariConfFile'> dans la déclaration du contexte l'application Scrutari (voir ci-dessus). Son rôle est d'indiquer les moteurs gérés par l'application.

L'application Scrutari peut en effet héberger un nombre illimité de moteurs : chaque moteur dispose de sa propre configuration et récupère ses propres fichiers au format ScrutariData. Les moteurs n'ont aucun rapport entre eux. Par exemple, l'application Scrutari qui gère le moteur de la Coredem gère également le moteur d'autres sites comme Irénées ou l'IRG.

Le terme Configuration globale permet de distinguer la configuration de l'application Scrutari de la configuration propre à chaque moteur.

Le fichier XML de configuration globale a comme racine l'élément <scrutari-conf>. Cet élément contient :

  • un et un seul élément obligatoire <uuid> qui indique l'identifiant unique de l'application Scrutari
  • un et un seul élément obligatoire <conf-dir> qui indique le répertoire de base de la configuration des moteurs
  • un et un seul élément obligatoire <var-dir> qui indique le répertoire de base des données des moteurs
  • plusieurs élément <sctserver> avec l'attribut @name définissant les différents moteurs

Ce qui donne l'exemple suivant :

<scrutari-conf>
        <uuid>08cb9560-d93e-11e0-8cf6-0002a5d5c51b</uuid>
	<conf-dir>/home/tomcat/scrutari-conf/</conf-dir>
	<var-dir>/home/tomcat/scrutari-var/</var-dir>
	<sctserver name="coredem"/>
	<sctserver name="irenees"/>
	<sctserver name="irg"/>
</scrutari-conf>

Le nom d'un moteur doit être composé des caractères de a à z (uniquement minuscule, sans accent), de chiffres (mais ne doit pas commencer par un chiffre) et du tiret de soulignement _ (mais ne doit pas commencer par lui). Le nom d'un moteurs se retrouve à trois endroits :

  • dans la construction du chemin du répertoire où se trouve les fichiers de configuration du moteur sous la forme {valeur de <conf-dir> de la configuration globale}/{nom du moteur} (dans notre exemple, /home/tomcat/scrutari-conf/coredem ou /home/tomcat/scrutari-conf/irenees)
  • dans la construction du chemin du répertoire où le moteur va enregistrer ses données sous la forme {valeur de <var-dir> de la configuration globale}/{nom du moteur} (dans notre exemple, /home/tomcat/scrutari-var/coredem ou /home/tomcat/scrutari-var/irenees)
  • dans la construction de l'URL de base de l'accès au moteur sous la forme {URL de l'application Scrutari}/{nom du moteur}/ (dans notre exemple, http://localhost:8080/scrutari/coredem/ ou http://localhost:8080/scrutari/irenees/)

La séparation entre répertoire de configuration et répertoire des données est importante en termes de droit d'accès. En effet, l'application Scrutari a uniquement besoin d'accéder en lecture aux fichiers de configuration alors qu'elle a besoin évidemment d'accéder en lecture et écriture au répertoire de données.

Autrement dit, si l'application Scrutari tourne avec l'utilisateur tomcat, les fichiers de configuration peuvent appartenir à des utilisateurs différents et n'être accessible en écriture que par eux. Si on héberge de nombreux serveurs virtuels, on peut même donner accès pour un utilisateur particulier à la configuration d'un seul moteur.

Une fois le fichier de configuration prêt, il est nécessaire de demander à l'application de recharger la configuration pour la mettre à jour. Cette action s'effectue via la page {URL de l'application Scrutari}/Reload (dans notre exemple, http://localhost:8080/scrutari/Reload). Cette page indique les éventuelles erreurs de configuration et, s'il n'y a pas d'erreur, liste les moteurs.

La configuration globale de Scrutari est terminée. L'étape suivante est la configuration de chaque moteur particulier.

Par la suite, l'ajout d'un moteur se fait en modifiant le fichier de configuration globale et en rechargeant la configuration via {URL de l'application Scrutari}/Reload.

DTD du fichier de configuration globale

<!ELEMENT scrutari-conf (conf-dir, var-dir, sctserver*)>
 
 
<!ELEMENT conf-dir (#PCDATA)>
 
<!ELEMENT var-dir(#PCDATA)>
 
<!ELEMENT sctserver EMPTY>
      <!ATTLIST sctserver name NMTOKEN #REQUIRED

Problème de codage des caractères

Suivant la configuration de Tomcat, il peut arriver que les caractères accentuées ne passent pas au moment d'une requête. Dans ce cas, il faut rajouter dans le fichier de configuration server.xml de Tomcat l'attribut URIEncoding avec la valeur UTF-8 :

<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" ...>

S'il n'est possible de changer cet attribut (conflit avec une autre application hébergée par exemple), il faut désactiver dans le fichier web.xml de Scrutari la définition du filtre SetCharacterEncodingFilter :

<!--<filter>
        <filter-name>SetCharacterEncodingFilter</filter-name>
        <filter-class>net.mapeadores.util.servlets.SetCharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>SetCharacterEncodingFilter</filter-name>
        <servlet-name>Scrutari</servlet-name>
    </filter-mapping>-->
serveurscrutari/installation.1397482629.txt.gz · Dernière modification: 2014/04/14 15:37 par vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0