TP : CAS installation du serveur
Introduction
Nous vous proposons de compléter l’infrastructure de TP installée sur votre portable en installant un serveur CAS. Vous pourrez ainsi comprendre ce que représente ce type d’installation, et vous servir de ce serveur pour certains TPs. L’objectif de ce TP est de construire et personnaliser un système d’authentification CAS avec la boîte à outils Jasig et Renater basée sur cas- quickstart, cas-toolbox et cas-maven.
Vous réaliserez les opérations sur la VM web de l’infrastructure de TP installée sur votre portable.
Comprendre les éléments de l’architecture mis en oeuvre
Recensez les éléments d’architecture dont vous aurez besoin et listez les actions à réaliser
- réalisez la même démarche que dans le TP précédent
Ordre des installations à réaliser
- réalisez la même démarche que dans le TP précédent
Valider l’environnement du TP :
- Reprendre les éléments du TP précédents
- Voir ce qu’il vous faut de plus
Installation du CMS CAS
-> Installation du CAS et de JAVA JDK
-
Rajouter dans /etc/apt/sources.list la ligne : « deb http://http.debian.net/debian/ wheezy main contrib »
-
Vérifiez les mises à jour :
aptitude update && aptitude upgrade
- Puis installez JAVA JDK :
aptitude update && aptitude install java-package
aptitude install openjdk-7-jdk openjdk-7-jre
Vérifier que ça s’est bien installé.
- Choisir éventuellement la version de java
update-alternatives --config java
root@web:~# update-alternatives –config java
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
Nothing to configure
-> Installation de Cas-Quickstart :
- télécharger sur le site de Renater l’archive compressée de cas-quickstart : https://sourcesup.cru.fr/frs/?group_id=401 dans /opt et décompressez-la
cd /opt
wget http://sourcesup.cru.fr/frs/download.php/3677/cas-quickstart-3.4.7-1.tar.gz
tar -xvzf cas-quickstart-3.4.7-1.tar.gz
scp depuis le portable si le wget ne fonctionne pas
- Vérifiez l’environnement pour la bonne exécution des scripts : s’assurer du format des fichiers .sh (env,start et stop)
cd cas-quickstart-3.4.7-1/
cat env.sh | tr -d '\015' > env
mv env env.sh
cat start.sh | tr -d '\015' > start
mv start start.sh
cat stop.sh | tr -d '\015' > stop
mv stop stop.sh
- Configurer les variables d’environnement de cas-quickstart-3.4.7-1/env.sh pour pouvoir lancer CAS
Trouver le répertoire d’installation de JAVA qui vous permettra de renseigner correctement le fichier env.sh, par exemple :
readlink -f /usr/bin/java | sed -e "s/\/jre\/bin\/java//g"
Pour cela, adapter les chemins et remplacer les lignes comme suit dans le fichier env.sh :
#!/bin/sh
export LANG=fr_FR
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
export CATALINA_HOME=/opt/cas-quickstart-3.4.7-1/apache-tomcat-6.0.32
export CATALINA_BASE=$CATALINA_HOME
export CATALINA_TMPDIR=$CATALINA_HOME/temp
Attention
ne pas copier-coller /bin/java pour JAVA_HOME
- Donner les droits d’exécution :
chmod a+x *.sh
chmod a+x apache-tomcat-6.0.32/bin/*.sh
- Tester CAS : Lancement arrêt
./start.sh
./stop.sh
./start.sh
Vérifier que CAS tourne bien et écoute sur les ports 8005,8009 et 8080 de java :
ps auwx|grep cas
netstat -nlpt
Le lancement prend un peu de temps, attendez de voir les 3 ports 8005, 8009 et 8080 en écoute dans la commande netstat
Attention, si vous rencontrez des erreurs à ce niveau, vérifier que vous aviez arrêté les processus d’apache2 : service apache2 stop
Enfin, tester CAS via un navigateur internet : http://localhost:8080
refaite votre connexion ssh à la machine web en adaptant la redirection de port
ssh -p 2203 -i ~/.vagrant.d/insecure_private_key -L 8080:127.0.0.1:8080 vagrant@web
Saisir l’identifiant de test : password/password (vous devez obtenir connexion réussie)
Pour vous déconnecter, dans le navigateur de test : http://localhost:8080/logout
Vous pouvez vérifier les logs dans la machine web : tail apache-tomcat-6.0.32/logs/auth.log
-> Installation de Cas-toolbox
- Installez ANT :
aptitude install ant
-
Télécharger sur le site de Renater les archives compressées de cas-toolbox et de cas-maven- repository : https://sourcesup.cru.fr/frs/?group_id=401
-
Toutes les installations se feront dans le répertoire /opt
cd /opt
– Décompresser les archives dans /opt et créer le répertoire build pour extraire cas-maven-repository
tar -xvzf cas-toolbox-3.4.7-1.tar.gz
cd cas-toolbox-3.4.7-1
mkdir build
tar -xvzf /opt/cas-maven-repository-3.4.7-1.tar.gz -C build/
– Puis sous /opt/cas-toolbox-3.4.7-1 :
cp config.sample.properties config.properties
cp build.sample.properties build.properties
- Vérifier et adapter le fichier build.porperties avec le modifications suivantes (chemins de déploiement du service CAS ; indiquer à maven de travailler sans connexion réseau) :
vi build.properties
deploy.path=/opt/cas-quickstart-3.4.7-1/webapps/cas
maven.offline=false (laisser false même si certaines doc indiquent true)
simpleTestHandler.name=cas-server-support-generic
cas.package.version=3.4.7 (en fin de fichier)
- Editer le fichier config.properties pour vérifier les variables :
vi config.properties
cas.authHandlers=fileHandler
- Lancer la compilation :
ant init
Le résultat doit être : init: … BUILD SUCCESSFUL
-> Configuration de la base d’authentification centrale (ici un annuaire LDAP) :
Modifier le fichier « config.properties » de cas-toolbox : - saisir l’adresse IP du serveur LDAP existant aux lignes – saisir la bonne base DN en indiquant les bons dc= dc=
ldap.host.1=ldap://auth.mathrice.fr:389
ldap.host.2=ldap://ldap2.fr:389
ldap.basedn=uid=%u,o=people,dc=mathrice,dc=fr
cas.authHandlers=ldapHandler
Puis sur l’annuaire local :
ldap.host.1=ldap://gate.vbox.tp:389
ldap.host.2=ldap://ldap2.fr:389
ldap.basedn=uid=%u,ou=people,dc=vbox,dc=tp
– mettre à jour le service CAS :
ant init
ant deploy
Buildfile:/opt/cas-toolbox-3.4.7-1/build.xml
deploy:
[copy] Copying XXX files to /opt/cas-quickstart-3.4.7-1/webapps/cas
BUILDSUCCESSFUL
– Puis, sous /opt/cas-quickstart-3.4.7-1, redémarrer cas-quickstart :
./stop.sh && ./start.sh
- Testez : sur http://localhost:8080 avec un utilisateur de l’annuaire LDAP (voir page lundi -> liste des membres de l’annuaire)
-> Ensuite, vous pouvez personnaliser la page de login CAS
Vous voulez savoir comment ?
Sécurisation du serveur CAS (les échanges en HTTPS pour le PGT)
-> Voici le lien internet pour utiliser des certificats X509 avec le serveur CAS
https://www.esup-portail.org/wiki/display/DOC/Utilisation+de+certificats+X509+pour+CAS
-> Mais pour le TP et les tests avec l’installation d’un Tomcat embarqué dans Java, un lien internet pour configurer SSL avec Apache/Tomcat:
http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html#Quick_Start
-
modifier le fichier server.xml sous /apache-tomcat-6.0.14/conf/serveur.xml ; pour cela, créer un trousseau de clés appelé « keystore » avec l’utilitaire JAVA « keytool
-
vous pouvez vérifier la liste des certificats déjà présents et importés → par la commande : keytool -v -list -keystore $JAVA_HOME/jre/lib/security/cacerts
-
ajouter dans le fichier /apache-tomcat-6.0.14/conf/serveur.xml
connector port= »8443 » clientAuth=’‘false’’ keystoreFile=’’${catalina.base}/conf/keystore’’ keystorePass=’‘changeit’’ keyAlias=’‘tomcat’’ keypass=’‘changeit’’