esupdev2-4
Installation d'un environnement de test et de prise en main esup-portail
Ce document décrit comment installer et utiliser le package 'environnement
de prise en main esup-portail'.
Cet environnement peut être utilisé à des fins de test
esup-portail, ou de mise en oeuvre rapide d'un environnement de développement,
ceci depuis un système windows ou linux.
Il installe à la fois le serveur Tomcat, un serveur HSQL, la distribution
uPortal et des apports esup-portail.
Il s'appuie sur l'installation 'quick-install' d'uportal V2.4 (voir les documents
Windows et Linux),
et ajoute la 'couche' esup-portail (voir le document
associé).
Il livre donc un environnement complet du portail, comprenant les différentes
librairies d'accès au SGBD, à LDAP, et d'interfacage avec le mécanisme
de SSO CAS.
Il ne livre pas les différents canaux esup-portail, à installer
indépendamment .
La base liée à ce package peut être initialisée
de 2 manières :
- Soit avec un environnement qui est celui d'Esup_Portail
- Soit avec l'environnement de base uPortal
Un fichier de propriété unique permet de paramétrer tout
cet environnement d'un manière simple.
La mise en oeuvre est donc très rapide.
L'espace de download est accessible ici
(choisir esupdev2.4...)
Le fichier CHANGELOG
est consultable dans la distribution.
L'utilisation du package de mise à jour fait l'objet d'un paragraphe
spécifique.
A noter que les mises à jour de ce package n'incluent pas les patchs
de la release uportal.
Enfin, le document décrivant l'installation
et le paramétrage du package esup-portail corespondant est également
disponible.
Le sommaire de ce document est le suivant :
Description du package esupdev
Fonctionnalités
En plus de la distribution quick-install 2.4, ce package propose :
- patchs : il est régulièrement mis à jour des
pachs correctifs de la version 2.4 d'uPortal
- accès SGBD : possiblité d'utiliser simplement différents
SGBD comme base uportal
- CAS : les différentes librairies liées au SSO CAS sont
incluses. Si le serveur CAS utilise un certificat du CRU, le certificat de
l'ac-racine est déja inclus dans la distribution, et tomcat est paramétré
avec.
- Authentification : il est paramétré pour authentifier
de base avec CAS ou la base locale. Une authentification LDAP est également
possible.
- paramétrage simple des emplacements file-système, les
urls des serveurs, ...
- Fonctionnement et procédures identiques sous Windows et Linux.
- Possibilité d'utiliser très simplement un frontal apache
pour les différentes machines de développement.
- centralisation des mises à jour : les paramètres essentiels
figurent dans un seul fichier. Les différentes commandes liées
à la personnalisation, la compilation, le lancement ou l'arrêt
du serveur sont similaires et exécutées depuis la racine du
package.
- interfaçage aisé avec l'environnement de développement
'eclipse'.
- skin : un skin au look esup-portail est inclus
- navigation : une navigation
alternative par menus et sous-menu est disponible en option
- base : la base peut être initialisée avec l'environnement
initial uPortal, ou avec un environnement esup-portail (canaux d'exemple exclus,
look esup-portail, groupes conforme à l'environnement esup-portail,
...)
Contenu
La racine du package est : esupdev-2.4
Sous cette racine se trouvent différents fichiers ou répertoires.
Les principaux fichiers sont :
- README.txt : un document texte qui décrit le package, et résume
les procédures d'installation et d'utilisation.
- build.xml : c'est le fichier utilisé lors des différentes
directives ant. A ne pas modifier.
- default.esupdev-2.4.properties : c'est un fichier de propriétés
qui paramètre le fonctionnement de l'installation. A ne pas modifier.
- esupdev-2-4.properties : c'est le fichier de paramétrage du
package. Toutes les personnalisations propres à esup-portail sont paramétrés
depuis ce fichier
- perso.properties : c'est un fichier de paramétrage auxilliaire
qui accepte les même propriétés que le fichier précédent.
Il est livré vide.
Les directives présentes dans perso.properties ont prédominance
sur celles d'esupdev-2.4.properties.
L'intérêt : avoir par exemple un fichier esupdev-2.4.properties
propre à un établissement (paramétrages LDAP, CAS, ...),
et les quelques informations liées à la personnes (accès
SGBD, ...) dans le fichier perso.properties, ceci dans le cadre d'essais ou
de développements.
- scripts de lancement : ant, start-esup, stop-esup,
env, avec l'extension .sh pour l'environnement linux, et .cmd ou .bat
sous Windows.
Seul le fichier ant est à adapter.
Et les sous répertoires de premier niveau :
- uPortal_2-4-x-quick-start : c'est la distribution quick-install d'uportal
2.4-x. Eventuellement , une version comportant les patchs officiels issus
de la branche 2-4-patches peut être présente.
- scripts : des utilitaires divers
- UpdateEsup : contient des fichiers qui vont écraser les fichiers
similaires de la distribution uPortal initiale lors de la personalisation,
ou apporter de nouveaux fichiers à la racine d'exécution du
portail. Ca contient donc d'éventuels patchs relatifs aux sources uportal,
des librairies, sources, skins, ... supplémentaires propres à
esup-portail.
- ClearEsup : contient des fichiers qui vont permettre de remettre
en état initial la distribution uportal si nécessaire
- Perso : c'est une arborescence similaire à UpdateEsup (en
fait, l'emplacement de ce répertoire est maintenant paramétrable,
à l'aide de la propriété esup.custom)
Il contient 3 répertoires (comme UpdateEsup et ClearEsup) : ROOT, Tomcat
et uPortal; ces répertoires sont livrés vides. Il est possible
d'y ajouter des fichiers qui seront recopiés dans l'arborescence finale,
afin de personnaliser.
Seul ce dernier répertoire ne devrait être modifié
par les utilisateurs.
En résumé : l'utilisateur ne devrait modifier que le fichier
esupdev-2-4.properties (et encore, celui-ci pourrait être proposé
pour un établissement), perso.properties, et éventuellement déposer
des fichiers dans les répertoires Perso/Tomcat et/ou Perso/uPortal et/ou
Perso/ROOT.
Remarque : pour le bon fonctionnement du package, seuls les fichiers
properties suivants peuvent se trouver à la racine :
- esupdev-2.4.properties. Obligatoire, modifications autorisées.
- default.esupdev-2.4.properties. Obligatoire, modifications interdites
- perso.properties. Facultatif, modifications autorisées
Installation et personnalisation du package
On suppose ici une installation sous Windows, dans le répertoire C:\esupdev.
La procédure est quasiment identique sous linux (à l'extension
des scripts près).
Pré-requis
On suppose que la JVM est déja installée.
La télécharger par exemple à :
http://java.sun.com/j2se/1.4.2/download.html
si on ne désire pas utiliser la distribution HSQL incluse, il faut au
préalable créer la base uPortal.
Installation et personnalisation rapide
On suppose ici une installation sous Windows, avec la JVM installée
dans \j2sdk1.4.2_03 et ce package dans \esupdev.
- Décompresser le package dans le répertoire choisi (ici,
C:\esupdev) ; un répertoire est créé : esupdev-2.3 ;
il contient l'arborescence décrite ci-dessus.
- cd esupdev-2.3 (on appellera ce répertoire la 'racine' du package)
- Sous linux, faire 'chmod 755 *sh'
- Adapter le fichier script ant (.bat ou .sh) ; à
priori les 2 variables d'environnement JAVA_HOME et ESUP_DEV.
- Adapter le fichier esupdev-2.4.properties. C'est le principal travail
à effectuer. Ce fichier est décrit plus loin dans ce document.
2 options principales sont possibles :
- initialiser la base et le look avec un environnement esup-portail :
propriété esup.env.esup-portail=true
Il faut avoir une connaissance préalable du fonctionnement d'uPortal,
en particulier dans la gestion des groupes et des permissions
- initialiser la base et le look avec l'environnement pa défaut
uPortal :
propriété esup.env.esup-portail=false
A choisir pour une prise en main
- Eventuellement, enrichir le fichier perso.properties
- Faire ant esup.init (sous linux : ./ant.sh esup.init) pour répercuter
les personnalisations dans l'environnement uportal.
- faire ant uportal.compile : compilation (si nécessaire) des
source uPortal
- Faire ant uportal.dbtest : ceci permet de tester la connectivité
à la base SGBD du portail.
- Si le sgbd est hsql, rien à faire.
- Si le sgbd est mysql ou postgree, noter le "Database version"
(dans les première lignes du rapport), et mettre cette valeur complète
dans la propriété esup.db.db-version
- Si c'est un autre sgbd, voir pour editer manuellement le fichier dbloader.xml
- En cas de changements, refaire un ant esup.init pour répercuter
ceux-ci
- La première fois, faire ant esup.db.init : initialise la base
en fonction des propriétés esup.env.esup-portail, esup.pubchan.
ATTENTION : ceci écrase la base uPortal ; ce n'est donc à faire
que si on veut réinitialiser la base.
- faire ant uportal.deploy : compilation des sources java si nécessaire,
et déploiement vers l'environnement Tomcat
Remarques
Passage d'un environnement uPortal vers un environnement esup-portail
Il est possible de passer alternativement de la base uportal à la base
esup-portail :
- modifier la propriété esup.env.esup-portail
- ant esup.init
- ant uportal.deploy
- ant esup.db.init (nécessaire pour le changement d'environnement)
- start-esup
Comptes locaux disponibles
Ce sont des comptes préparamétrés dans la base locale
uPortal
- En environnement uPortal
les comptes suivants sont disponibles (le mot de passe est égal
au login) :
- admin (droits d'administration globale)
- demo (compte dont héritent les nouveau comptes créés)
- guest (utilisateur anonyme. Compte utilisé en non authentifié)
- faculty
- staff
- student
- En environnement esup-portail
Seuls les comptes admin, demo, guest sont valides
Arrêt / Relance du serveur
Le lancement du serveur peut se faire de 2 manières :
- start-esup (.cmd ou .sh)
- ant tomcat.start
La seconde méthode peut être utile dans le cas d'utilisation de
l'environnement de développement éclipse
L'arrêt du serveur peut également se faire de 2 manières
:
- stop-esup
- ant tomcat.stop
Remarque : pour les personnes désirant utiliser la base hsql,
il est nécessaire de la lancer auparavant :
ant hsql.start
Directives ant
Les directives ant utilisables sont réparties en différentes
catégories :
- spécifiques aux ajouts de ce package
- liées aux directives uPortal
- liées à Tomcat
- divers
Directives liées au package
ant esup.init
Cette directive applique la personnalisation esup-portail à la distrib
quick-install d'uPortal.
- nettoyage éventuelle d'un 'ant esup.init' précédent
- recopie de UpdateEsup/Tomcat vers l'environnement Tomcat du quick-install
- recopie de UpdateEsup/uPortal vers l'environnement uPortal du quick-install
- recopie de UpdateEsup/ROOT vers l'environnement exécutable d'uPortal.
- Même opération pour Perso/Tomcat, Perso/uPortal, Perso/ROOT
(ou autre emplacement, fonction de la propriété esup.custom)
- Application des paramètres des fichiers .properties vers les environnements
Tomcat et uPortal du quick-install
pour devenir opérationnelle, cette directive doit être suivie
d'un ant uportal.deploy, puis d'un arrêt / relance de tomcat.
ant esup.clean
Cette directive remet la distribution quick-install d'uPortal dans son état
initial
- recopie de CleanEsup/Tomcat et CleanEsup/uPortal vers la quick-install
- remise à la valeur d'origine de certains paramètres
- suppression de certains fichiers / répertoires
Faire un ant esup.clean avant tout changement de paramètre esup.uri
ou esup.deploy, sinon certains fichiers ne pourront plus être effacés.
Après un ant esup.clean, il faudra nécessairement refaire un
ant esup.init, puis ant uportal.deploy, puis éventuellement, ant esup.db.init.
ATTENTION : ceci supprime également le répertoire de l'environnement
d'exécution d'uPortal (esup.deploy)
ant esup.db.init
Cette directive écrase la base uPortal. Voir paragraphe à ce
sujet.
ant esup.users.ldapadd
Cette directive permet de 'précharger' les comptes utilisateurs uPortal
à l'aide de comptes issus d'un annuaire LDAP.
Doit être lancée avec les paramètres nécessaires
aux accès LDAP :
- LdapURL : obligatoire . l'URL d'accès au serveur LDAP
- LdapFilter : obligatoire. le filtre LDAP à appliquer
- LdapLoginID : facultatif. Un Distinguish Name (DN) en cas de bind non anonyme
- LdapPass : facultatif. Le mot de passe en cas de bind non anonyme.
Exemples :
esup.users.ldapadd -DLdapURL="ldap://ldap.univ.fr/dc=univ,dc=fr"
-DLdapFilter="(&(objectclass=inetorgperson)(cn=a*))"
esup.users.ldapadd -DLdapURL="ldap://ldap.univ.fr:392/dc=univ,dc=fr"
-DLdapFilter="(&(objectclass=inetorgperson)(cn=a*))"
-DLdapLoginID=uid=admin,dc=univ,dc=fr -DLdapPass=password
Il est possible de relancer régulièrement cette commande afin
de créer les comptes uPortal correspondant aux nouveaux comptes LDAP
; les anciens comptes ne sont pas impactés.
ant esup.groups.load
Cette directive permet de gérer les groupes uportal à l'aide
d'un fichier de configuration xml.
Par défaut, le fichier utilisé est properties/groups/GroupLoad.xml
Voir la documentation de cet utilitaire.
Il supporte le paramètre dataFile, qui permet d'utiliser un autre
fichier de configuration.
Exemple :
ant esup.groups.load -DdataFile=/properties/groups/esupGroupLoad.xml
ant esup.groups.perm.load
Cette directive permet de gérer les permissions liées aux groupes
uportal à l'aide d'un fichier de configuration xml.
Par défaut, le fichier utilisé est properties/groups/GroupPermLoad.xml
Il supporte le paramètre dataFile, qui permet d'utiliser un autre
fichier de configuration.
Exemple :
ant esup.groups.perm.load -DdataFile=/properties/groups/GroupPermLoadSample.xml
Directives liées à la distribution uportal
Ce sont les directives qu'on peut lancer habituellement depuis la distribution
uPortal. Le principal intérêt de les reprendre est d'éviter
d'avoir à se déplacer dans le répertoire de distribution
uportal.
Un autre intérêt concerne les directives qui impactent la base
uPortal (db, dbtest, initportal, ...) : normalement, il est nécessaire
de désactiver l'utilisation jndi dans uportal.properties pour le faire.
Ici, ce n'est plus nécessaire.
Le nom de ces directives est le même que les directives fournies avec
la distribution uPortal, en les préfixant de 'uportal.'.
Ainsi, les directives suivantes sont fournies :
uportal.projecthelp, uportal.all, uportal.clean, uportal.compile, uportal.deploy,
uportal.dist, uportal.initportal, uportal.db, uportal.dbtest, uportal.pubchan,
uportal.pushfragment, uportal.deployPortletApp, uportal.dbunload, uportal.javadoc,
uportal.md5passwd, uportal.deluser
Remarque : ne plus utiliser la directive uportal.initportal. C'est la
directive esup.db.init qui doit être utilisée.
En pratique, les directives uPortal dont vous aurez besoin sont :
- ant uportal.compile : compilation des sources, et recopie dans uPortal_2-4-x-quick-start/uPortal_rel-2-4-x/build
- ant uportal.deploy : compilation si nécessaire des sources
'fraiches', et recopie dans l'environnement d'exécution tomcat (uPortal_2-4-x-quick-start/webapps/uPortal)
- ant uportal.dbtest : test de la connctivité à la base
- ant uportal.pubchan : permet de publier d'exécuter un/des
fichiers de publication de canaux se trouvant sous uPortal_2-4-x-quick-start/uPortal_rel-2-4-x/properties/chanpub/
- ant uportal.pubfragments : permet de oublier un fichier de publication
de fragments se trouvant sous uPortal_2-4-x-quick-start/uPortal_rel-2-4-x/properties/al/
- ant uportal.md5passwd : permet de créer un utilisateur uPortal
local, ou de modifier son mot de passe.
- ant uportal.deluser : permet de supprimer un utilisateur uportal.
Directives liées au lancement de tomcat
En production, il est préférable de lancer tomcat via un script,
afin de maîtriser facilement les variables d'environnement liées
à java et tomcat.
En développement, au moins avec eclipse, il peut être intéressant
de pouvoir lancer / arrêter tomcat avec ant. Aussi, deux directives ant
sont proposées.
- ant tomcat.start : lancement tomcat, en prenant en compte le certificat
autorisant le serveur cAS.
- ant tomcat.stop : arrêt tomcat
Directives diverses
Pour les personnes désirant utiliser le SGBD HSQL fourni avec la distribution,
le lancement de ce SGBD est prévu dans les directives ant :
ant hsql.start
Pour utiliser la base fournie avec la distribution quick-install d'uPortal,
il est possible de laisser les paramètres suivants à leur défaut
dans esupdev_2.3.properties :
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
Propriétés du fichier esupdev-2.4.properties
Ce sont les propriétés possibles au niveau du fichier esupdev-2.4.properties.
Une seule est obligatoire : java_home ; pour les autres, une valeur par défaut
est prévue.
A noter que tous les séparateurs de répertoire utilisent
le caractère '/', même sous Windows.
Sous windows, et pour les chemins absolus, toujours préciser
le nom de lecteur (ex : c:/esupdev).
Ces propriétés peuvent être également présentes
dans le fichier perso.properties ; dans ce cas, elles sont prioritaires sur
les propriétés de meme nom du fichier esupdev-2.4.properties.
Propriétés essentielles
Ce sont les propriétés dont la bonne valeur est indispensable
à un fonctionnement minimum du package
- java_home : le répertoire d'installation de la JVM.
- esup.env.esup-portail : booléen. Permet de personnaliser le
look et le fonctionnement à l'environnement esup-portail (si true),
ou maintenir un environnement proche de la distribution uPortal
false par défaut (donc, comportement
proche du quick-install uPortal).
Chemins File système
- esup.root : c'est la racine du package. Par exemple, si le package
a été installé sous C:\esupdev, esup.root=c:/esupdev/esupdev-2.4
C:/esupdev/esupdev-2.4 par défaut
- esup.deploy : définit le répertoire de déploiement
d'exploitation de l'environnement esup-portail et des portlets éventuelles.
Le portail sera déployé dans un sous-répertoire uPortal
de esup.deploy, les portlets directement dans ce répertoire.
ATTENTION : le répertoire esup.deploy est supprimé lors
d'un ant esup.clean
esup.deploy=${esup.root}/${uportal.quick.root}/webapps
par défaut
- esup.custom : indique l'emplacement des personnalisations propres
au site (appelé répertoire Perso).
${esup.root}/Perso par défaut
- esup.log.file : nom du fichier de log uportal.
${esup.root}/portal.log par défaut
- esup.stats.file : nom du fichier de stats.
${esup.root}/stats.log par défaut
- esup.stats.recordSessions : C'est une propriété booléenne.
Si true, les informations d'ouverture / fermeture de sessions sont enregistrées
dans le fichier de stats.
true par défaut
- esup.stats.recordTargeted : C'est une propriété booléenne.
Si true, les informations d'activité des canaux sont enregistrées
dans le fichier de stats (lors de la fermeture de la session utilisateur).
Ces infos ne sont enregistrées que si esup.stats.recodSessions est
également à troue.
true par défaut
- esup.stats.fnames : contient la liste des 'fname' des canaux pour
lesquels on désire un suivi statistique.
C'est une liste de 'fname' séparés par le caractère 'virgule'
(,).
par exemple : esup.stats.fnames=esup-webdav,pers-esup-annu,esup-mailto
La valeur "all" active les statistiques se service pour tous les
canaux.
all par défaut
- esup.keystore : c'est le magasin de certificats utilisé par
tomcat pour valider ses accès https. en cas d'authentification CAS,
il doit au moins contenir un certificat validant le serveur CAS.
${esup.root}/ac-racine-cru.keystore par défaut.
C'est suffisant si le certificat du serveur CAS a été délivré
par le CRU.
Paramètres http et ports TCP liés à esup-portail
Certaines de ces propriétés peuvent paraître redondantes
; il n'en est rien, certaines ne sont utiles que dans le cas d'un fonctionnement
en répartition de charge.
Afin de mieux comprendre le rôle de ces propriétés, on
résume ici les différentes mises en oeuvre possibles du portail
:
- Seul tomcat est utilisé pour délivrer le contenu ; il doit
donc implémenter le connecteur http tomcat.
- Un serveur apache est installé en frontal du serveur tomcat ; mod_jk2
est utilisé pour la communication frontal - tomcat
- répartition de charge (load-balancing), avec différentes options
:
- un seul frontal apache qui gère le load-balancing avec mod_jk2
- Un load-balancer qui distribue les requêtes http vers les serveurs
tomcat
- idem 2, mais avec un apache en frontal de chaque tomcat
Pour ce dernier cas, on distingue le host et l'url 'virtuels' ou publiques,
qui correspondent à l'url connue du public, du host et url 'réel'
qui correspondent au serveur réel qui délivre le contenu.
Parametres lies au serveur tomcat
- tomcat.port.shutdown : c'est le port de 'shutdown' de tomcat. A modifier
par exemple si plusieurs instances d'esup-portail tournent sur la même
machine.
8005 par défaut
- tomcat.port.http : c'est le port d'écoute du connecteur http
de tomcat. Si le fonctionnement est de type 'standalone', donc sans frontal
apache, ca sera le port d'accès au serveur esup-portail
8080 par défaut
- tomcat.port.jk : c'est le port d'écoute du connecteur JK de
tomcat. Il sera utilisé par un éventuel frontal HTTP (apache,
par exemple, avec mod_jk1 ou mod_jk2)
8009 par défaut
- tomcat.http : C'est une propriété booléenne.
Si true, le connecteur http de tomcat est actif.
true par défaut
- tomcat.jk : C'est une propriété booléenne. Si
true, le connecteur jk de tomcat est actif.
true par défaut
Paramètres liés au host virtuel (url publique)
- esup.public.host : c'est le nom DNS d'accès au portail. A
CHANGER
ent.univ.fr par défaut.
- esup.public.proto : le protocole utilisé pour les accès
publics.
valeurs possibles : http ou https.
http par défaut
- esup.public.port : le port TCP pour les accès public au portail.
valeurs possibles : "" ou ":nnn". ex : ":8080",
ou ":8443"
Si valeur vide, sous-entend ":80" en http, ou ":443" en
https si l'accès normal au portail est en https
"" par défaut
- esup.public.uri : l'uri d'accès au portail
Si le portail est accessible à la racine du site, ne pas mettre "/"
; laisser vide
/uPortal par défaut
Remarque : L'url publique d'accès au portail se déduit
de ces 4 paramètres :
${esup.public.proto}://${esup.public.host}${esup.public.port}${esup.public.uri}
Paramètres liés au host réel
Ils sont utilisés lors d'accès https directs vers le serveur
réel, soit pour l'URL de callback CAS, soit pour le passage temporaire
en https
- esup.real.host : le nom DNS du serveur réel. Ne pas décommenter
si pas d'utilisation en load-balancing
${esup.public.host} par défaut
- esup.real.port.https. Le port TCP pour les accès https directs
au serveur réel
valeurs possibles : "" ou ":nnn". ex : ":8443"
Si valeur vide, sous-entend ":443" en https
"" par défaut
- esup.real.uri : l'uri d'accès au portail, par le serveur réel
en https.
Mêmes regles que esup.public.uri
${esup.public.uri} par défaut
Remarque : L'url d'accès https au serveur réel se déduit
de ces 3paramètres :
https://${esup.real.host}${esup.real.port.https}${esup.real.uri}
Paramètres liés à LDAP
Ce sont des paramètres liés à l'authentification LDAP
(si nécessaire), et à l'accès aux informations LDAP pour
constituer des groupes ou des attributs uportal issus de requêtes LDAP.
- esup.ldap.auth . C'est une propriété booléenne
(false ou true) . Si true, l'authentification LDAP est activée.
A noter que l'authentification LDAP n'est pas prévue dans la distribution
finale d'esup-portail. Seule, l'authentification CAS sera utilisée
(plus éventuellement une authentification locale pour quelques comptes
spéciaux).
false par défaut
- esup.ldap.persondirs.use. C'est une propriété booléenne.
Si true, LDAP est utilisé pour lier des attributs LDAP aux attributs
des utilisateurs esup-portail (voir le fichier PersonDirs.xml).
true par défaut
esup.ldap.ssl : booléen. a true pour utiliser ldaps lors de
l'authentification LDAP, ou de la recherche d'attributs
false par défaut
- esup.ldap.host, esup.ldap.port, esup.ldap.baseDN :
ce sont les informations nécessaires au bind LDAP
ldap.univ.fr, 389, "ou=People,dc=univ,dc=fr'
par défaut
- esup.ldap.bindDN, esup.ldap.bindPasswd : ces propriété
sont obligatoires, mais peuvent être laissées vides. Elles sont
utilisées si besoin d'un bind non anonyme lors de la récupération
des attributs LDAP liés à la personne.
"" et "" par défaut
- esup.ldap.groups.use : permet d'activer la gestion de groupes uPortal
issus de LDAP.
n'est utilise que si esup.ldap.persondirs.use=true
true par defaut
- esup.ldap.groups.etu.formation : c'est le nom de l'attribut LDAP
qui permet de 'discriminer' les formations d'étudiants
etud-formation par défaut
Paramètres liés à CAS
Ce sont des paramètres liés à l'authentification CAS
- esup.cas.auth . booléen. Si true, l'authentification CAS est
activée.
A mettre impérativement à false si il n'y a pas de serveur
CAS opérationnel utilisable.
false par défaut
- esup.cas.proxy . booléen. Si la valeur est true, cette instance
de serveur esup-portail se comporte comme un proxy CAS. Il faut impérativement
dans ce cas que cette instance d'esup-portail puisse être accessible
en https, et que son certificat de serveur soir reconnu (ou l'autorité
de certification ayant validé le certificat) par le serveur CAS.
false par défaut
- esup.cas.host : c'est le nom DNS du serveur CAS
auth.univ.fr par défaut
- esup.cas.port.https. C'est le port d'acces TCP (necessairement https)
au serveur CAS
valeurs possibles : "" ou ":nnn". ex : ":8443"
si valeur vide, sous-entend ":443"
"" par défaut
- esup.cas.uri : l'uri d'acces au serveur CAS
ex : esup.cas.uri=/cas
si le serveur CAS est a la racine http, ne pas mettre '/' : laisser vide
"" par défaut
Et le paramètres suivants d'accès aux différents services
du serveur CAS.
Ils ne devraient normalement pas être modifiés.
L'uri réelle d'accès à un service CAS est en fait la concaténation
de ${esup.cas.uri} avec la propriété indiquée
- esup.cas.uri.login : URI de login CAS
/login par défaut
- esup.cas.uri.validate : URI de validation de ticket CAS
/serviceValidate par défaut
- esup.cas.uri.proxy : URI permettant de recuperer un proxy ticket
CAS
/proxy par défaut
et les URIs suivants à ajouter à l'URL du portail, liés
à l'authentification CAS ; a ne pas modifier
- esup.public.uri.login : URI utilisee pour le login dans le portail
/Login par défaut
- esup.real.uri.callbackCas : URI de callback (pour recuperation du
PGT)
/CasProxyServlet par défaut
Paramètres liés aux accès SGBD uportal
- esup.db.auth : booléen. Si a true, on utilise également
les comptes internes à la base uPortal (admin, par exemple)
true par défaut
- esup.db.persondirs.use : booléen. Utilise également
la base interne uPortal pour les informations d'attributs de personne.
false par défaut
- esup.db.username : c'est un nom d'utilisateur connu du SGBD, ayant
tous les droits dans la base décrite dans l'URL de connexion
sa par défaut
- esup.db.password : c'est le nom de passe de l'utilisateur précédant.
vide par défaut
- esup.db.jdbcDriverJar : c'est le fichier .jar driver jdbc du SGBD
utilisé. Ce driver doit se trouver dans le répertoire MajEsup/drivers.
Pour le moment, les drivers disponibles sont relatifs aux SGBD hsql, mysql,
postgree, le driver oracle n'étant pas distribuable en libre.
hsqldb.jar par défaut
- esup.db.className : c'est la classe java correspondant au driver
jdbc
org.hsqldb.jdbcDriver par défaut
- esup.db.url : c'est l'url jdbc de connexion.
jdbc:hsqldb:hsql://localhost:8887 par défaut
- esup.db.db-version : c'est la versin du serveur SGBD utilisé.
Indifférent pour hsql
A remplir obligatoirement pour mysql ou postgree. Récupérer
la valeur "Database version" lors du ant uportal.dbtest
4.0.18-max-log par défaut
Paramètres divers
- esup.multiservers : booléen. Si true, le fonctionnement multi-serveurs
est activé. Nécessaire dans un fonctionnement en load-balancing
false par défaut
- esup.webservices.axis : booléen. Si true, les librairies axis
permettant les webservices sont activées.
Le menu d'admin webservices est alors accessible à <portal-uri/services
false par défaut
- esup.webservices.axis.groups : booléen. Si true, le webservice
permettant d'exporter les groupes uPortal est activé.
false par défaut
- esup.host.logicalName : C'est un nom logique de l'instance d'uPortal.
Utilisé par exemple dans les logs pour les discriminer en fonction
de l'instance.
esup1 par défaut
- esup.render.columns : booléen. Si true, la navigation onglets
- colonnes est celle par défaut dans uPortal. Sinon, c'est un système
de menus / sous-menus alternatif.
Voir le document lié
à cette option.
N'est actif que si esup.env.esup-portail=true
true par défaut
- esup.session.lifetime : duree de la session esup-portail en minutes
30 par défaut
- esup.languages : les langues supportées par le portail.
ex : en_US,ja_JP,sv_SE,de_DE
fr_FR,en_US par défaut
- esup.pubchan : booléen. Si true, les canaux et les fragments
fournis avec la distribution sont automatiquement publiés, lors du
ant esup.db.init. Si false, ils ne le sont pas.
true par défaut
- tomcat.esup.reloadable : booléen. si true, force tomcat à
recharger le contexte esup-portail si un fichier a été changé
dans l'environnement d'exploitation.
Utile uniquement en développement, sinon, charge inutilement le serveur
de servlets.
false par défaut.
- esup.portlets.examples.use : booléen. utilisation ou non des
portlets exemples livrées avec uPortal.
false par défaut
- esup.title.main : le 'title' html de la page esup-portail
esup-portail par défaut
- esup.users.autocreate : booléen. si true, esup-portail crée
automatiquement dans sa base interne tout utilisateur qui a été
authentifié
true par défaut
- esup.userprefs.save : booléen. Indique si les preferences
utilisateurs doivent être sauvegardees a la fin de chaque session
true par défaut
- esup.log.size : la taille du fichier log, avant rotation
50000KB par défaut
- esup.log.level : le niveau de log (INFO, WARNING, DEBUG, ...)
INFO par défaut
- esup.stats.attributeType : c'est le nom de l'attribut uportal utilisé
pour discriminer les utilisateurs dans les stats.
eduPersonPrimaryAffiliation par défaut
- esup.stats.size : la taille du fichier stats, avant rotation
30000KB par défaut
Utilisation de l'arborescence Perso
Le but est de vous permettre de modifier des fichiers de configuration, de
source, ... tout en vous laissant la possibilité de faire ensuite une
mise à jour du package, ou une nouvelle installation en récupérant
facilement ses propres modifications.
L'emplacement du répertoire Perso est maintenant paramétrable
à l'aide de la propriété esup.custom.
L'arborescence Perso est découpée en 3 sous-répertoires,
Tomcat, uPortal et ROOT, vides initialement. Elle est donc organisée
comme le répertoire UpdateEsup.
Lors d'un ant esup.init, les arborescences UpdateEsup/Tomcat etUpdateEsup/uPortal
sont recopiés dans l'environnement source uPortal, puis l'arborescence
Perso ; enfin, les personnalisations sont appliquées dans les fichiers
de configuration.
Et Lors d'un ant uportal.deploy, l'arborescence UpdateEsup/ROOT est recopiée
à la racine de l'environnement d'exécution du portail.
Si vous avez des fichiers qui vous sont propres (sources java, fichiers de
config, fichiers Tomcat, ...), mettez les dans l'arborescence Perso.
Ceci vous permettra toujours de pouvoir modifier les fichiers de properties,
voire de faire une mise à jour de votre package, ceci sans perdre vos
personnalisations non prévues dans le package.
Remarques sur l'environnement esup-portail
Comme indiqué précédemment, le chargement de la base esup-portail
(esup.db.init, avec esup.env.esup-portail à true) met le portail dans
un environnement proche de celui d'exploitation.
En particulier, le compte 'demo' dont héritent les comptes uPortal créés
n'appartient à aucun groupe ; il n'a donc aucun droit.
Le seul compte utilisable au démarrage est le compte admin.
Il faut donc que vous mettiez les nouveaux comptes créés dans
un / des groupes uPortal afin qu'ils puissent disposer de certains droits.
Ceci est fait automatiquement par défaut si vous activez l'utilisation
des groupes LDAP, et si votre annuaire est compatible supann :
la distribution utilise alors l'attribut LDAP 'eduPersonnAffiliation' pour mettre
automatiquement le compte créé dans un des groupes 'Personnels',
'Etudiants', ou 'Invites'.
Sinon, en développement, il faut vous loguer une première fois
avec un compte authentifié (CAS ou LDAP), afin de vous faire 'connaitre'
du portail.
Ensuite, se déloguer et se reloguer en admin, et ajouter ce compte comme
membre d'un des groupes existants (de préférence personnel ,etudiant,
ou invité, pour ne disposer que des droits minimum).
Remarques diverses
- Des logs sont disponibles :
- dans Tomcat : répertoire logs. En particulier, si problème
d'accès https, contrôler le fichier catalina.out
- sous la racine de l'installation, le fichier portal.log : ce
sont les logs écrites par l'application uPortal et les différents
canaux. S'y référer en cas de problèmes.
De base, la log uPortal est écite en mode 'INFO' ; il est possible
de la mettre en mode 'DEBUG' pour plus d'information, mais ce dernier
mode est extrêment bavard.
- Si le choix du sgbd uportal est mysql : il faut que celui-ci supporte
les transactions. Si la création par défaut des tables mysql
n'est ni bdb ni innodb, il faut modifier le type des tables après la
directive 'ant uportal.initportal'.
Pour celà, un script (alter_tableV2.4.sql) est fourni à la racine
du package.
- l'arborescence quick-install d'uPortal, ou le répertoire de distribution
uportal peuvent être écrasés sans problème ; ceci
permet par exemple de réappliquer les patchs liés à la
version courante d'uPortal. Il suffit ensuite de ré-appliquer la procédure
'ant esup.init', 'ant uportal.deploy', arrêt-relance tomcat.
- Il est possible de ré-appliquer plusieurs fois la directive 'ant
esup.init'. Ne pas oublier de faire suivre d'un 'ant uportal.deploy' et d'un
arrêt - relance de tomcat
- Le package permet de fonctionner avec un serveur apache en frontal http,
et mod_jk2. Il est possible dans ce cas de prévoir un environnement
de développement collectif au sein d'une université, avec un
frontal apache accessible en http et https et un certificat reconnu du serveur
CAS, et de déporter des répertoires virtuels vers chaque machine
de développement.
La contrainte est que le nom de répertoire virtuel du serveur apache
frontal pour un utilisateur soit identique à l'URI local du serveur
esup-portail (directive esup.uri).
Et il devient possible que chaque environnement de développement se
comporte comme un proxy CAS.
- Un fichier CHANGELOG.txt est maintenu à la racine du package. Tout
changement qui concernera le paramétrage des fichiers properties ou
la base uPortal sera encadré par la chaine suivante : '****'.
Ceci devrait permettre d'installer un nouveau package entier, en sauvegardant
et restituant les fichiers esupdev-2.3.properties et perso.properties, et
le répertoire Perso, sans conséquences.
- Contrairement à une installation quick-install classique, le déploiement
d'uportal par défaut ne se fait pas dans le répertoire webapps
de l'installation tomcat (pour donner de bonnes habitudes ?).
- Pour les personnes n'ayant aucune connaissance préalable d'uportal
: il existe plusieurs comptes locaux fournis avec la distribution ; le password
est identique au login
Utilisation du package de mise à jour
Pour chaque nouvelle version de package est proposée une version de
package de mise à jour.
La mise à jour permet de ne reprendre que la partie spécifique
esup-portail, sans les distributions tomcat, ant et hsql; donc, un fichier beaucoup
plus léger.
Et conserver vos personnalisations.
Pré-requis
L'utilisation du package de mise à jour n'est possible que si vous n'avez
modifié aucun fichier de configuration ou de source dans l'environnement
uPortal.
Procédure de mise à jour
Dézipper le package de mise à jour dans le même répertoire
que celui dans lequel vous avez dézippé le package initial (vous
devez donc voir le répertoire esupdev-2.4 comme sous répertoire).
A surveiller pour la mise à jour
La mise à jour n'écrase pas vos personnalisations. Par contre,
il est possible que des propriétés des fichiers properties aient
changées, ou qu'il y en ait de nouvelles.
Un fichier CHANGELOG.txt est fourni avec le package et la mise à jour.
Pour tout changement lié au fichier properties, 5 caractères *
(*****) précèdent la remarque. Vous devez donc adapter
votre fichier properties en conséquence.
En outre, un fichier "esupdev-2.3.properties.new" est fourni avec
la mise à jour ,qui est la copie du fichier esupdev2.3.properties du
package complet.
Ce que ca fait
La même chose que le package initial, sans les packages tomcat, ant et
hsql, sans les fichiers de scripts ou properties.
Ce qu'il faut faire après
- ant esup.init
- ant uportal.deploy
- arrêt / relance du serveur.