Groupe 1A (socle)

Date de création : 10juin 2004
Dernière modification : 26 novembre 2004
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'.

Ce package contient l'installation d'un serveur Tomcat, de la distribution uPortal 2.3 (branche rel-2.4.patches) 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 et 9.0, 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.

Un document décrit plus en détail les apports de ce package.

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.3-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.3.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éelement 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.3.properties

Un fichier situé à la racine du package permet de paramétrer l'ensemble de l'installation esup-portail : c'est esup-2.3.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

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 de paramètres liés à l'authentification CAS

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.CAS.server.url, esup.host.http, esup.db.username, esup.db.password, esup.db.url, esup.ldap.host, esup.ldap.port, esup.ldap.baseDN, esup.ldap.groups.etu.formation

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.3.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.

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.groups.load -DdataFile=/properties/groups/esupGroupLoad.xm

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.

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'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 et 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é potantiel.

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.3.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.