Configuration de Tomcat

Pour permettre à des webapps SCENARIserver de fonctionner correctement dans le serveur de servlets Tomcat il est nécessaire d'y apporter certaines modifications de paramétrage.

AttentionSécurité

A l'heure actuel, Les webapps SCENARIserver ne sont pas compatible avec le "Security Manager" de Tomcat. Il est important de ne pas activer le module "Security Manager" lors du démarrage de Tomcat.

Par défaut le "Security Manager" n'est pas actif, cependant il faut être vigilant sur ce point lors de l'usage de versions packagées de Tomcat sous Linux.

ComplémentUsage d'un proxy Apache

Il est possible de cacher Tomcat derrière un proxy Apache. Ceci permet entre autres d'accéder à SCENARIserver sur le port 80 même si vous avez déjà une serveur web Apache d'installé. Il y a plusieurs façons de mettre en place un proxy Apache vers Tomcat, le plus simple et le seul qui à été testé avec succès avec SCENARIserver est l'usage du module Apache mod_proxy :

ProcédureDéclarer Tomcat en tant que service

Tomcat peut être lancé manuellement via la commande [TOMCAT_HOME]\bin\startup.bat. Il est néanmoins possible est conseillé de l'installer en tant que service Windows.

  1. Executer [TOMCAT_HOME]\bin\service install ;

  2. Tomcat doit interagir avec le bureau Windows pour pouvoir envoyer des tâches à LibreOffice. Pour que le service interagisse avec le bureau, aller dans l'écran de gestion des services (Outils d'administration > service) et sur le service Tomcat, clic droit puis propriétés > connexion. Utiliser un compte autorisé à lancer le service (Administrateur par exemple)

  3. Lancer au moins une fois LibreOffice avec ce compte pour supprimer un éventuel message d'invite qui rendrait inutilisable le lancement de LibreOffice par Scenari lancé en service.

ProcédureOuvrir le Gestionnaire de service

  1. Exécuter le gestionnaire de service Tomcat via l'outil [TOMCAT_HOME]/bin/tomcat6w.exe.

    Attention

  2. Cliquer sur yes dans l'écran de confirmation.

ProcédureParamétrer la mémoire RAM allouée à l'application

  1. Si Tomcat est lancé, le stopper (cf procédure dans le présent guide) ;

  2. Exécuter le gestionnaire de service Tomcat (cf procédure dans le présent guide) ;

  3. Aller dans l'onglet Java ;

  4. Spécifier les valeurs des champs Initial memory pool et Maximum memory pool.

    Compléments

    Exemple de paramétrage à ajuster en fonction des besoins :

    • Initial memory pool = 1024 ;
    • Maximum memory pool = 2048 ;
  5. Cliquer sur Ok.

ProcédureParamétrer des fichiers de log Tomcat

Afin de faciliter l'administration de l'outil, il est conseillé de centraliser les différents fichiers de logs dans un unique répertoire : [pathLog].

Cette procédure décrit comment définir le répertoire de log de Tomcat.

  1. Exécuter le gestionnaire de service Tomcat via l'outil [TOMCAT_HOME]/bin/tomcat6w.exe.

  2. Aller dans l'onglet Logging ;

  3. Modifier la valeur de champ Log path.

    Compléments

    Exemple de paramétrage à ajuster en fonction des besoins :

    • Log path = [logPath]/Tomcat;

ProcédureCharger les librairies LibreOffice

L'utilisation de plusieurs webApp SCENARI sur le même serveur Tomcat nécessite un paramétrage permettant le partage de l'accès à LibreOffice.

  1. Ouvrir le fichier [TOMCAT_HOME]/conf/catalina.properties;

  2. Modifier la ligne "shared.loader" pour y déclarer les chemins des librairies LibreOffice jurt.jar, ridl.jar et unoil.jar.

    ExempleExemple de configuration windows

    shared.loader=file:///D:/Program Files (x86)/LibreOffice 4/URE/java/jurt.jar,file:///D:/Program Files (x86)/LibreOffice 4/URE/java/ridl.jar,file:///D:/Program Files (x86)/LibreOffice 4/Basis/program/classes/unoil.jar

    ExempleExemple de configuration linux

    shared.loader=/opt/libreoffice4.3/ure/share/java/jurt.jar,/opt/libreoffice4.3/ure/share/java/ridl.jar,/opt/libreoffice4.3/program/classes/unoil.jar

ProcédureConnecteurs Tomcat

Le connecteur Tomcat doit être utilisé pour les spécification suivantes :

  • Spécification du port (8080 par défaut) ;
  • Encodage des URLs ;
  • Taille des buffers ;
  • ...

Pour éviter des problèmes d'encodage de nom de fichier il est important de forcer Tomcat à traiter toutes les url en UTF-8.

  1. Ouvrir le fichier [TOMCAT_HOME]/conf/server.xml avec un éditeur XML (type notepad);

    Compléments

    Remarque

    Assurez-vous de bien disposer des droits d'écriture sur ce fichier. Si tel n'est pas le cas, et que vous disposez des droits de remplacement uniquement, copier/coller au préalable le fichier sur votre bureau le temps de le modifier.

  2. Modifier ou ajouter un Connector sur le protocole HTTP/1.1.

    • Pour modifier le port, utiliser l'attribut port ;
    • Pour éviter des problèmes d'encodage de nom de fichier il est important de forcer Tomcat à traiter toutes les url en UTF-8. Ajouter donc le paramètre URIEncoding="UTF-8"
    • Pour étendre la taille autorisée des entêtes HTTP, ajouter le paramètre maxHttpHeaderSize="65536"

    Exemple complet de paramétrage : <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" maxHttpHeaderSize="65536"/>

    Compléments

ProcédureSuppression des éléments non utilisés de Tomcat

Tomcat apporte un lot d'outils lors de son installation standard non utilisés, ou qui pourraient apporter des faille de sécurité. Il est donc conseillé de les supprimer.

  1. Supprimer les répertoires "docs", "examples", "host-manager", "manager " dans [TOMCAT_HOME]/webapps.

    Compléments

    Purge des webapps par défaut de Tomcat

  2. Ouvrir le fichier [TOMCAT_HOME]/conf/server.xml, et supprimer le connector "AJP "

    Supprimer ou commenter la ligne <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

ProcédureDémarrer Tomcat

  1. Exécuter le gestionnaire de service Tomcat (cf procédure dans le présent guide) ;

  2. Aller dans l'onglet General ;

  3. Cliquer sur le bouton Start ;

ConseilDémarrage automatique

ProcédureArrêter Tomcat

  1. Exécuter le gestionnaire de service Tomcat (cf procédure dans le présent guide) ;

  2. Aller dans l'onglet General ;

  3. Cliquer sur le bouton Stop ;