Groupe 1A (socle)

Date de création : 25 octobre 2004
Dernière modification : 1 mai 2005
Diffusion : internet

Installation du package esup-portail

Ce document décrit l'installation et la première prise en main du package du socle esup-portail' issu de la version 2.4 d'uPortal.

Ce package contient l'installation d'un serveur Tomcat, de la distribution uPortal 2.4 (branche rel-2.4) et des librairies et personnalisations propres à l'environnement esup-portail (voir le document sur les groupes esup-portail proposés).

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 .

Téléchargement.
Changelog.


Le sommaire de ce document est le suivant :


Conseils préalables

L'utilisation de l'installation d'Esup-portail issue de ce package nécessite une bonne connaissance préalable d'uPortal, de l'environnement Esup-portail et de l'authentification CAS.

Si ce n'est pas le cas, la bonne stratégie de prise en main est d'utiliser le package de test et développement d'esup-portail (sous windows ou linux), en suivant les étapes suivantes :

Lorsque vous serez familiarisé avec ce dernier environnement, vous pourrez appréhender le package esup-portail sans problème.

Pré-requis

L'installation de ce package suppose les pré-requis suivants :

Système d'exploitation

Linux, UNIX.

En pratique, esup-portail a été testé sur Redhat 7.x, 9.0, ES et solaris xxxx

SGBD

Doit fonctionner avec un SGBD acceptant du SQL standard et les transactions, et proposant un drivers JDBC natif.

Testé avec mysql (version 4 ou supérieure), postgree, oracle.

A noter, pour mysql : ce sgbd ne supporte des transactions qu'avec des tables de type BDB ou INNODB ; il est donc impératif d'utiliser ce type de tables pour la base esup-portail.

Environnement java

La JVM (en fait, un SDK, car le portail doit être compilé) doit être préalablement installée.

La télécharger par exemple à :
http://java.sun.com/j2se/1.4.2/download.html

La variable JAVA_HOME doit être valué, et le chemin $JAVA_HOME/bin rajouté au PATH

Ant

Le logiciel ant doit être installé.

Le télécharger à :
http://ant.apache.org/

La variable ANT_HOME doit être valuée, et le chemin $ANT_HOME/bin rajouté au PATH

Authentification

Un serveur CAS est opérationnel au sein de l'établissement, et testé préalablement.

LDAP

L'établissement doit disposer d'un annuaire LDAP exhaustif et compatible supann.

Contenu du package

Ce package permet une installation uPortal en y ajoutant des libraries et un environnement spécifiques esup-portail.
Il apporte également les librairies et le paramétrage permettant l'utilisation du mécanisme de SSO CAS.

Il installe et paramètre également le serveur Tomcat ; cette installation reste optionnelle (mais conseillée), afin de permettre à des établissements désirant utiliser un autre moteur de servlet de le faire.

Organisation du package

Ce paragraphe décrit l'organisation File Système liée au package. Il précise l'organisation juste après le décompactage du package, puis celle qui résulte de la directive 'ant esup.unzip', qui installe réellement le package.

Organisation File système suite au décompactage du package

Le décompactage du package crée le répertoire uPortal-2.4-esup-1-version qui est la racine de l'installation (esup.root).

Sous cette racine ,on trouve les fichiers et répertoires suivants :

Remarque : pour le bon fonctionnement du package, seuls les fichiers properties suivants peuvent (et doivent) se trouver à la racine :

Autres répertoires créés par le package (suite à ant esup.init)

Déploiement de tomcat (server.home)

C'est le répertoire dans lequel la procédure d'installation va déployer le serveur tomcat. La procédure d'installation va supprimer les applications d'exemples livrés avec la distribution tomcat.

En fait, le déploiement de ce répertoire (et les différents paramètres liés) ne sera effectué que si le paramètre server.deploy=true

Déploiement de l'environnement source d'uPortal (esup.distrib)

C'est le répertoire dans lequel la procédure d'installation va déployer les sources d'uPortal, puis ultérieurement les personnalisations liées à eSup-portail et aux directives du fichier esup-2.4.properties.

Déploiement des exécutables esup-portail (esup.deploy)

C'est le répertoire où seront déposés les fichiers issus du déploiement esup-portail (lors du ant uportal.deploy). C'est donc ce répertoire qui sera connu du moteur de servlet (tomcat) pour l'exécution du portail.
En fait, le déploiement d'esup-portail se fait dans un sous-répertoire nommé uPortal.

Installation et personnalisation

Ce paragraphe décrit de manière rapide le processus d'installation, de paramétrage ; les paragraphes suivant détaillent les différents paramètres ou options.

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 ddans les différents répertoires paramétrés.

Un seul compte local est réellement utilisable au démarrage : le compte admin (mot de passe admin).C'est le compe de l'administrateur global d'esup-portail.

Lancement / arrêt de serveur

Deux scripts shell sont fournis, installés sous la racine du package (esup.root) :

Remarques :

Propriétés du fichier esup-2.4.properties

Un fichier situé à la racine du package permet de paramétrer l'ensemble de l'installation esup-portail : c'est esup-2.4.properties.

La prise en compte de modifications dans ce fichier nécessite un ant esup.init, puis ant uportal.deploy, et enfin un redémarrage du serveur.

Ces propriétés supportent toutes des valeurs par défaut, sauf la première

Paramètres de chemins file système

A noter : un keystore est fourni avec ce package : ac-racine-cru.keystore ; il contient le certificat de l'ac-racine du CRU. Si vos certificats de serveurs sont délivrés par le CRU, en particulier le certificat du serveur CAS, vous pouvez utiliser ce fichier.

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 :

  1. Seul tomcat est utilisé pour délivrer le contenu ; il doit donc implémenter le connecteur http tomcat.
  2. Un serveur apache est installé en frontal du serveur tomcat ; mod_jk2 est utilisé pour la communication frontal - tomcat
  3. répartition de charge (load-balancing), avec différentes options :
    1. un seul frontal apache qui gère le load-balancing avec mod_jk2
    2. Un load-balancer qui distribue les requêtes http vers les serveurs tomcat
    3. 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

Paramètres liés au host virtuel (url publique)

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

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.
Pour le moment, les groupes LDAP ne sont pas traités

Paramètres liés à CAS

Ce sont des paramètres liés à l'authentification CAS

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

et les URIs suivants à ajouter à l'URL du portail, liés à l'authentification CAS ; a ne pas modifier

Paramètres liés aux accès SGBD uportal

Paramètres divers

Finalement, les paramètres à priori nécessaires à coup sûr sont :

java_home, esup.root, esup.host.http, esup.public.host, esup.db.username, esup.db.password, esup.db.url, esup.ldap.host, esup.ldap.port, esup.ldap.baseDN, esup.ldap.groups.etu.formation

Et certainement nécessaires si mysql ou postgree :

esup.db.db-version

Directives ant

Les différentes actions liées à ce package (en dehors du lancement ou de l'arrêt du serveur) se font par l'intermédiaire de l'utilitaire 'ant', lancé par la commande 'ant' suivie de paramètres. L'exécution de ces directives doit se faire nécessairement depuis la racine du package (esup.root).

Certaines directives sont directement issues de la distribution uPortal ; elles sont préfixées par 'uportal'.
Les autres ont été créées spécifiquement pour le package esup-portail ; elles sont préfixées par 'esup'.

Elles exploitent les paramétres écrits dans le fichier esup-2.4.properties.

Directives développées par esup-portail

ant esup.unzip

Comme indiqué précédemment, cette directive décompacte les 'sous-packages' situés dans le répertoire packages.

A noter que Tomcat n'est déployé que si server.deploy=true

ant esup.init

Cette directive applique la personnalisation esup-portail au package.

Doit être suivi d'un ant uportal.deploy et d'une relance du serveur pour prise en compte.

A noter que l'environnement Tomcat n'est impacté que si server.deploy=true

ant esup.cleanall

Cette directive supprime les installations ou modifications faites par l'installation précédente du package sauf :

Ne supprime pas l'environnement d'exécution (esup.deploy)

ant esup.db.init

Cette directive écrase et réinitialise la base uPortal. Si esup.pubchan = true (par défaut), des canaux et des fragments 'de base' sount également publiés ; ce sont les canaux décrits dans les fichiers xml présents dans properties/chanpub, et le fichier de fragment properties/al/esup-fragments.xml

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 :

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.

Cette commande est très utile en cas d'utilisation de l'option esup.users.autocreate=false, ce qui permet de limiter la population ayant accès au portail.

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.groupload -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.dn.init qui doit être utilisée.

En pratique, les directives uPortal dont vous aurez besoin sont :

Utilisation de l'arborescence Perso

Le but est de permettre de modifier des fichiers de configuration, de source, ... tout en laissant la possibilité de faire ensuite une mise à jour du package, ou une nouvelle installation en récupérant facilement les modifications locales.

L'emplacement de ce répertoire est maintenant paramétrable (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é comme le répertoire UpdateEsup.

Lors d'un ant esup.init, les arborescences UpdateEsup/Tomcat, UpdateEsup/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.

Les fichiers de personnalisations qui seraient propres à l'établissement (sources java, fichiers de config, fichiers Tomcat, lgos, ...), sont à placer dans l'arborescence Perso.

Ceci permettra toujours la modification des fichiers de properties, voire de faire une mise à jour de votre package, ceci sans perdre les personnalisations non prévues dans le package.

Conseils d'utilisation

Mots de passe initiaux

Il est impératif de changer le mot de passe de l'administrateur local (admin) très rapidement.

En faire de même pour le compte demo, qui est un 'modèle' pour les comptes qui seront créés dynamiquement.

Paramètres JVM et Tomcat

Les fichiers scripts proposés, et le paramétrage de tomcat ne sont pas optimisés.
Ils permettent de démarrer rapidement un environnement de semi-production.

Il est nécessaire de paramétrer au plus près la JVM (occupation mémoire, fonctionnement du garbage collector, ...) et tomcat (utilisation des pools de connexion, ...) en fonction de votre exploitation.

Configuration Tomcat

Il est plus que probable que chaque établissement aura à personnaliser son environnement tomcat ; et aura à coeur que l'installation tomcat se soit pas perturbée par des modifications de paramètres liés à esup-portail. Donc, il est fortement conseillé de mettre la propriété server.deploy à la valeur false à la suite d'une première installation.

Applications admin et manager de tomcat

Lors de l'installation du package, ces applications livrées avec tomcat sont actives.

Elles permettent d'administrer le serveur tomcat depuis un navigateur.

C'est un problème de sécurité potentiel.

Il est à la charge de l'établissement de les sécuriser, voire de les supprimer.

Modifier en particulier le fichier tomcat-users.xml afin de changer les comptes ayant des accès à ces applications.

Personnalisations

Ce package est destiné à une première installation d'un environnement de production esup-portail.

Les paramètres prévus dans le fichier esup-2.4.properties, et les différents fichiers proposés par esup-portail seront sans doute insuffisants pour une personnalisation plus poussée.
Par exemple, lors de l'adaptation / création d'un nouveau skin, de logos, voire de modifications de sources uPortal ou esup-portail,...

Il est donc important de mettre les fichiers 'locaux' dans l'arborescence Perso : ceci permet d'une part, de bien discerner les personnalisations locales par rapport à l'environnement initial, et d'autre part, de pouvoir faire des mises à jour du package tout en pouvant les ré-appliquer ultérieurement.