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 : &nbsp; 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