/11/2004 Formations ESUP Portail Niveau novembre Formation ESUP Portail Yohan Colmant Doriane Dusart Florent Fareneau
/11/2004 Plan Installation Gestion du portail Personnalisation Installation avec Apache en frontal Cassification d'une application
/11/2004 Installation Package esupdev et uportal-esup Installation et configuration de esupdev Package cas-esup Installation de esup-cas-server Configuration de l'authentification CAS dans esupdev
/11/2004 Les différents packages Apports par rapport à uPortal Différences entre les 2 packages Répertoires utilisés Fichier de propriétés esup-portail Targets ant esup-portail Démo
/11/2004 Apports par rapport à uPortal Ajout de librairies Authentification CAS possible Environnement esup-portail Skin esup-portail SGBD nettoyé. Groupes pré-chargés Installation aisée Un seul fichier de propriétés Commandes ant depuis un seul endroit Les 2 packages partagent un même jeu commun de propriétés et directives ant Permettent lutilisation dun frontal apache
/11/2004 Différences entre les 2 packages Esupdev : Surcouche du quick-install uPortal Environnement de prise en main, et développement Peut fonctionner en autonome, sur windows ou linux Peut fonctionner en environnement uPortal, ou esup Supporte un grand nombre doptions Environnement dexploitation sorti du répertoire Tomcat Permet dapprocher progressivement de lenvironnement uPortal vers lenvironnement esup-portail Suivra les patchs et mises à jour uPortal
/11/2004 Différences entre les 2 packages uPortal-esup : Prévu pour une installation de production Supporté sur linux / unix uniquement Nécessite une installation préalable de ant Jeu de propriétés plus réduit Environnement esup-portail obligatoire Utilise nécessairement lauthentification CAS Pas dinstallation ant ni hsql Install. / déploiement / paramétrage tomcat optionnels Evolution plus lente vis-à-vis duPortal
/11/2004 Répertoires esupdev Tous les répertoires sous la racine dinstallation du package : uPortail_...-quick-start UpdateEsup ClearEsup Perso Intérêt du répertoire Perso
/11/2004 Répertoires uPortal-esup Répertoires initiaux Packages Répertoires après esup.unzip UpdateEsup (sous la racine du package) Perso (sous la racine du package) Déploiement Tomcat Déploiement des sources uPortal-esup Répertoire de lenvironnement dexploitation
/11/2004 Propriétés Sous la racine du package esup-2.3.properties, ou esupdev-2.3.properties Éventuellement, perso.properties pour esupdev Propriétés ont des valeurs par défaut Permettent le paramétrage de base du portail Jeu commun pour les 2 packages Certaines spécifiques à un package Valeurs par défaut différentes selon le package Exemple
/11/2004 Targets ant A exécuter depuis la racine du package Targets préfixées esup. ou uportal. Principales targets : esup.unzip (spécifique uPortal-esup) esup.init (détaillé diapo suivante) uportal.compile esup.db.init uportal.deploy esup.clean (esupdev) ou esup.cleanall (uPortal-esup) Autres targets
/11/2004 Fonctionnement target esup.init Recopie des fichiers / librairies esup De UpdateEsup/Tomcat vers Tomcat De UpdateEsup/uPortal vers env. uPortal De UpdateEsup/drivers vers lib uportal et Tomcat (uniquement le driver jdbc décrit dans properties) Recopie des éventuelles personnalisations locales De Perso/Tomcat vers Tomcat De Perso/uPortal vers env. uPortal Mis à jour des différents fichiers de paramétrage (tomcat, uportal, …) Ne pas oublier ant uportal.deploy ensuite
/11/2004 Conseil dutilisation Ne pas modifier directement dans lenvironnement uPortal Utiliser le répertoire Perso Pour la mise en production Paramétrer les options de la JVM Changer les mots de passe admin et demo Voir les applis admin et manager tomcat Mettre server.deploy à false après une première installation
/11/2004 Installation et configuration de esupdev Base de données postgresql LDAP Autentification sur BD
/11/2004 Configuration Paramètres généraux java_home=/usr/lib/j2sdk1.4 esup.root=/.../esupdev esup.deploy=/.../esupdev/uPortal_2-3-5-quick-start/Tomcat_ /webapps Paramètres LDAP esup.ldap.baseDN=ou=people,dc=univ-XXX,dc=fr Paramètres de la BD esup.db.auth=true esup.db.username=XXXXX esup.db.password=YYYYY esup.db.url=jdbc:postgresql://XXXX:5432/XXXX esup.db.jdbcDriverJar=pg74.1jdbc3.jar esup.db.className=org.postgresql.Driver Paramètres divers esup.env.esup-portail=true server.reloadable=true esup.userprefs.save=true Ne pas mettre de caracteres '\', meme sous Windows sous Windows : preciser obligatoirement le nom de lecteur pour les chemins absolus (java_home et esup.root)
/11/2004 Package esup-cas-server Aperçu et contraintes Installation - intérêt des packages esup Installation esup-cas-server Premiers tests du serveur CAS Certificats Génération d'un certificat auto signé
/11/2004 Aperçu et contraintes Mécanisme de SSO Web Sappuie sur redirections http via navigateur Le serveur CAS doit être accessible en https Connexions http(s) directes de lappli web cliente vers le serveur CAS Fonctionnement mode proxy Contraintes mode proxy Connexions https directes de lappli web proxy vers le serveur CAS Réciproque nécessaire également
/11/2004 Installation - intérêt des packages esup Packages serveur CAS Modifications mineures de source Personnalisation aisée du serveur Un fichier de configuration Generic Handler : authentification souple, multi backends Logs dauthentification Packages clients php, perl, java, pam-cas
/11/2004 Installation esup-cas-server (1/2) Utiliser les packages esup-portail esup-cas-quick-start :install rapide, comprenant le serveur tomcat esup-cas-server : installation sur un tomcat existant Pré-requis JVM (SDK) Ant Tomcat, si esup-cas-server certificats
/11/2004 Installation esup-cas-server (2/2) Décompacter le package Adapter le fichier properties/build.properties Choisir auth LDAP simple (commenter..auth=test, décommenter auth=ldap) Voir fichier de log, et le rép. De déploiement) ant deploy Adapter le contexte CAS de tomcat Personnalisations possibles répertoire 'custom/cas-server-render/' propriété 'cas-server.render'
/11/2004 Premiers tests du serveur CAS Login – logout direct, en http et https Test applicatif simple. Voir phpCAS Test proxy. Voir phpCAS, puis casimap Test avec esup-portail. Attention, contrôler proxy : mode DEBUG, et grep –i pgt sur portal.log Penser à vérifier les logs Tomcat et esup-cas-server, et logs daccès W3 Voir le document dédié à la recherche sur incidents CAS …/SSO_1B/tech/cas/CAStroubleshooting.html
/11/2004 Certificats (1/3) ATTENTION: La machine doit posséder un certificat Soit auto signé (Par exemple si le serveur CAS est sur la même machine que le portail) Soit un certificat dune IGC (Infrastructure de Gestion de Clés)
/11/2004 Certificats (2/3) Serveurs https : au moins CAS et proxies CAS Doivent contenir le bi-clé Doivent présenter la chaîne de certification si non auto signés Apache et mod_ssl : fichiers différents, paramétrés dans httpd.conf Tomcat : un seul keystore, paramétré dans server.xml
/11/2004 Certificats (3/3) Clients https : au moins CAS et proxies CAS Doivent faire confiance au certificat présenté Le magasin des certifs de confiance doit contenir le certificat (clé publique) du serveur, ou dune Autorité de Certification ayant délivré le certificat Pour les applis serveur J2EE : Soit géré directement par lappli (pas le cas duPortal et de CAS) Soit mettre le certificat dans le keystore de la JVM Soit valuer la variable javax.net.ssl.trustStore (conseillé) Conseil : utilisez une IGC !!! Pour lenseignement supérieur : voir le CRU
/11/2004 Génération d'un certificat auto signé Retrait d'un eventuel certificat precedent keytool -delete -alias tomcat -keystore $JAVA_HOME/jre/lib/security/cacerts - storepass changeit Génération du couple de clefs keytool -genkey -alias tomcat -dname "CN=nomMachine.nomDomaine,OU=X,O=Y,L=Z,S=XY,C=YZ" -keyalg RSA - storepass yyyyyy -keystore nomMachine.keystore Exportation du certificat auto-signé keytool -export -alias tomcat -storepass yyyyyy -file nomMachine.cert -keystore nomMachine.keystore Ajout du certificat dans le magasin global du JDK keytool -import -v -trustcacerts -alias tomcat -file nomMachine.cert -keystore %JAVA_HOME%/jre/lib/security/cacerts -keypass xxxxxx -storepass changeit Contrôle keytool -list -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit
/11/2004 Installation et configuration de esup-cas-server #==================================================================== # Simple (fastbind) LDAP authentication (used when ${esup-casgeneric.auth} = ldap) esup-casgeneric.auth=ldap esup-casgeneric.auth.ldap.filter=uid=%u,ou=people,dc=univ,dc=fr esup-casgeneric.auth.ldap.url=ldap:// :389 #==================================================================== # CAS Server HTML rendering cas-server.render=esup-portail.org #==================================================================== # CAS Server deploy home (directory) cas-server.deploy.home=c:/serveur/esupdev-2.3/uPortal_2-3-5-quick- start/Tomcat_5-0-18/webapps/cas
/11/2004 Configuration de esupdev avec CAS Paramètres généraux esup.CAS.auth=true esup.CAS.proxy=true esup.CAS.server.url=nomMachine:8443/cas esup.host.http=nomMachine esup.host.port-http=:8080 esup.host.port-https=:8443 Ne pas mettre de caracteres '\', meme sous Windows sous Windows : preciser obligatoirement le nom de lecteur pour les chemins absolus (java_home et esup.root)
/11/2004 Gestion du portail Le gestionnaire de groupes et d'attributs Le gestionnaire de canaux
/11/2004 Gestion des attributs
/11/2004 Définition Capacité de uPortal à gérer des attributs à partir de plusieurs sources SGBD LDAP (attributs à valeurs multiples gérés) Définition dans le fichier properties/PersonDirs.xml Une entrée par source de données Possibilité de faire correspondre un nom interne uPortal à un nom de lattribut dans la source de données ur1sourcecreation uPortalTemplateUserName
/11/2004 PersonDirs.xml ldap://ldap.univ-xxx.fr:389/ou=People,dc=univ-xxx,dc=fr (uid={0}) cn …/…
/11/2004 Gestion des groupes
/11/2004 Groups Manager Gestion des groupes du portail Canal inclus dans le portail Création de groupe Suppression de groupe Ajout dutilisateur dans des groupes Utilisable en tant que canal servant
/11/2004 Groups Manager 2 Structure hierarchique des groupes Recherche de groupe, de personne, de canaux
/11/2004 Groups Manager 3 Paramètres dun groupe Creation dun groupe Ajouter un membre Groupe Personne Canal ….
/11/2004 Groups Manager 4 Permission sur les groupes
/11/2004 Les groupes composites Capacité de uPortal à gérer des groupes divers Locaux LDAP (pas utilisés par ESUP car peu performants) Filesystem (pas utilisés par ESUP) PAGS Définition dans le fichier properties/groups/compositeGroupServices.xml
/11/2004 Les groupes composites 2 pags org.jasig.portal.groups.ReferenceIndividualGroupServiceFactory org.jasig.portal.groups.pags.PersonAttributesEntityStoreFactory org.jasig.portal.groups.pags.PersonAttributesGroupStoreFactory org.jasig.portal.groups.pags.PersonAttributesEntitySearcherFactory false true
/11/2004 Les PAGS Groupes construits en fonction des attributs des utilisateurs Définition dans le fichier properties/groups/PAGSGroupStoreConfig.xml Possibilité : Et/ou sur des attributs Tester égalité des attributs avec une chaîne avec gestion de la casse ou pas expressions régulières etc.
/11/2004 PAGS 2 <!-- Group 2: "Short First Names" givenName has 5 or fewer characters --> 2 Short First Names Portal users whose first names are between 1 and 5 characters long givenName org.jasig.portal.groups.pags.testers.RegexTester ^.{1,5}$ 3
/11/2004 TP uvhcEtuComposante = ISTV uvhcEtuFormation = S3MAV1 (attribut LDAP) => esupEtuFormation = S3MAV1 (attribut uportal) tata uvhcEtuFormation = S3AMU1 titi uvhcEtuComposante = FLLASH uvhcEtuFormation = L3HIV1 toto uvhcEtuFormation = L3ANV2 tutu testeur
/11/2004 Gestionnaire de canaux
/11/2004 Publication Processus de mise à disposition de nouveaux contenus extérieures au portail : site web, fil RSS dans la structure du portail : application interne Définition des règles de restriction daccès 2 méthodes de publication : Channel Manager Définition dun fichier xml et utilisation de la directive pubchan, proposée par le portail
/11/2004 Channel Manager Accessible par licône de la barre doutils du portail Réservé aux membres du groupe des «Administrateur uPortal » Channel Manager : modifier un canal créer un canal
/11/2004 Les types de canaux Type de documents dentrée pour le portail : Image : document de type jpg ou gif utilisé comme source RSS : canal pour un fil dinformations Applet : rendu dune applet dans le canal Inline Frame : rendu dun page HTML sans contrainte Web Proxy : rendu dune page XHTML XML Transformation : document XML transformé par un ensemble de feuilles XSL WSRP Consumer : service WSRP Custom : tout le contenu est créer pour lauteur du canal.
/11/2004 Paramètres globaux Channel Title : dans le bandeau den tête du canal Channel Name : Dans le canal de souscription Channel functionnal name : Identifiant unique du canal dans le portail Channel description : Dans le mode dédition dun canal
/11/2004 Contrôle du canal Icônes traditionnelles de contrôle Icône dédition Modification de paramètres Icône daide Conseils dutilisation du canal Icône A propos de Boîte de dialogue dinfo sur le canal, son auteur
/11/2004 Catégorie Canal de souscription de contenu Sélection dune ou plusieurs catégories Valider la sélection Affichage de la sélection (Dé)sélection des catégories Validation avec le bouton « Next »
/11/2004 Groupes Quelle population peut accéder à ce nouveau canal ? Manipulation similaire à la sélection des catégories : Sélection Validation
/11/2004 Récapitulatif Définition globale du canal Modification : accès à une rubrique par hyperlien Retour avec le bouton « Review » Validation de la création du canal avec le bouton « finished »
/11/2004 La directive ANT pubchan
/11/2004 Définition Définition dun fichier xml Placement du fichier pubcanal.xml dans uPortal_DEPLOY-HOME/properties/chanpub ant uportal.pubchan -Dchannel= pubcanal.xml (pour publier tous les canaux ant pubchan – Dchannel=all)
/11/2004 Fichier xml Le Site del'UHP siteuhp Le site w3 de l'UHP Inline Frame org.jasig.portal.channels.CInlineFrame 5000 N en_US Entertainment Everyone height 600 N url N Paramètres globaux Structure de contrôle Catégories Paramètres Groupes
/11/2004 TP User admin Créer un canal de type IFrame qui pointe vers la page daccueil de votre établissement Créer un canal RSS qui pointe sur valenciennes.fr:8080/appli_news/versRss.jsp?canal=ESUPACTUS Utilisez le pubchan de Hello_word Dézipper et déployer le canal ant uportal.pubchan -Dchannel= pubCHelloWorld.xml