Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
serveurscrutari:installation [2012/01/08 17:22]
vincent
serveurscrutari:installation [2019/01/11 22:17]
vincent [Installation du serveur Scrutari]
Ligne 1: Ligne 1:
 ====== Installation du serveur Scrutari ====== ====== Installation du serveur Scrutari ======
  
-===== Installation des binaires =====+La compilation du code et l'​installation de Scrutari sont décrites dans [[https://​framagit.org/​Scrutari/​scrutari|le dépôt du logiciel]]
  
 +Pour la compréhension de la suite, il est important de rappeler que pour fonctionner Scrutari a besoin qu'on lui indique deux répertoires distincts :
  
-Scrutari est un logiciel écrit en Java qui s'​appuie sur le serveur d'​application [[http://​tomcat.apache.org/​ | 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 [[http://​openjdk.java.net/​ | 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 [[http://​tomcat.apache.org/​download-60.cgi | 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''​.+  * le répertoire ​de configuration 
 +  * le répertoire ​des données
  
-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. +Toute la configuration de Scrutari ​se fait via des fichiers contenus ​dans le répertoire de configuration ​et ses sous-répertoires. L'interface d'administration ​du logiciel permet ​de vérifier la validité ​de la configuration mais pas de la modifier.
- +
-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 [[http://​tomcat.apache.org/​tomcat-6.0-doc/​deployer-howto.html | 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 ​des binaires de Scrutari (fichier ''​scrutari-*-bin.zip''​) : [[http://​www.scrutari.net/​versions]] +
- +
-  * 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 : +
- +
-<code xml> +
-<Context docBase="/​home/​tomcat/​scrutari-webapps">​ +
- <​Parameter name="​scrutariConfFile"​ value="/​home/​tomcat/​scrutari-conf/​scrutari-conf.xml"/>​ +
-</​Context>​ +
-</​code>​ +
- +
-  * 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-conf/​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 ===== ===== 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 //serveurs virtuels// gérés par l'​application.+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 nom illimité de //serveurs virtuels// ​: chaque ​serveur virtuel ​dispose de sa propre configuration et récupère ses propres fichiers au format ScrutariData. Les serveurs virtuels ​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.+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'instance de Scrutari qui gère le moteur de la Coredem gère également le moteur d'​autres sites comme Irénées ou l'IRG.
  
-Dans la suite du document, le terme ''​serveur Scrutari'' ​désigne un serveur virtuel particulier parmi ceux gérés par une application Scrutari.+Le terme ''​Configuration globale'' ​permet de distinguer la configuration de l'application Scrutari ​de la configuration propre à chaque moteur.
  
-Le terme ''​Configuration globale''​ permet ​de distinguer la configuration ​de l'application Scrutari de la configuration propre à chaque serveur virtuel.+Le fichier XML de configuration ​globale a comme racine ​l'élément !!<​scrutari-conf>​!!qui contient les éléments suivants :
  
-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 !!<​name>​!! qui indique le nom identifiant l'​application Scrutari (cela peut être un nom de domaine ou un UUID) 
 +  * 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 
 +  * un et un seul élément obligatoire !!<​url>​!! qui indique ​l'URL d'​accès à l'​application 
 +  * un élément ​optionnel ​!!<default-lang>​!! ​indiquant la langue à utiliser par défaut pour l'​interface
  
-  * un et un seul élément obligatoire <​uuid>​ qui indique ​l'identifiant unique ​de l'application ​Scrutari +Voici l'exemple ​de l'instance de Scrutari ​servant entre autres à la Coredem ​:
-  * un et un seul élément obligatoire <​conf-dir>​ qui indique le répertoire de base de la configuration des serveurs virtuels +
-  * un et un seul élément obligatoire <​var-dir>​ qui indique le répertoire de base des données des serveurs virtuels +
-  * plusieurs élément !!<​sctserver>​!! avec l'​attribut !!@name!! définissant les différents serveurs virtuels +
- +
-Ce qui donne l'​exemple suivant ​:+
  
 <code xml> <code xml>
 <​scrutari-conf>​ <​scrutari-conf>​
-        ​<uuid>08cb9560-d93e-11e0-8cf6-0002a5d5c51b</​uuid+    ​<name>04ca9560-d93e-11e0-8cf6-0002a5d5c51b</​name
- <​conf-dir>/​home/​tomcat/​scrutari-conf/</​conf-dir>​ +    <​conf-dir>/​home/​tomcat/​scrutari-conf/</​conf-dir>​ 
- <​var-dir>/​home/​tomcat/​scrutari-var/</​var-dir>​ +    <​var-dir>/​home/​tomcat/​scrutari-var/</​var-dir>​ 
- <sctserver name="​coredem"/​> +    <url>http://​sct1.scrutari.net/​sct/​</url
- <sctserver name="​irenees"​/> +    <​default-lang>​fr</default-lang>
- <sctserver name="​irg"​/>+
 </​scrutari-conf>​ </​scrutari-conf>​
 </​code>​ </​code>​
  
-Le nom d'un serveur virtuel 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 serveur virtuel se retrouve à trois endroits :+Les moteurs gérés par l'instance vont être déduits ​des sous-répertoires contenus dans le répertoire défini par ''<​conf-dir>''​ : tous les répertoires dont le nom est composé uniquement de 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) sont censés désigner un moteur et contenir les fichiers de configuration de celui-ci Le nom du répertoire est le nom du moteur.
  
-  * dans la construction du chemin du répertoire ​où se trouve les fichiers ​de configuration ​du serveur sous la forme ''​{valeur ​de <​conf-dir>​ de la configuration globale}/{nom du serveur}'' ​(dans notre exemple, ''​/​home/​tomcat/​scrutari-conf/​coredem'' ​ou ''​/​home/​tomcat/​scrutari-conf/​irenees''​) +Pour ajouter un nouveau moteur, il suffit donc de créer un répertoire avec un nom éligible ​dans le répertoire de configuration. Pour supprimer le moteur, il suffit ​de supprimer le répertoire. On peut également désactiver temporairement un moteur en le renommant avec un nom invalide ​(par exemple, ​en le précédent du tiret de soulignement). Après intervention sur les répertoires,​ il est nécessaire d'indiquer à Scrutari de recharger la configuration avec l'instruction ​''​_reload'' ​comme précisé ci-dessous. 
-  * dans la construction du chemin du répertoire où le serveur ​va enregistrer ses données sous la forme ''​{valeur de <​var-dir>​ de la configuration globale}/​{nom du serveur}''​ (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 serveur ​sous la forme ''​{URL de l'​application Scrutari}/{nom du serveur}/''​ (dans notre exemple, ''​http://​localhost:​8080/​scrutari/​coredem/''​ ou ''​http://​localhost:​8080/​scrutari/​irenees/''​)+Le nom du moteur va être également utilisé aux deux endroits suivants : 
 + 
 +  * 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 ''​{valeur ​de <url>}/{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. 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 serveur virtuel.+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 serveurs virtuels.+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 [[serveurscrutari:​config]] de chaque ​serveur virtuel ​particulier.+La configuration globale de Scrutari est terminée. L'​étape suivante est la [[serveurscrutari:​config|configuration]] de chaque ​moteur ​particulier.
  
-Par la suite, l'ajout d'​un ​serveur virtuel ​se fait en modifiant ​le fichier de configuration globale ​et en rechargeant la configuration via '{URL de l'​application Scrutari}/​Reload''​.+L'ajout d'​un ​moteur ​se faisant par la création d'un sous-répertoire dans le répertoire de configuration, ​le fichier de configuration globale ​sera très rarement modifié.
  
  
Ligne 84: Ligne 63:
  
 <code xml> <code xml>
-<​!ELEMENT scrutari-conf (conf-dir, var-dir, ​sctserver*)>+<​!ELEMENT scrutari-conf (name, conf-dir, var-dir, ​url, default-lang?​)>
  
 +<​!ELEMENT name (#​PCDATA)>​
  
 <​!ELEMENT conf-dir (#​PCDATA)>​ <​!ELEMENT conf-dir (#​PCDATA)>​
  
-<​!ELEMENT var-dir(#​PCDATA)>​+<​!ELEMENT var-dir (#​PCDATA)>​
  
-<​!ELEMENT ​sctserver EMPTY> +<​!ELEMENT ​url (#PCDATA)>
-      <​!ATTLIST sctserver name NMTOKEN ​#REQUIRED+
  
 +<​!ELEMENT default-lang (#​PCDATA)>​
 +
 +</​code>​
 +
 +
 +===== 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 :
 +
 +<code xml>
 +<​Connector URIEncoding="​UTF-8"​ connectionTimeout="​20000"​ port="​8080"​ protocol="​HTTP/​1.1"​ ...>
 +</​code>​
 +
 +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 :
 +
 +<code xml>
 +<​!--<​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>​-->​
 </​code>​ </​code>​
serveurscrutari/installation.txt · Dernière modification: 2019/01/11 22:27 par vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0