Installation du socle Esup Portail [2.6]

esup sera accessible via un serveur apache 'en frontal' à l'adresse http://serveur/uPortal.
Une simple redirection dans un fichier index.php permettra de rediriger http://serveur/ vers http://serveur/uPortal.
Ceci permet de pouvoir déployer sans encombre d'autres applications dans apache (comme par exemple phpMyAdmin)

Tous les fichiers présents dans /home/ent/ appartiennent à l'utilisateur ent et sont manipulés par ent. Les autres fichiers sont manipulés par root.

Création de la base de données

Ajouter dans /etc/my.cnf

default-table-type=innodb

Redémarer mysql puis dans PhpMyAdmin, créer un utilisateur ent@localhost associé à une base ent

Installation

Décompression de l'archive esup [ https://sourcesup.cru.fr/frs/?group_id=173 ]

mkdir /home/ent/esup
cd /home/ent/esup
tar -xvzf esup-2.6-esup-2.0.5.tgz
ln -s esup-2.6-esup-2.0.5 default

Créer esup/default/build.properties à partir de build.sample.properties et modifier :

java_home=/usr/java/default
server.home=/home/ent/tomcat/default

Créer esup/default/config.properties à partir de config.sample.properties et modifier.

# URL
esup.public.host
# LDAP
esup.ldap.url, esup.ldap.baseDN, esup.ldap.bindDN, esup.ldap.bindPasswd, esup.ldap.groups.etu.formation
#CAS
esup.cas.host, esup.cas.uri
#DB
esup.db.username, esup.db.password, esup.db.url

Installer le portail

Si vous êtes derrière un proxy :

export ANT_OPTS="-Dhttp.proxyHost=proxy -Dhttp.proxyPort=port"
cd /home/ent/esup/default
ant getcomponents
ant unzip
ant init
ant deploy
ant db.test
ant db.init

Enregistrer le certificat du serveur cas dans le keystore

keytool -alias cas_server -import -file certificat_cas.crt -storepass votrepass -noprompt -keystore /home/ent/esup/default/esup-portail.keystore
keytool -list -keystore /home/ent/esup/default/esup-portail.keystore       //pour vérifier

Configurer Apache en frontal

Créer un fichier  /etc/httpd/conf.d/ent.conf

<VirtualHost *:80>
        DocumentRoot               /var/www
        ServerName                   votreserveur.domaine.fr
        Options                         +FollowSymLinks
        ProxyRequests               off
        ProxyPass                      /uPortal ajp://localhost:8009/uPortal
        ProxyPassReverse         /uPortal ajp://localhost:8009/uPortal
</VirtualHost>

Pour que le mode Proxy CAS fonctionne, le service doit être accessible en https. Il faut donc ajouter la section https suivante dans le fichier ent.conf. (après avoir généré des clés dans /etc/ssl/ent)

<VirtualHost *:443>
        DocumentRoot                    /var/www
        ServerName                       votreserveur.domaine.fr
        SSLCertificateFile                /etc/ssl/ent/ent.crt
        SSLCertificateKeyFile          /etc/ssl/ent/ent.key
        SSLEngine                          on
        ProxyPass                          /uPortal ajp://localhost:8009/uPortal
        ProxyPassReverse             /uPortal ajp://localhost:8009/uPortal
</VirtualHost>

Vous pouvez ajouter dans ce virtual host le contenu de phpmyadmin.conf (cf Préparation du serveur) pour y accéder en https.

Ajouter le contexte dans la configuration de tomcat

Editer /home/ent/tomcat/default/conf/server.xml et ajouter à la fin de la balise <Host>

<Context path="/uPortal" docBase="/home/ent/esup/default/Portail/webapps/uPortal" crossContext="true" reloadable="true">
  <Resource name="jdbc/PortalDb" auth="Container" type="javax.sql.DataSource"
        username="ent" password="mot de passe"
        driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/ent"
        maxActive="100" maxIdle="30" maxWait="10000"
        poolPreparedStatements="true" validationQuery = "select 1"
        removeAbandoned="true" removeAbandonedTimeout="300" logAbandoned="true" />
  <Resource name="jdbc/PersonDb" auth="Container" type="javax.sql.DataSource"
        username="ent" password="mot de passe"
        driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/ent"
        maxActive="100" maxIdle="30" maxWait="10000"
        poolPreparedStatements="true" validationQuery = "select 1"
        removeAbandoned="true" removeAbandonedTimeout="300" logAbandoned="true" />
  <Manager pathname=""/>
</Context>

Editer esup/default/start-esup.sh pour augmenter la mémoire allouée

JAVA_OPTS="-Xms50m -Xmx512m -XX:MaxPermSize=256m -server -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false";export JAVA_OPTS

Lancer le portail et redémarrer apache

esup/default/start-esup.sh
service httpd restart

Tester via http://serveur/uPortal/

Accueil esup-portail