Space Details - ESUP

publicité
Space Details
Key:
ESUPMU
Name:
Projet uPortal-esup
Description:
Le portail ESUP
Creator (Creation Date):
jmarchal (May 27, 2008)
Last Modifier (Mod. Date): paubry (May 27, 2008)
Available Pages
•
Documentation Package
01 - Organisation
•
02 - Tâches ANT
•
•
04 - Configuration
01 - build.properties
•
02 - config.properties
•
•
03 - custom.properties
•
05 - Installation
•
06 - Conseils d'utilisation
•
07 - Personnalisations
Document generated by Confluence on Jun 10, 2008 08:53
Page 1
Documentation Package
This page last changed on Jun 03, 2008 by jmarchal.
Cette partie concerne la documentation l'utilisation du package en lui même.
Ce document décrit l'installation et le paramétrage du package du socle 'esup-portail' issu de la version
2.6 d'uPortal.
Le package contient l'intallation d'un serveur Tomcat (uniquement pour le package de développement),
de la distribution uPortal 2.6 et des librairies et personnalisations propres à l'environnement esup-portail.
Il permet de simplifier considérablement le paramétrage de base d'uPortal.
Le package ne livre pas les différents canaux esup-portail, à installer indépendamment.
On distingue 2 packaging différents :
• uPortal-esup : package de production contenant la distribution uPortal
• esupdev : package de développement contenant :
° la distribution uPortal
° tomcat
° hsql
° ant
Attention
Cette documentation est valable pour les distributions
- esupdev-2.6-esup-2.X.Y
- esup-2.6-esup-2.X.Y
Document generated by Confluence on Jun 10, 2008 08:53
Page 2
01 - Organisation
This page last changed on May 28, 2008 by vrepain.
Organisation file system de base
C'est l'organisation des dossiers et fichiers suite au décompactage du paquet Esup :
esup-2.6-esup-2.X.Y
| contribs
|
| [...]
| custom
|
| uPortal
|
| Tomcat
| logs
|
| [...]
| packages
|
| [...]
| resources
|
| [...]
| update
|
| [...]
| build.sample.properties
| config.sample.properties
| build.xml
| CHANGELOG
| ant.[sh |cmd ]
Avec :
• contribs : Dossier contenant diverses contributions. Ces contributions ne sont pas déployées
automatiquement : vous devez les mettre vous-même dans votre dossier custom.
• custom : Dossier utilisé pour la personnalisation du portail : Vous pouvez y déposer vos propres
fichiers de configuration, sources, feuilles de transformation, feuilles de styles, etc. Ces fichiers
remplaceront ceux d'uPortal et du dossier update lors du déploiement. Pour chaque fichier,
vous devez respecter l'arborescence des dossiers dans lesquels il doit être déposé (exemple :
Une personnalisation de personDirectory.xml sera placée dans custom/uPortal/properties/
personDirectory.xml). Le dossier Tomcat n'est utilisable que dans le package esupdev.
• logs : Dossiers des logs par défaut
• packages : Dossier ou vont être stockés les distributions (compressées) des produits tiers
téléchargés avec ant getcomponents (uPortal, Ant, Tomcat, HSql...)
• ressources : Dossier contenant des fichiers nécessaire au fonctionnement du package.
• update : Dossier contenant les personnalisations Esup. Les sous-dossiers contiennent des fichiers
(fichiers de propriétés, librairies, sources, ...) qui seront déployés vers les sources uPortal
(esup.sources) lors du ant init, ou vers l'environnement tomcat (package esupdev uniquement)
et la racine de l'environnement exécutable (esup.deploy) lors du ant deploy. Ne pas modifier le
contenu de ce répertoire.
• build.sample.properties : Fichier d'exemple de configuration du fonctionnement du package. A
recopier en build.properties et adapter au minimum le paramètre java_home.
• config.sample.properties : Fichier d'exemple de configuration des distribution (uPortal). A recopier
en config.properties et à adapter.
• build.xml : Fichier servant à ant
• CHANGELOG : Fichier qui recense toute les changements dans le package
• ant.[sh | cmd] : Fichier de lancement des commandes ant.
Organisation file system après une première utilisation
esup-2.6-esup-2.X.Y
| contribs
|
| [...]
| custom
|
| uPortal
Document generated by Confluence on Jun 10, 2008 08:53
Page 3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Tomcat
logs
| last-ant-deploy-call.txt
| last-ant-init-call.txt
| [...]
packages
| [...]
Portail
| Ant-X.X.X
| Hsqldb-X.X.X.X
| Tomcat-X.X.X
| uPortal_rel-X.X.X
| webapps
resources
| [...]
tmp
update
| [...]
build.sample.properties
config.sample.properties
build.xml
CHANGELOG
ant.[sh |cmd ]
env.[sh |cmd ]
start-esup.[sh |cmd ]
stop-esup.[sh |cmd ]
esup-portail.keystore
On retrouve donc de nouveau :
•
•
•
•
•
•
•
•
•
•
•
•
logs/last-ant-init-call.txt : Fichier trace du dernier ant init fait
logs/last-ant-deploy-call.txt : Fichier trace du dernier ant deploy fait
Portail/Ant-X.X.X : Dossier de distribution de Ant après ant unzip
Portail/Hsqldb-X.X.X.X : Dossier de distribution Hsql après ant unzip (uniquement dans esupdev)
Portail/Tomcat-X.X.X : Dossier de distribution Tomcat après ant unzip (uniquement dans esupdev)
Portail/uPortal_rel-X.X.X : Dossier de distribution uPortal après ant unzip
Portail/webapps : Dossier contenant le portail compilé après ant deploy. C'est le dossier qui sera
connu du moteur de servlet (tomcat) pour l'exécution du portail. Le déploiement du portail se fera
dans un sous-répertoire nommé uPortal, celui des éventuels portlets dans d'autres sous-répertoires
dédiés.
tmp : Dossier temporaire utilisé lors de la construction du package
env.[sh | cmd] : Script d'environnement esup
start-esup.[sh | cmd] : Script de démarrage
stop-esup.[sh | cmd] : Script d'arrêt
esup-portail.keystore : keystore esup (cru)
Document generated by Confluence on Jun 10, 2008 08:53
Page 4
02 - Tâches ANT
This page last changed on May 29, 2008 by jmarchal.
Liste des tâche ant du package :
Error formatting macro: toc: java.lang.NullPointerException
Nom de la tâche
init
getcomponents
unzip
deploy
db.test
db.init
db.unload
db.unloadall
clean
undeploy
hsql.start
Description
Exemple
Lance un initialisation du portail
ant.sh init
(copie les updates, les customs,
etc)
Va chercher les distributions
ant.sh getcomponents
(compressé) des package
dépendants (uPortal, Ant, etc ..)
Décompresse les packages
ant.sh unzip
dépendants
Déploie le portail dans le webapps ant.sh deploy
Teste la connexion à la base de
ant.sh db.test
données
Vide et remplie la base de données ant.sh db.test
avec les informations esup-uportal
(demande une confirmation)
Décharge une table de la base de ant.sh db.unload données
Dtablename=up_channel
-Dxmlfile=properties/db/
up_channel_backup.xml
Décharge la totalité de la base de ant.sh db.unloadall données
Dxmlfile=properties/db/
backup.xml
Nettoie le répertoire de build du
ant.sh clean
package
Supprime l'ancien déploiement
ant.sh undeploy
uPortal
Demande de confirmation
Démarre le serveur Hsql intégré
ant.sh hsql.start
dans les package esup-uportal
(uniquement disponible dans
esupdev)
Ctrl + C pour arrêter
Document generated by Confluence on Jun 10, 2008 08:53
Page 5
tomcat.start
chan.pub
chan.export
group.load
perm.load
layout.import
layout.export
user.add
user.del
users.del
users.ldap.add
portlet.deploy
properties.debug
Démarre le serveur Tomcat intégré ant.sh tomcat.start
dans le package esup-uportal
(uniquement disponible dans
esupdev)
Ctrl + C pour arrêter
Publie la définition d'un ou de
ant.sh chan.pub -Dchan.pub=all
tout les canaux dans la base de
ant.sh chan.pub -Dchan.pub=mondonnées du portail
canal.xml
Export la définition de tous les
ant.sh chan.export canaux du portail sous forme de
DchannelDir=properties/
fichier xml
chanpubBackup
Charge des groupes dans la base ant.sh group.load uPortal a partir d'un fichier XML
DdataFile=properties/groups/
GroupLoad.xml
Charge des permissions dans la
ant.sh perm.load base uPortal à partir d'un fichier
DdataFile=properties/groups/
XML
GroupPermLoad.xml
Importe un ou tous les
ant.sh layout.import fichiers XML représentant un
Dusername=all
environnement utilisateur.
ant.sh layout.import Les fichiers doivent se trouver
Dusername=username
dans /properties/layouts
Exporte un environnement
ant.sh layout.export
utilisateur sous forme de fichier
XML
Les fichiers seront stockés dans /
properties/layouts
Ajoute un utilisateur dans la base ant.sh user.add -Dusername=titi
uPortal
Demande un mot de passe
Supprime un utilisateur de la base ant.sh user.del -Dusername=titi
uPortal
Supprime une liste d'utilisateur
ant.sh users.del -Dfilename=/tmp/
de la base uPortal par rapport
todel.txt
a un fichier plat (une linge par
utilisateur = login)
Ajoute des utilisateurs dans le
ant.sh users.ldap.add \\\\\\\\\\\\\
portail isssue d'une requête LDAP -DLdapURL="ldap://
ldap.univ.fr:392/dc=univ,dc=fr" \\
\\\\\\\\\\\
DLdapFilter="(&(objectclass=inetorgperson)
(cn=a*))" \\\\\\\\\\\\\
DLdapLoginID="uid=admin,dc=univ,dc=fr"
\\\\\\\\\\\\\
-DLdapPass="XXXXX"
Déploie une ou toutes les portlets ant.sh portlet.deploy DportletApp=all
ant.sh portlet.deploy DportletApp=/tmp/myPortlet.war
Affiche la valeur courante
ant.sh properties.debug
de toutes les propriétés de
configuration du package
Document generated by Confluence on Jun 10, 2008 08:53
Page 6
04 - Configuration
This page last changed on May 29, 2008 by jmarchal.
On distingue 3 fichiers de configuration du package :
• build.properties : fichier contenant les propriétés de déploiement du portail
• config.properties : fichier contenant les propriétés de configuration du portail
• custom.properties : fichier prenant le dessus sur le build.properties et le config.properties. ce fichier
vous permet de spécifier des options contenu dans le build et la config.
Document generated by Confluence on Jun 10, 2008 08:53
Page 7
01 - build.properties
This page last changed on Jun 05, 2008 by vrepain.
Error formatting macro: toc: java.lang.NullPointerException
Fichier build.properties
java_home=/usr/java/jdk1.5
# CURRENT FOLDER
esup.root=${basedir.conv}
devel.mode=false
esup.base=${esup.root}/Portail
esup.sources=${esup.base}/uPortal_rel-${uportal.ver}
esup.deploy=${esup.base}/webapps
esup.build=${esup.sources}/build
server.home=${esup.base}/Tomcat-${tomcat.ver}
server.temp=${server.home}/temp
esup.custom=${esup.root}/custom
esup.update=${esup.root}/update
esup.resources=${esup.root}/resources
esup.packages=${esup.root}/packages
esup.tmp=${esup.root}/tmp
config.file=${esup.root}/config.properties
Avec :
Variable
Description
Document generated by Confluence on Jun 10, 2008 08:53
Exemple
Modifiable
Page 8
java_home
esup.root
devel.mode
esup.base
esup.sources
esup.deploy
esup.build
server.home
server.temp
esup.custom
esup.update
esup.resources
esup.packages
esup.tmp
config.file
Le chemin où est installé java_home=/usr/java/
OUI
le JDK
jdk1.5
java_home=C:\jdk1.5.0
Détermine
esup.root=
NON
automatiquement l'endroit${basedir.conv}
ou se trouve le package
Sélecteur qui permet de devel.mode=true
NON
savoir au package si c'est devel.mode=false
un package esupdev ou
esup
Chemin par défaut ou
esup.base=${esup.root}/ OUI
le portail et toutes ses
Portail
composantes seront
esup.base=/home/esup
installés
Emplacement où seront esup.sources=
OUI
décompressés les sources ${esup.base}/uPortal_reluPortal
${uportal.ver}
esup.sources=/home/
esup/src/uPortal_rel${uportal.ver}
Dossier où sera déployé le esup.deploy=
OUI
portail
${esup.base}/webapps
esup.deploy=/home/esup/
webapps
Dossier où sera compilé le esup.build=
NON
portail avant deploiement ${esup.sources}/build
Emplacement ou se
server.home=
OUI
trouve Tomcat
${esup.base}/TomcatDans le package esupdev, ${tomcat.ver}
emplacement où sera
server.home=/usr/local/
décompressé Tomcat
Tomcat-${tomcat.ver}
Dossier temporaire de
server.temp=
OUI
Tomcat
${server.home}/temp
Dossier contenant vos
esup.custom=
OUI
personnalisations
${esup.root}/custom
esup.custom=/home/
esup/monCustom
Dossier contenant les
esup.update=
NON
personnalisation ESUP
${esup.root}/update
Dossier contenant des
esup.resources=
NON
ressources propres au
${esup.root}/resources
package
Dossier contenant les
esup.packages=
NON
distributions compressées ${esup.root}/packages
des produits tiers
(uPortal, etc.)
Dossier temporaire du
esup.tmp=${esup.root}/ NON
package
tmp
Fichier de configuration duconfig.file=${esup.root}/ OUI
portail
config.properties
config.file=/home/esup/
maConfig.properties
En toute logique lors de la configuration vous devez changer :
1. java_home
2. esup.sources, esup.deploy (ou alors esup.base si vous voulez tout mettre dans le même dossier)
3. server.home
Document generated by Confluence on Jun 10, 2008 08:53
Page 9
02 - config.properties
This page last changed on Jun 05, 2008 by vrepain.
Error formatting macro: toc: java.lang.NullPointerException
Fichier config.properties
# tomcat
tomcat.update.conf=true
tomcat.update.lib=true
tomcat.reloadable=true
tomcat.port.shutdown=8005
tomcat.port.http=8080
tomcat.port.jk=8009
# URL
esup.public.host=localhost
esup.public.proto=http
esup.public.port=
esup.public.uri=/uPortal
esup.public.finalURL=${esup.public.proto}://
${esup.public.host}${esup.public.port}${esup.public.uri}
esup.real.host=${esup.public.host}
esup.real.uri=${esup.public.uri}
esup.real.port.https=
esup.real.https.finalURL=https://${esup.real.host}${esup.real.port.https}${esup.real.uri}
# LDAP
esup.ldap.auth=false
esup.ldap.url=ldap://ldap1.univ.fr:389/dc=univ,dc=fr ldap://ldap2.univ.fr:389/dc=univ,dc=fr
esup.ldap.ssl=false
esup.ldap.bindDN=
esup.ldap.bindPasswd=
esup.ldap.persondirs.use=false
esup.ldap.groups.use=false
esup.ldap.groups.etu.formation=etud-formation
#CAS
esup.cas.auth=false
esup.cas.proxy=false
esup.cas.host=auth.univ.fr
esup.cas.port.https=
esup.cas.uri=/cas
esup.cas.finalURL=https://${esup.cas.host}${esup.cas.port.https}${esup.cas.uri}
esup.cas.uri.login=/login
esup.cas.uri.validate=/serviceValidate
esup.cas.uri.proxy=/proxy
esup.cas.uri.logout=/logout
esup.public.uri.login=/Login
esup.real.uri.callbackCas=/CasProxyServlet
#DB
esup.db.auth=true
esup.db.persondirs.use=true
esup.db.username=sa
esup.db.password=
esup.db.url=jdbc:hsqldb:hsql://localhost:8887
esup.db.jdbcDriverJar=hsqldb.jar
esup.db.className=org.hsqldb.jdbcDriver
esup.db.db-version=1.7.2
#MISC
Document generated by Confluence on Jun 10, 2008 08:53
Page 10
esup.title.main=${esup.host.logicalName} - esup-dev ${uportal.ver}
esup.host.logicalName=esup1
esup.session.lifetime=30
esup.languages=fr_FR,en_US
esup.upload-maxsize=300000
esup.ws.groups=false
esup.session.lifetime=30
esup.languages=fr_FR,en_US
esup.pubchan=true
esup.monitor=false
esup.userprefs.save=false
esup.log.file=${esup.root}
/logs/portal.log\\
esup.log.size=50000KB\\
esup.log.level=INFO |
esup.stats.file=$
{esup.root}/logs/stats.log
esup.stats.attributeType=eduPersonPrimaryAffiliation
esup.stats.size=20000KB
esup.keystore=${esup.root}
/esup-portail.keystore
Avec :
Variable
tomcat.update.conf
tomcat.update.lib
tomcat.reloadable
tomcat.port.shutdown
tomcat.port.http
tomcat.port.jk
Description
Exemple
Version de package
Doit on mettre à jour le tomcat.update.conf=true ESUPDEV
server.xml de Tomcat
tomcat.update.conf=false
Doit on copier des
tomcat.update.lib=true
ESUPDEV
librairies uPortal dans
tomcat.update.lib=false ESUP
Tomcat
Active le contexte uPortal tomcat.reloadable=true ESUPDEV
comme rechargeable dans tomcat.reloadable=false
Tomcat
Port Tomcat pour l'arrêt tomcat.port.shutdown=8005
ESUPDEV
Port Tomcat pour le
tomcat.port.http=8080
ESUPDEV
connecteur HTTP
Port Tomcat pour la
tomcat.port.jk=8009
ESUPDEV
communication JK
Document generated by Confluence on Jun 10, 2008 08:53
Page 11
esup.public.host
esup.public.proto
esup.public.port
esup.public.uri
esup.public.finalURL
esup.real.host
esup.real.uri
esup.real.port.https
esup.real.https.finalURL
esup.ldap.auth
esup.ldap.url
Hostname connu à
esup.public.host=ent.univ.fr
ESUPDEV
l'extérieur
ESUP
Protocole d'accès connu à esup.public.proto=http
ESUPDEV
l'extérieur
ESUP
Port d'accès (vide = 80) esup.public.port=
ESUPDEV
esup.public.port=8080
ESUP
URI d'accès au portail
esup.public.uri=/uPortal ESUPDEV
(vide = /)
esup.public.uri=
ESUP
URL complète d'accès au esup.public.finalURL=
ESUPDEV
portail
${esup.public.proto}:// ESUP
${esup.public.host}${esup.public.port}${esup.public.uri}
Hostname réel (hors load esup.real.host=
ESUPDEV
balancer par exemple)
${esup.public.host}
ESUP
esup.real.host=entX.univ.fr
URI réel d'accès au portail esup.real.uri=
ESUPDEV
(hors JK par exemple)
${esup.public.uri}
ESUP
Port d'accès https (vide = esup.real.port.https=
ESUPDEV
443)
esup.real.port.https=8443 ESUP
URL complète d'accès
esup.real.https.finalURL=https://
ESUPDEV
(hors LB et JK)
$
ESUP
\{esup.real.host}${esup.real.port.https}${esup.real.uri}
Utilisation de LDAP pour
l'authentification
URL d'accès LDAP
esup.ldap.ssl
Active le LDAPS
esup.ldap.bindDN
DN de l'utilisateur pour
faire la connexion LDAP
(vide = anonyme)
Mot de passe pour faire le
bind LDAP
Utilisation de LDAP pour
collecter des attributs
utilisateur
Utilisation de LDAP pour
les groupes (PAGS)
Attribut LDAP
représentant la formation
d'un etudiant (pour
construire des groupes)
esup.ldap.bindPasswd
esup.ldap.persondirs.use
esup.ldap.groups.use
esup.ldap.groups.etu.formation
Document generated by Confluence on Jun 10, 2008 08:53
esup.ldap.auth=false
esup.ldap.auth=true
esup.ldap.url=ldap://
ldap1.univ.fr:389/
dc=univ,dc=fr
esup.ldap.url=ldap://
ldap1.univ.fr:389/
dc=univ,dc=fr ldap://
ldap2.univ.fr:389/
dc=univ,dc=fr
esup.ldap.ssl=false
ESUPDEV
ESUP
ESUPDEV
ESUP
ESUPDEV
ESUP
esup.ldap.bindDN=
ESUPDEV
esup.ldap.bindDN=cn=reader,ou=system,dc=univ,dc=fr
ESUP
esup.ldap.bindPasswd=
ESUPDEV
esup.ldap.bindPasswd=XXXXX
ESUP
esup.ldap.persondirs.use=false
ESUPDEV
ESUP
esup.ldap.groups.use=false
ESUPDEV
esup.ldap.groups.use=trueESUP
esup.ldap.groups.etu.formation=etudESUPDEV
formation
ESUP
Page 12
esup.cas.auth
esup.cas.proxy
esup.cas.host
esup.cas.port.https
esup.cas.uri
esup.cas.finalURL
esup.cas.uri.login
esup.cas.uri.validate
esup.cas.uri.proxy
esup.cas.uri.logout
esup.public.uri.login
esup.real.uri.callbackCas
esup.db.auth
esup.db.persondirs.use
esup.db.username
esup.db.password
esup.db.url
Utilisation de CAS pour
esup.cas.auth=false
ESUPDEV
l'authentification
esup.cas.auth=true
ESUP
Utilisation du mode proxy esup.cas.proxy=false
ESUPDEV
CAS dans le portail
esup.cas.proxy=true
ESUP
Hostname du serveur CAS esup.cas.host=auth.univ.frESUPDEV
ESUP
Numéro du port HTTPS du esup.cas.port.https=
ESUPDEV
serveur CAS (vide = 443) esup.cas.port.https=8443 ESUP
URI de base du serveur
esup.cas.uri=/cas
ESUPDEV
CAS (vide=/)
esup.cas.uri=
ESUP
URL complète d'accès au esup.cas.finalURL=https://ESUPDEV
serveur CAS
$
ESUP
\{esup.cas.host}${esup.cas.port.https}${esup.cas.uri}
URI pour le login CAS
esup.cas.uri.login=/login ESUPDEV
ESUP
URI pour valider un ticket esup.cas.uri.validate=/
ESUPDEV
CAS
serviceValidate
ESUP
URI pour être proxy
esup.cas.uri.proxy=/proxyESUPDEV
ESUP
URI de logout CAS
esup.cas.uri.logout=/
ESUPDEV
logout
ESUP
URI de login du portail
esup.public.uri.login=/
ESUPDEV
Login
ESUP
URI du portail pour être esup.real.uri.callbackCas=/ESUPDEV
proxy CAS
CasProxyServlet
ESUP
Utilsation de la base de
données uPortal pour
l'authentification
Utilisation de la base de
données uPortal pour
collecter des attributs
utilisateurs
Utilisateur se connectant
a la base uPortal
Mot de passe pour se
connecter à la base
uPortal
URL de connexion à la
base uPortal
esup.db.jdbcDriverJar
Jar contenant le driver
de connecion à la base
uPortal
esup.db.className
Nom de la classe gérant
la connexion à la base
uPortal
Version du serveur de
base de donnée
esup.db.db-version
esup.db.poolPreparedStatements
Préparation des
connexions avant
exécution (performance)
Document generated by Confluence on Jun 10, 2008 08:53
esup.db.auth=true
ESUPDEV
ESUP
esup.db.persondirs.use=true
ESUPDEV
ESUP
esup.db.username=sa
ESUPDEV
esup.db.username=uportalESUP
esup.db.password=
ESUPDEV
esup.db.password=XXXXX ESUP
esup.db.url=jdbc:hsqldb:hsql://
ESUPDEV
localhost:8887
ESUP
esup.db.url=jdbc:mysql://
mysql.univ.fr/uportal
esup.db.jdbcDriverJar=hsqldb.jar
ESUPDEV
esup.db.jdbcDriverJar=mysqlESUP
connector-java-5.0.7bin.jar
esup.db.className=org.hsqldb.jdbcDriver
ESUPDEV
esup.db.className=com.mysql.jdbc.Driver
ESUP
esup.db.db-version=1.7.2 ESUPDEV
esup.db.dbESUP
version=4.0.18-max-log
esup.db.poolPreparedStatements=true
ESUPDEV
ESUP
Page 13
esup.title.main
esup.host.logicalName
esup.session.lifetime
esup.languages
esup.upload-maxsize
esup.ws.groups
esup.pubchan
esup.monitor
esup.userprefs.save
esup.log.dir
esup.log.file
esup.log.size
esup.log.level
esup.stats.file
esup.stats.attributeType
esup.stats.size
esup.keystore
Titre affiché dans la balise esup.title.main=
ESUPDEV
title des pages HTML
${esup.host.logicalName} ESUP
- esup-dev ${uportal.ver}
Nom logique de l'ent
esup.host.logicalName=esup1
ESUPDEV
(utilisé dans les logs par
ESUP
exemple)
Temps d'expiration de la esup.session.lifetime=30 ESUPDEV
session
ESUP
Langue disponible
esup.languages=fr_FR,en_US
ESUPDEV
ESUP
Taille maximum des
esup.uploadESUPDEV
fichiers téléchargés dans maxsize=300000
ESUP
le portail
Exportation des groupes esup.ws.groups=false
ESUPDEV
dans un Web Service sur esup.ws.groups=true
ESUP
le portail
Publication des canaux
esup.pubchan=true
ESUPDEV
par défaut lors d'un
esup.pubchan=false
ESUP
db.init
Exportation d'informations esup.monitor=false
ESUPDEV
(via un servlet) sur la
esup.monitor=true
ESUP
mémoire, le nomb re
d'utilisateurs, etc.
Sauvegarde automatique esup.userprefs.save=false ESUPDEV
des préférences
esup.userprefs.save=true ESUP
de l'utilisateur à la
déconnexion.
Dossier de stockage des
logs
esup.log.dir=
${esup.root}/logs
esup.log.dir=/var/logs/
esup
Fichier de logs du portail esup.log.file=
ESUPDEV
${esup.log.dir}/portal.log ESUP
Taille de rotation des logs esup.log.size=50000KB
ESUPDEV
ESUP
Niveau de logs
esup.log.level=INFO
ESUPDEV
esup.log.level=DEBUG
ESUP
esup.log.level=ERROR
esup.log.level=WARN
Fichier de logs statistiquesesup.stats.file=
ESUPDEV
${esup.log.dir}/stats.log ESUP
esup.stats.file=/home/
esup/stats/stats.log
Attribut uPortal contenant esup.stats.attributeType=eduPersonPrimaryAffiliation
ESUPDEV
le type de personne
ESUP
Taille de rotation des logs esup.stats.size=20000KB ESUPDEV
de stats
ESUP
Keystore java a utiliser
pour les dialogue du
portail en https
Document generated by Confluence on Jun 10, 2008 08:53
esup.keystore=
${esup.root}/esupportail.keystore
ESUPDEV
ESUP
Page 14
03 - custom.properties
This page last changed on May 29, 2008 by jmarchal.
Fichier custom.properties
Ce fichier va vous permettre de d'écraser des propriétés contenu soit dans le buil.properties soit dans le
config.properties.
Par exemple le build.properties d'origine :
java_home=/usr/java/jdk1.5
# CURRENT FOLDER
esup.root=${basedir.conv}
devel.mode=false
esup.base=${esup.root}/Portail
esup.sources=${esup.base}/uPortal_rel-${uportal.ver}
esup.deploy=${esup.base}/webapps
esup.build=${esup.sources}/build
server.home=${esup.base}/Tomcat-${tomcat.ver}
server.temp=${server.home}/temp
esup.custom=${esup.root}/custom
esup.update=${esup.root}/update
esup.resources=${esup.root}/resources
esup.packages=${esup.root}/packages
esup.tmp=${esup.root}/tmp
config.file=${esup.root}/config.properties
Et le custom.properties :
java_home=/usr/java/jdk1.5
esup.sources=/home/uportal/uP-26/src/uPortal_rel-${uportal.ver}
esup.deploy=/home/uportal/uP-26/webapps-2.0.1-alpha
server.home=/home/uportal/uP-26/tomcat
server.temp=/home/uportal/uP-26/temp
esup.custom=/home/uportal/uP-26/custom
[...]
Dans ce cas c'est le custom.properties qui prime donc "esup.sources=/home/uportal/src/uPortal_rel-$
Unknown macro: {uportal.ver}
".
Il en est de même pour le config.properties.
L'avantage de ce ficheir et que vous avez VOS propriété dans un seul fichier et en plus vous pouvez
facilement retrouver les valeurs par défaut du package.
Document generated by Confluence on Jun 10, 2008 08:53
Page 15
05 - Installation
This page last changed on Jun 06, 2008 by vrepain.
Installation du package Esup
Ce paragraphe décrit de manière rapide le processus d'installation et de paramétrage ; les paragraphes
suivants détaillent les différents paramètres ou options. Les répertoires d'installation sont paramétrables
dans le fichier build.properties. Ces paramètres sont indiqués entre accolades.L'installation complète
peut (et devrait) se faire depuis un compte utilisateur non root. Il est bien sûr nécessaire que ce compte
ait un droit d'écriture dans les différents répertoires utilisés.
Deux modes d'installation sont possibles :
• Développement : pour faire une installation rapide, des tests, découvrir le produit. Ce mode permet
d'installer également des applications tierces nécessaires au fonctionnement du portail : Tomcat,
Ant, et un moteur de base HSQL. L'installation rapide minimale est décrite en bas de chapitre.
• Production. Ce mode installe uPortal et l'adaptation Esup. Les applications tierces sont considérées
déjà installées et configurées (voir prérequis).
Prérequis
Système d'exploitation
Unix, Linux. L'installation en mode de développement peut être faite sur un système Windows.
Base de données
Fonctionne avec un SGBD acceptant du SQL standard et les transactions, et proposant un drivers JDBC
natif.
Testé avec MySQL (version 4 ou supérieure), PostgreSQL, Oracle. Les pilotes pour MySQL et PostgreSQL
sont fournis dans le package.
Si vous utilisez un autre système, placez le pilote dans le répertoire ${esup.custom}/uPortal/lib/
container-common avant l'initialisation du portail (voir plus bas)
Environnement JAVA
Un JDK 1.5 doit être préalablement installé sur le (ou les) serveur supportant le portail.
La variable JAVA_HOME doit être valuée, et le chemin $JAVA_HOME/bin rajouté au PATH
ANT
Le logiciel ANT doit être installé, avec une version égale ou supérieure à 1.6.5.
La variable ANT_HOME doit être valuée, et le chemin $ANT_HOME/bin rajouté au PATH
Authentification
En environnement de production, un serveur CAS doit être opérationnel au sein de l'établissement.
Annuaire LDAP
L'établissement doit disposer d'un annuaire LDAP exhaustif et compatible Supann.
Première installation
Décompression de l'archive
tar -xvzf esup-2.6-esup-2.X.Y
Document generated by Confluence on Jun 10, 2008 08:53
Page 16
Un répertoire esup-2.6-esup-2.X.Y est créé. On appellera ce répertoire la 'racine' du package. Il
correspond au paramètre ${esup.root} du fichier build.properties.
Personnalisation du déploiement du portail
Vous pouvez adapter le fichier build.properties pour personnaliser l'emplacement du kit de
développement Java, le mode d'installation (développement ou production), les différents répertoires
d'installation, l'emplacement du fichier de configuration du portail.
Il faut au minimum préciser l'emplacement du kit de développement Java (${java_home}).
Le paramètre ${devel_mode} permet d'indiquer si l'on veut faire une installation en mode de
développement (ESUPDEV) ou de production (ESUP). Ceci a un impact sur les packages déployés et les
tâches Ant disponibles.
Récupération des archives des applications tierces
ant getcomponents
Télécharge les archives des applications uPortal (ESUP et ESUPDEV), Tomcat, Ant, HSQL (ESUPDEV
uniquement) dans le répertoire ${esup.packages}.
Décompression des archives des applications tierces
ant unzip
Les archives sont décompactées sous le répertoire ${esup.base}.
Configuration du portail
Vous devez adapter le fichier config.properties. C'est le principal travail à effectuer.
Initialisation du portail
ant init
Cette tâche :
• Copie les scripts du répertoire ${esup.resources} /scripts vers la racine,
• copie les pilotes de base de données de ${esup.resources}/drivers vers ${esup.sources}/lib/
container-common,
• copie les fichiers de personnalisation Esup dans ${esup.update}/uPortal vers le répertoire de
distribution uPortal (${esup.sources}),
• copie vos fichiers de personnalisation dans ${esup.custom}/uPortal vers le répertoire de distribution
uPortal (${esup.sources}),
• adapte les fichiers de configuration d'uPortal en fonction des paramètres de config.properties,
• adapte les fichiers de configuration de Tomcat en fonction des paramètres de config.properties
(ESUPDEV uniquement)
Test de la connection à la base de données du portail
ant db.test
Permet de valider les informations de connection à la base de données du portail, indiquées dans le
fichier config.properties (paramètres ${esup.db.xxx}) : url d'accès à la base, nom et mot de passe de
l'utilisateur, classe java utilisée.
S'il s'agit d'une installation sur une nouvelle base de données, la base doit préalablement être créée et
l'utilisateur indiqué dans le fichier config.properties doit avoir des droits suffisants sur les objets.
Document generated by Confluence on Jun 10, 2008 08:53
Page 17
Cette tâche affiche diverses informations sur la base de données. Si elle s'exécute avec succès (affichage
de "BUILD SUCCESSFUL"), vous pouvez passer à la suite. Sinon, vérifiez et corrigez les paramètres de la
base.
Si le sgbd est MySQL ou PostgreSQL , noter le "Database version" (dans les première lignes du rapport),
et mettez cette valeur complète dans la propriété ${esup.db.db-version} du fichier config.properties.
Initialisation de la base de données du portail
ant db.init
Cette tâche :
• Supprime les tables du portail indiquées dans le fichier ${esup.sources}/properties/db/esuptables.xml
• Insère les données indiquées dans le fichier ${esup.sources}/properties/db/esup-data.xml
• Créé dans la base les groupes définis dans le fichier ${esup.sources}/properties/groups/
esupGroupLoad.xml
• Publie tous les canaux définis dans le répertoire ${esup.sources}/properties/chanpub (correspond à
la tâche ant chan.pub -Dchan.pub=all)
• Publie tous les layouts définis dans le répertoire ${esup.sources}/properties/layout (correspond à la
tâche ant layout.import -Dusername=all)
Déploiement du portail
ant deploy
Compile et copie les fichiers nécessaires vers l'environnement d'exécution du portail (${esup.deploy})
Démarrage du portail
A partir de la racine du package :
./start-esup.sh
Vérifier dans le fichier journal de Tomcat que le moteur et les différents contextes sont bien démarrés.
Vérifier dans le fichier journal du portail que uPortal est bien démarré
Modifications et redéploiements
Si vous modifiez le fichier config.properties ou vos personnalisations dans ${esup.custom}/uPortal,
relancez les tâches ant init et ant deploy puis redémarrez le portail pour les prendre en compte
Si vous modifiez des canaux ou des layouts, vous pouvez:
• Soit refaire un déploiement complet (ant init; ant db.init; ant deploy). Attention, ceci réinitialise la
base donc à faire uniquement sur une base de tests.
• Soit refaire les publications : ant init puis ant chan.pub -Dchan.pub=all ou ant layout.import Dusername=all
Installation rapide en mode de développement
•
•
•
•
•
•
•
•
•
Décompresser l'archive
Vérifier que un JDK 1.5 minimum est installé et dans le chemin
Modifier le paramètre java_home de build.properties
ant getcomponents
ant unzip
ant init
ant hsql.start (démarre la base HSQL embarquée avec la distribution)
ant db.init
ant deploy
Document generated by Confluence on Jun 10, 2008 08:53
Page 18
• ./start_esup.sh ou start_esup.cmd selon le système d'exploitation
Document generated by Confluence on Jun 10, 2008 08:53
Page 19
06 - Conseils d'utilisation
This page last changed on Jun 05, 2008 by vrepain.
Error formatting macro: toc: java.lang.NullPointerException
Les librairies
uPortal est packagé avec un certain nombre de librairies (fichiers .jar) nécessaires à son bon
fonctionnement ; esup-portail ajoute un certain nombre de librairies communes à notre environnement.
Certains canaux ont également besoin de librairies externes pour fonctionner ; les canaux 'natifs' uportal
(hors les portlets) s'exécutent dans le contexte d'uPortal ; ils partagent donc les mêmes librairies.
Faite attention a ne pas avoir 2 fois la même librairie avec des noms différent (xalan-2.7.0.jar et
xalan-2.7.2.jar par exemple)
Les librairies portail sont maintenant découpées en dossier :
• clover : inutilisé pour l'instant
• compile : utilisé pour la compilation du portail et copié dans le webapps lors du deploiement)
• container-common : utilisé pour la compilation du portail et copié dans Tomcat/common/lib si
(tomcat.update.lib=true)
• container-common-endorsed : utilisé pour la compilation du portail et copié dans Tomcat/common/
endorsed si (tomcat.update.lib=true)
• container-shared : utilisé pour la compilation du portail et copié dans Tomcat/shared/lib si
(tomcat.update.lib=true)
• portlets : les portlets exemple du portail
• provided : utilisé pour la compilation du portail uniquement
• runtime : utilisé pour la compilation du portail et copié dans le webapps lors du deploiement)
(utilisé aussi lors de la compilation des test)
• test : utilisé uniquement pour la compilation des tests
Les canaux
Au cours de la vie du portail, l'administrateur est amené à gérer son contenu : ajout / modification de
canaux, modifications de fragments, ...
Il faut donc faire en sorte que ces actions soient les plus pérennes possibles, et qu'un retour en arrière
soit possible simplement en cas de modification malheureuse.
L'utilisation de lien symbolique semble la meilleur solution.
Numérotation de version
Les noms des packages Esup suivent la norme suivante : esup-A-esup-B.C.D[-RCE]
Avec :
• A : le numéro de version de uPortal embarqué
• B : c'est une mise à jour majeure. Une procédure spécifique doit être mise en oeuvre.
• C : C'est une mise à jour 'intermédiaire'. Elle peut nécessiter une mise à jour de la base de données,
de JVM, ... Une procédure spécifique peut être nécessaire.
• D : C'est une mise à jour mineure ; ce document devrait suffire à couvrir les contraintes liées à ces
mises à jour.
• Présence de RCE : Release Candidate, la version n'est pas encore stable a 100% mais proche de
l'être.
Document generated by Confluence on Jun 10, 2008 08:53
Page 20
Compte utilisateur "esup"
Il est fortement conseillé d'installer un serveur apache en frontal d'esup-portail, via mod_jk (ou
mod_proxy en apache 2.2).
Il n'est donc pas nécessaire que le lancement d'esup-portail (en fait, le serveur J2EE supportant esupportail) se fasse sous le compte root, puisque le port TCP APJ13 peut être supérieur à 1024.
Nous supposerons ici qu'un compte esup est créé.
Toutes les actions nécessaires au fonctionnement d'esup-portail (à l'exception du frontal apache) seront
faites sous le compte 'esup'. Tous les chemins file système paramétrés seront accessibles en écriture par
ce compte.
Exemple d'organisation FileSystem
On va séparer l'environnement de paramétrage/compilation de l'environnement de production.
Dans cet exemple, l'environnement de paramétrage/compilation sera /home/esup/src, l'environnement
de production /home/esup/webapps.
On suppose que le package à installer est esup-2.6-esup-2.X.Y ; il est désarchivé dans /home/esup/src/
esup-2.6-esup-2.X.Y.
Voici un extrait du fichier esup.properties correspondant à l'exemple de ce document :
 
java_home=/usr/java/jdk1.5
esup.sources=/home/esup/src/uPortal_rel-${uportal.ver}
esup.deploy=/home/esup/webapps
server.home=/home/esup/tomcat
server.temp=/home/esup/temp
esup.custom=/home/esup/custom
• /ur/java/jdk1.5 est un lien symbolique vers la JVM 1.5 courante.
• /home/esup/src/esup-package est un lien symbolique vers le répertoire de décompactage du
package, ici src/esup-2.6-esup-2.X.Y.
• /home/esup/src/esup-sources est un lien vers le répertoire src/uPortal_rel-2.6.1-GA (à créer avant
ant esup.unzip).
• /home/esup/webapps est un lien symbolique vers webapps-X.Y
• /home/esup/tomcat est un lien symbolique vers apache-tomcat-5.5.26
On crée également le répertoire /home/esup/canaux, qui sera la racine de désarchivage des
différents canaux installés.
Les personnalisations
Les personnalisations propres à l'établissement se trouvent dans le répertoire /home/esup/custom, luimême subdivisé en sous-répertoires : Tomcat, uPortal.
Vous aurez au moins les choses suivantes dans le répertoire custom :
• custom/uPortal/properties : On devrait y trouver au moins les fichiers suivants :
° personDirectory.xml : ce fichier permet de faire un 'mapping' entre des attributs LDAP (ou
issus d'une base SQL) avec des attributs uPortal. Voir ce document sur le wiki uportal.
° groups/PAGSGroupStoreConfig.xml : définition des groupes dynamiques uPortal. Voir ce
document sur le wiki uportal.
Document generated by Confluence on Jun 10, 2008 08:53
Page 21
chanpub/XXXXX.xml : les fichiers de publication des différents canaux. Même s'il est
possible de déclarer / modifier dynamiquement dans uPortal les canaux, nous préconisons
de le faire par la publication de ces fichiers de description (utilisés par la commande ant
uportal.pubchan), ceci afin de les rejouer ultérieur.
° dlm.xml : les modèles d'environnement utilisateurs poussés pour cette instance d'esup-portail.
° layouts/XXXX.xml : fichier cml réprésentant un modèle d'environnement utilisateur pour une
population donnée
• custom/uPortal/lib : comme indiqué dans un paragraphe suivant, ce répertoire contiendra les
librairies (fichiers .jar) nécessaires à l'exécution de certains canaux.
• custom/uPortal/webpages : contiendra les éventuels skins de l'établissement.
°
Première installation du portail
On utilise la procédure 'normale' :
1.
2.
3.
4.
5.
6.
7.
ant -buildfile /home/esup/src/esup-package/build.xml
ant -buildfile /home/esup/src/esup-package/build.xml
ant -buildfile /home/esup/src/esup-package/build.xml
ant -buildfile /home/esup/src/esup-package/build.xml
ant -buildfile /home/esup/src/esup-package/build.xml
ant -buildfile /home/esup/src/esup-package/build.xml
/home/esup/src/esup-package/start-esup.sh
getcomponents
unzip
init
db.test
db.init
deploy
Installation d'une nouvelle version du package
Ce paragraphe décrit l'installation une version mineure, qui n'impacte pas la base esup-portail.
Grâce aux différents liens symboliques utilisés, on s'assure d'un retour en arrière facile.
On suppose ici qu'on installe la version esup-2.6-esup-2.0.2.
Les liens symbolique
On déporte les différents liens symboliques vers les nouveaux répertoires :
• /home/esup/src/esup-package vers src/esup-2.6-esup-2.0.2.
• /home/esup/src/esup-sources vers src/uPortal_rel-2.6.2-GA
• /home/esup/webapps vers webapps-2.6-esup-2.0.2
Décompresser le package dans /home/esup/src donc vers src/esup-2.6-esup-2.0.2
Pour vos personnalisations
D'une manière générale, commencer par lire le fichier CHANGELOG de la nouvelle version du package.
Les modifications qui sont fortement susceptibles de nécessiter des modifications de paramètres sont
préfixés de 5 étoiles "*****".
Properties
cp src/esup-2.6-esup-2.0.1/custom.properties src/esup-2.6-esup-2.0.2/
Installation
Comme l'installation originale, sans l'installation de la base :
1.
2.
3.
4.
ant -buildfile /home/esup/src/esup-package/build.xml
ant -buildfile /home/esup/src/esup-package/build.xml
ant -buildfile /home/esup/src/esup-package/build.xml
ant -buildfile /home/esup/src/esup-package/build.xml
Redéployer vos canaux.
Document generated by Confluence on Jun 10, 2008 08:53
getcomponents
unzip
init
deploy
Page 22
Arrêt - Relance du portail
D'une manière générale, il est préconisé de faire un redémarrage du portail à intervalles réguliers, toutes
les nuits par exemple.
Document generated by Confluence on Jun 10, 2008 08:53
Page 23
07 - Personnalisations
This page last changed on Jun 06, 2008 by vrepain.
Vos personnalisations (ou custom)
Toute vos personnalisation DOIVENT être dans le dossier custom.
Ce dossier se redécoupe en :
1. uPortal
2. Tomcat
Le dossier Tomcat n'est traité que dans le package esupdev.
Pour les custom uPortal, vous devez reproduire la structure du dossier source uportal.
Par exemple si vous voulez faire des modifications perso dans le fichier Logger.properties vous devez le
créer dans custom/uPortal/properties/Logger.properties.
ATTENTION
Avant de personnaliser un fichier vérifiez s'il n'est pas présent dans l'arborescence update.
S'il est déjà présent dans ce dossier partez de celui-ci plutôt que de celui contenu dans les sources
uPortal car le fichier dans le dossier update contient des balises de remplacement ESUP utilisées par
les configurations.
Démarche
Premier exemple : patcher le fichier [esup-sources]/properties/personDirectory.xml
1.
2.
3.
4.
mkdir custom/uPortal/properties/
Chercher dans l'update si ce fichier existe (find update -name 'personDirectory.xml')
Il existe, donc : cp update/uPortal/properties/personDirectory.xml custom/uPortal/properties
Adaptez votre fichier, par exemple on ajoute un mapping d'attribut LDAP (<entry key="mail">
<value>mail</value></entry>)
5. Vous allez trouver des TAG dans ce fichier car il est issu de l'update
(@esup.ldap.groups.etu.formation@) ; il seront remplacés lors de l'appel à ant init. Vous pouvez les
supprimer mais la configuration (en l'occurence esup.ldap.groups.etu.formation) n'aura plus d'effet
sur cette partie.
Second exemple : patcher le fichier [esup-sources]/webpages/error.jsp
1. mkdir custom/uPortal/webpages/
2. Cherchez dans l'update si ce fichier existe (find update -name 'error.jsp')
3. Il n'existe pas dans l'update, donc on va le recopier depuis les sources uPortal : cp src/[esupsources]/webpages/error.jsp custom/uPortal/webpages
4. Adaptez votre fichier, par exemple on ajoute un mapping d'attribut LDAP (<title>Portal: Une erreur
est survenu</title>)
Lors de l'appel a ant init le fichier custom va etre recopié dans les source uPortal.
CONSEIL
Je vous conseille de conserver une copie de sauvegarde des fichiers d'origines.
cp src/[esup-sources]/webpages/error.jsp custom/uPortal/webpages/error.jsp.orig
cp custom/uPortal/webpages/error.jsp.orig custom/uPortal/webpages/error.jsp
Personnalisation des groupes
Pour définir les groupes dynamiques de votre établissement :
Document generated by Confluence on Jun 10, 2008 08:53
Page 24
1. Adaptez le fichier custom/uPortal/properties/groups/PAGSGroupStoreConfig.xml (voir article
détaillé : Gestion des groupes)
2. Redéployez : ant init; ant deploy;
Personnalisation des canaux
1. Créez un fichier custom/uPortal/properties/chanpub/<nom_canal>.xml par canal à publier (voir
article détaillé : Publication de canaux)
2. Lancez ant init puis : soit ant chan.pub -Dchan.pub=all pour publier tous les canaux du répertoire
chanpub, soit ant chan.pub -Dchan.pub=<nom_canal>.xml pour ne publier qu'un canal
Personnalisation des environnements
utilisateurs (layouts)
L'environnement d'un utilisateur défini les onglets et menus qui lui sont affichés, ainsi que leur
disposition (voir article détaillé : les DLM uPortal)
1. Créez un fichier custom/uPortal/properties/layouts/<nom_modele>.xml par modèle
d'environnement utilisateur
2. Référencez et configurez ces modèles dans le fichier custom/uPortal/properties/dlm.xml
3. Lancez ant init puis : soit ant layout.import -Dusername=all pour publier tous les modèles du
répertoire layouts, soit ant layout.import -Dusername=<nom_modele> pour ne publier qu'un
modèle
La stratégie de création des environnements utilisateurs dépendra de la structure de l'établissement et de
son ENT. On peut décider par exemple de créer un modèle par profil d'usager contenant l'ensemble des
onglets et canaux, ou de créer un modèle par onglet, les profils d'usager étant déduits des droits d'accès
définis dans dlm.xml et dans les canaux.
Créer un thème
Voir l'article détaillé : Personnalisations de look
1. Créez une structure custom/uPortal/webpages/media/org/jasig/portal/layout/tab-column/xhtmltheme/<nom_theme> sur le modèle du dossier update/uPortal/webpages/media/org/jasig/portal/
layout/tab-column/xhtml-theme/esup
2. Renommez les fichiers skin/esupXXX.css en skin/<nom_theme>XXX.css
3. Adaptez les feuilles de style dans skin
4. Remplacez dans le fichier skin/<nom_theme>.css les occurences esup par <nom_theme>
5. Modifiez les images et icônes dans les répertoires controls, institutional, navigation
6. Référencez le thème dans custom/uPortal/webpages/media/org/jasig/portal/layout/tab-column/
xhtml-theme/skinList.xml
7. Redéployez : ant init; ant deploy;
Document generated by Confluence on Jun 10, 2008 08:53
Page 25
Téléchargement