|
Configuration du serveur Tomcat |
|
|
|
Fichier server.xml après nettoyage et commentaires
<strong># Balise Server : le port est utilisé pour l'envoi d'un code d'arrêt par le programme Java appelé par
# la commande shutdown.sh. Ce port n'est accessible par défaut qu'a partir de la machine (localhost)</strong>
<Server port="8005" shutdown="SHUTDOWN" debug="0">
<strong># Composants utilisés pour l'administration de Tomcat</strong>
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" debug="0"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" debug="0"/>
<strong># Ressources Globales, utilisables pour l'ensemble des applications Web</strong>
<GlobalNamingResources>
<strong># Définition d'une Resource
# Base de données java des comptes utilisateurs avec chargement à partir d'un fichier XML</strong>
<Resource
name="UserDatabase"
auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved">
</Resource>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
</GlobalNamingResources>
<Service name="Tomcat-Standalone">
<strong># Connecteur HTTP permettant d'accèder directement à Tomcat par un
# lien de type http://host-tomcat:8080/examples.
# Ce connecteur peut être désactivé si vous utilisez Apache avec le connecteur JK1 ou JK2 </strong>
<Connector
className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080"
minProcessors="5"
maxProcessors="75"
enableLookups="true"
redirectPort="8443"
acceptCount="100"
debug="0"
connectionTimeout="20000"
useURIValidationHack="false"
disableUploadTimeout="true"
/>
<strong># Connecteur JK2 (mod_jk2) pour relier le serveur HTTP Apache à Tomcat.
# Le lien s'établit entre le serveur HTTP Apache et le serveur Tomcat par le port TCP 8009
# Laissez ce connecteur en commentaire, nous y reviendrons.</strong>
<!--
<Connector
className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8009"
minProcessors="5"
maxProcessors="75"
enableLookups="true"
redirectPort="8443"
acceptCount="10"
debug="0"
connectionTimeout="0"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"
/>
-->
<strong># Connecteur JK1 (mod_jk) pour relier le serveur HTTP Apache à Tomcat.
# Le lien s'établit entre le serveur HTTP Apache et le serveur Tomcat par le port TCP 8009
# Normalement ce connecteur n'est plus utilisé et doit être remplacé par JK2</strong>
<!--
<Connector
className="org.apache.ajp.tomcat4.Ajp13Connector"
port="8009"
minProcessors="5"
maxProcessors="75"
acceptCount="10"
debug="0"
/>
-->
<Engine name="Standalone" defaultHost="localhost" debug="0">
<strong># Connecteur d'authentification personnalisé.
# La classe UserDatabaseRealm, utilise un fichier XML pour authentifier les utilisateurs </strong>
<Realm
className="org.apache.catalina.realm.UserDatabaseRealm"
debug="0"
resourceName="UserDatabase"
/>
<strong># Exemple d'un connecteur d'authentification utilisant une base de données SQL</strong>
<!--
<Realm
className="org.apache.catalina.realm.JDBCRealm"
debug="99"
driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost/authority"
connectionName="test"
connectionPassword="test"
userTable="users"
userNameCol="user_name"
userCredCol="user_pass"
userRoleTable="user_roles"
roleNameCol="role_name"
/>
-->
<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
<strong># Logger au niveau du Host pour tous les Context</strong>
<Logger
className="org.apache.catalina.logger.FileLogger"
directory="logs"
prefix="localhost_log."
suffix=".txt"
timestamp="true"
/>
<strong># Application WEB "examples" accèssible par un ligne http://host/examples
# ou http://host:8080/examples </strong>
<Context path="/examples" docBase="examples" debug="0" reloadable="true" crossContext="true">
<strong># Logger au niveau de l'application </strong>
<Logger
className="org.apache.catalina.logger.FileLogger"
prefix="localhost_examples_log."
suffix=".txt"
timestamp="true"
/>
<strong># Définition d'une ressource </strong>
<Resource name="mail/Session" auth="Container" type="javax.mail.Session"/>
<ResourceParams name="mail/Session">
<parameter>
<name>mail.smtp.host</name>
<value>localhost</value>
</parameter>
</ResourceParams>
</Context>
</Host>
</Engine>
</Service>
</Server>
Fichier web.xml du serveur après nettoyage et commentaires
En cours...
Sécurité - Authentification
Il existe plusieurs façon de gérer l'authentification auprès d'un serveur Tomcat. Chacune répond à un besoin et des moyens différents.
Authentification - Besoins :
- Authentification pour l'administration de Tomcat
- Authentification pour l'utilisation d'une application WEB à accès restreint
Authentification - Moyen :
- Fichier XML contenant une liste d'utilisateur avec leurs roles et mot de passe
- Base de données SQL
- Annuaire LDAP
- Autres : Fichiers texte, Annuaire Windows, Autre type de base de données
Authentification - Techniques :
- Boite de dialogue du navigateur ou formulaire standardisé TOMCAT avec utilisation d'un connecteur d'authentification de server.xml
- Formulaire personnalisé pour l'application avec utilisation de n'importe que moyen pour valider les données d'authentifications
Service d'authentification fournie par Tomcat :
Dans le fichier server.xml, vous trouverez des balises "Realm" contenant des exemples de configuration d'un connecteur d'authentification utilisable pour toutes les applications ou pour une seule. Si vous placez un connecteur "Realm" à l'extérieur d'une balise "Context", par exemple dans "Engine" ou "Host", celui-ci sera disponible pour toutes les applications et permettra en plus d'activer des fonctions de SSO (Single Sign On). Dans le cas contraire, le connecteur ne sera disponible que pour l'application dans lequel il est inséré. Des exemples de configurations sont fournies sur le site de Tomcat.
|