Configuration » History » Version 3

« Previous - Version 3/11 (diff) - Next » - Current version
Jérôme TRUFFOT, 09/15/2009 11:35 AM


Configuration

Retour à la racine du manuel d'administration.

Préambule

Les fichiers de configuration sont situés dans le dossier properties, répartis par domaine. Toutefois, le fichier properties/config.properties concentre les principaux paramètres. La modification de ce seul fichier doit suffire dans la majorité des cas.

Pour répondre à des besoins particuliers, il est possible de modifier les autres fichiers. Afin de répercuter ces modifications d'une version à une autre, il faut renseigner les fichiers modifiés dans le paramètre custom.recover.files du fichier build.properties.

Accès aux bases de données

Base de données de l'application

Une base de données est utilisée pour stocker des informations relatives à l'application seule (donc indépendante de GEISHA) tels que des préférences des utilisateurs, les droits d'administration, etc... Par défaut, l'application dispose de connecteurs MySql et Oracle. Avec MySql, la base doit être de type InnoDB.

La tâche ant init-data crée toutes les structures (tables) de la base de données mais la base doit exister. L'administrateur a la charge de créer cette base et de s'assurer que l'utilisateur a les droits d'accès nécessaires.

JDBC. L'accès à la base de données peut être géré directement par l'application. Indiquer pour cela l'*url* d'accès à la base ainsi que le username et le password pour l'authentification.

hibernate.connection.jdbc.url=jdbc:mysql://localhost/esup_geisha
hibernate.connection.jdbc.username=admin
hibernate.connection.jdbc.password=secret

JNDI. L'accès à la base de données peut également être géré par le serveur Tomcat. Indiquer pour cela le nom du pool de connexion utilisé (datasource). L'utilisation du JNDI est recommandé en production pour des raisons de performance. Il permet de plus aux administrateurs de surveiller la charge liée aux accès à la base de données avec des outils tels que LambdaProbe.

hibernate.useJndi=true
hibernate.connection.jndi.datasource=jdbc/esup_geisha

Configurer également le pool de connexion Tomcat dans le contexte de l'application :

<Resource
    name="jdbc/esup_geisha" 
    auth="Container" 
    type="javax.sql.DataSource" 
    username="admin" password="secret" 
    driverClassName="com.mysql.jdbc.Driver" 
    url="jdbc:mysql://localhost/esup_geisha" 
    maxActive="100" maxIdle="10" maxWait="10000" 
    removeAbandoned="true" removeAbandonedTimeout="60" 
    logAbandoned="true" />

GEISHA

La configuration à la base GEISHA se fait de la même manière, pour un connecteur oracle.

hibernate.geisha.connection.jdbc.url=jdbc:oracle:thin:@localhost:port:SID
hibernate.geisha.connection.jdbc.username=admin
hibernate.geisha.connection.jdbc.password=secret

hibernate.geisha.useJndi=false
hibernate.geisha.connection.jndi.datasource=jdbc/geisha

Si le driver oracle est correctement installé, l'utilisation du JNDI est possible en configurant le pool de connexion Tomcat dans le contexte de l'application.

<Resource
    name="jdbc/geisha" 
    auth="Container" 
    type="javax.sql.DataSource" 
    username="admin" password="secret" 
    driverClassName="oracle.jdbc.driver.OracleDriver" 
    url="jdbc:oracle:thin:@localhost:port:SID" 
    maxActive="100" maxIdle="10" maxWait="10000" 
    removeAbandoned="true" removeAbandonedTimeout="60" 
    logAbandoned="true" />

Connecteur JDBC

Esup-Geisha embarque par défaut un connecteur MySql et un connecteur Oracle pour Java. Pour utiliser un autre connecteur :

  • ajouter le connecteur (fichier jar) dans le dossier webapps/WEB-INF/lib,
  • pour assurer la récupération de ce fichier lors d'un changement de version de l'application, renseigner ce fichier dans le paramètre custom.recover.files du fichier build.properties,
  • surcharger les paramètres indiquant le driver JDBC et le dialect Hibernate à utiliser :
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect

ou pour la base GEISHA,

hibernate.geisha.connection.driver_class=oracle.jdbc.driver.OracleDriver
hibernate.geisha.dialect=org.hibernate.dialect.Oracle10gDialect

Par exemple, pour une base Postgresql (version jdbc3) :

hibernate.connection.driver_class=org.postgresql.Driver
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

Adapter également l'url d'accès à la base :

hibernate.connection.jdbc.url=jdbc:postgresql://localhost:5432/esup_geisha

Authentification

En mode servlet ou quick-start, l'authentification se fait via un serveur CAS:http://www.jasig.org/cas.

cas.url=https://cas.domain.edu

En mode portlet, l'authentification se fait via le portail. L'identifiant de l'utilisateur est récupéré de l'attribut auth.portal.uidAttribute défini par défaut à "uid".

auth.portal.uidAttribute=uid

Initialisation

La tache ant init-data initialise les données en enregistrant un administrateur de l'application dans la table des utilisateurs. Renseigner son identifiant LDAP dans le paramètre suivant :

init.firstAdministratorId=paubry

LDAP

ldap.url=ldap://ldap.domain.edu:389
ldap.userName=
ldap.password=
ldap.base=dc=domain,dc=edu
ldap.dnSubPath=ou=people
ldap.uidAttribute=uid
ldap.displayNameAttribute=displayName
ldap.emailAttribute=mail
ldap.geishaIdAttribute=supannEmpId
ldap.searchAttribute=cn
ldap.attributes=cn,displayName,employeeType,department,homeDirectory
ldap.searchDisplayedAttributes=cn,displayName,employeeType,department

SMTP

smtp.host=smtp.domain.edu
smtp.user=
smtp.password=
smtp.fromEmail=esup-geisha@domain.edu
smtp.fromName=ESUP-Portail Geisha Web
smtp.interceptBean=smtpIntercept
smtp.interceptEmail=maintainer@domain.edu
smtp.interceptName=Maintainer

TIMEZONE

timezone=Europe/Paris

LOGGING

log.level=WARN
log.output=stdout
log.pattern=%d %p [%c] - %m%n
log.file=esup-geisha.log

CACHE

cache.path=/tmp/esup-geisha/cache