braveo:docinstall:cas:install
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
braveo:docinstall:cas:install [2012/02/18 12:51] – modification externe 127.0.0.1 | braveo:docinstall:cas:install [2024/04/16 22:28] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Installation du serveur d' | ||
+ | |||
+ | ===== Introduction ===== | ||
+ | |||
+ | Nous allons mettre en place un serveur d' | ||
+ | |||
+ | Une fois le serveur installé nous montrerons comment configurer un vhost apache, qui sera utilisé pour l' | ||
+ | |||
+ | __Sommaire :__ | ||
+ | |||
+ | ===== Installation du CAS ===== | ||
+ | |||
+ | ==== Installation du JDK JAVA ==== | ||
+ | |||
+ | Le CAS étant programmé en JAVA nous aurons besoin du kit de développement JDK. Pour se faire : | ||
+ | apt-get install sun-java6-jdk | ||
+ | |||
+ | Commande qui permet de choisir entre JRE et JDK. | ||
+ | sudo update-alternatives --config java | ||
+ | |||
+ | Ne vous préoccupez pas de la variable d' | ||
+ | |||
+ | ==== Installation de CAS-Quickstart ==== | ||
+ | |||
+ | Commencez par télécharger l' | ||
+ | |||
+ | |||
+ | Nous allons ensuite travailler dans **/opt/** : | ||
+ | cd /opt/ | ||
+ | | ||
+ | Décompression de l' | ||
+ | tar xvzf ~/ | ||
+ | cd cas-quickstart-3.4.7-1/ | ||
+ | |||
+ | Avant d' | ||
+ | cat env.sh | tr -d ' | ||
+ | mv env env.sh | ||
+ | |||
+ | |||
+ | A répéter sur **start.sh** et **stop.sh** : | ||
+ | cat start.sh | tr -d ' | ||
+ | mv start start.sh | ||
+ | cat stop.sh | tr -d ' | ||
+ | mv stop stop.sh | ||
+ | |||
+ | |||
+ | On configure les variables d' | ||
+ | <code C> | ||
+ | #!/bin/sh | ||
+ | |||
+ | export LANG=fr_FR | ||
+ | |||
+ | export JAVA_HOME=/ | ||
+ | |||
+ | export CATALINA_HOME=/ | ||
+ | export CATALINA_BASE=$CATALINA_HOME | ||
+ | export CATALINA_TMPDIR=$CATALINA_HOME/ | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | readlink -f / | ||
+ | Vous pouvez aussi le configurer dans / | ||
+ | </ | ||
+ | |||
+ | Pour s' | ||
+ | chmod a+x *.sh | ||
+ | chmod a+x apache-tomcat-6.0.32/ | ||
+ | | ||
+ | En lance le CAS : | ||
+ | ./start.sh | ||
+ | | ||
+ | Vous avez deviné pour l' | ||
+ | |||
+ | On vérifie qu'il tourne bien en regardant les ports ouvert de la machine : | ||
+ | < | ||
+ | $ netstat -nlpt | ||
+ | Connexions Internet actives (seulement serveurs) | ||
+ | Proto Recv-Q Send-Q Adresse locale | ||
+ | tcp 0 0 0.0.0.0: | ||
+ | tcp 0 0 0.0.0.0: | ||
+ | tcp 0 0 0.0.0.0: | ||
+ | tcp 0 0 127.0.0.1: | ||
+ | tcp6 | ||
+ | tcp6 | ||
+ | tcp6 | ||
+ | tcp6 | ||
+ | tcp6 | ||
+ | </ | ||
+ | Si les port 8005, 8009 (ajp pour apache) et 8080 sont ouverts, alors votre CAS tourne correctement. | ||
+ | Allons voir ce que cela donne concrètement : http:// | ||
+ | |||
+ | Un petit tout dans les logs pour voir se qu'il s'y passe : | ||
+ | < | ||
+ | $ tail apache-tomcat-6.0.32/ | ||
+ | Sat Aug 20 22:40:45 CEST 2011 - AUTHENTICATION_SUCCESS for ' | ||
+ | </ | ||
+ | |||
+ | Pour se déconnecter : http:// | ||
+ | |||
+ | |||
+ | ===== Sécurisation du CAS ===== | ||
+ | |||
+ | Nous n' | ||
+ | |||
+ | ===== CAS-toolbox ===== | ||
+ | |||
+ | Avec CAS-toolbox, | ||
+ | |||
+ | |||
+ | ==== Installation de ANT ==== | ||
+ | |||
+ | Ant est un outil de compilation. Pour l' | ||
+ | sudo apt-get install ant | ||
+ | |||
+ | ==== Installation de CAS-toolbox ==== | ||
+ | |||
+ | Téléchargez la dernière version de cas-toolbox ici : https:// | ||
+ | Dans la foulé, téléchargez aussi cas-maven-repository (sur le même site). | ||
+ | |||
+ | Décompressez le dans **/opt/** : | ||
+ | tar xvzf ~/ | ||
+ | cd cas-toolbox-3.4.7-1/ | ||
+ | |||
+ | On crée ensuite un répertoire build pour y décompacter cas-maven-repository : | ||
+ | mkdir build | ||
+ | tar xvzf / | ||
+ | | ||
+ | Dans **config.properties** vérifiez/ | ||
+ | < | ||
+ | cas.authHandlers=fileHandler, | ||
+ | </ | ||
+ | |||
+ | Dans **build.properties**, | ||
+ | < | ||
+ | #deploy dir | ||
+ | deploy.path=/ | ||
+ | [...] | ||
+ | #Améliore la rapidité de la compilation | ||
+ | maven.offline=true | ||
+ | [...] | ||
+ | simpleTestHandler.name=cas-server-support-generic | ||
+ | simpleTestHandler.conf=simpletest-auth.xml | ||
+ | </ | ||
+ | |||
+ | <note important> | ||
+ | package.version=3.4.7 | ||
+ | </ | ||
+ | |||
+ | Allez on compile et on déploie (dans le dossier de cas-toolbox) : | ||
+ | < | ||
+ | $ ant init | ||
+ | [...] | ||
+ | BUILD SUCCESSFUL | ||
+ | $ ant deploy | ||
+ | BUILD SUCCESSFUL | ||
+ | </ | ||
+ | |||
+ | Voilà c'est bon, on va maintenant configurer le LDAP puis personnaliser les pages. | ||
+ | |||
+ | ===== Configuration du LDAP ===== | ||
+ | |||
+ | Rien de plus simple c'est configuré en 2 lignes, dans **config.properties** de cas-toolbox : | ||
+ | < | ||
+ | # Ldap properties | ||
+ | ldap.host.1=ldap:// | ||
+ | ldap.basedn=uid=%u, | ||
+ | [...] | ||
+ | cas.authHandlers=ldapHandler | ||
+ | </ | ||
+ | |||
+ | Un petit **ant init** et **ant deploy**, puis relance de cas-quickstart **./stop.sh && start.sh**. | ||
+ | |||
+ | |||
+ | ===== Thème et template ===== | ||
+ | |||
+ | Nous allons jouer sur les variables **theme** et **views** de **config.properties** (cas-toolbox). | ||
+ | |||
+ | ==== Création d'une " | ||
+ | |||
+ | Les fichiers personnalisés seront dans **custom** (de cas-toolbox). On crée d' | ||
+ | mkdir -p custom/ | ||
+ | mkdir -p custom/ | ||
+ | Puis on part de la vue par défaut présente dans cas-quickstart qu'on va copier coller (mdl29 est le nom de la vue) : | ||
+ | cp ../ | ||
+ | |||
+ | |||
+ | |||
+ | Enfin il faut créer un fichier **custom/ | ||
+ | |||
+ | Ensuite vous changez le(s) chemin(s), par exemple dans notre fichier : | ||
+ | < | ||
+ | ### Login view (/login) | ||
+ | casLoginView.(class)=org.springframework.web.servlet.view.JstlView | ||
+ | casLoginView.url=/ | ||
+ | |||
+ | ### Login confirmation view (logged in, warn=true) | ||
+ | casLoginConfirmView.(class)=org.springframework.web.servlet.view.JstlView | ||
+ | casLoginConfirmView.url=/ | ||
+ | |||
+ | ### Logged-in view (logged in, no service provided) | ||
+ | casLoginGenericSuccessView.(class)=org.springframework.web.servlet.view.JstlView | ||
+ | casLoginGenericSuccessView.url=/ | ||
+ | |||
+ | ### Logout view (/ | ||
+ | casLogoutView.(class)=org.springframework.web.servlet.view.JstlView | ||
+ | casLogoutView.url=/ | ||
+ | |||
+ | ### CAS error view | ||
+ | viewServiceErrorView.(class)=org.springframework.web.servlet.view.JstlView | ||
+ | viewServiceErrorView.url=/ | ||
+ | |||
+ | viewServiceSsoErrorView.(class)=org.springframework.web.servlet.view.JstlView | ||
+ | viewServiceSsoErrorView.url=/ | ||
+ | </ | ||
+ | |||
+ | Je vous laisse bidouiller les scripts pour vous amuser avec :) | ||
+ | |||
+ | ==== Création d'un thème ==== | ||
+ | |||
+ | On crée l' | ||
+ | mkdir -p custom/ | ||
+ | | ||
+ | Puis on copie le thème par défaut : | ||
+ | cp / | ||
+ | |||
+ | Ensuite vous adaptez les CSS, il ne faut pas non plus oublier un autre fichier .properties. | ||
+ | |||
+ | Vous aurez besoin d'un fichier **custom/ | ||
+ | < | ||
+ | mobile.custom.css.file=themes/ | ||
+ | standard.custom.css.file=themes/ | ||
+ | </ | ||
+ | |||
+ | \\ \\ | ||
+ | |||
+ | Enfin dans la configuration **config.properties** : | ||
+ | < | ||
+ | # graphic theme | ||
+ | theme=mdl29 | ||
+ | views=mdl29 | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | On compile et on relance le CAS. | ||
+ | |||
+ | ===== vhost apache ===== | ||
+ | |||
+ | Vous devez activer le module prox_ajp : | ||
+ | a2enmod proxy_ajp | ||
+ | |||
+ | Ensuite voici le vhost / | ||
+ | < | ||
+ | < | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | ServerName castest.mdl29 | ||
+ | DocumentRoot / | ||
+ | # SSL | ||
+ | SSLEngine on | ||
+ | SSLCertificateFile | ||
+ | SSLCertificateKeyFile / | ||
+ | SSLCACertificateFile / | ||
+ | SSLVerifyClient None | ||
+ | |||
+ | CustomLog / | ||
+ | |||
+ | ProxyPass | ||
+ | ProxyPassReverse | ||
+ | RequestHeader set " | ||
+ | RequestHeader set " | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | |||
+ | ===== CAS Proxy et certificats ===== | ||
+ | |||
+ | Le CAS aura besoin de communiquer avec les différents services, toujours de manière sécurisée, | ||
+ | |||
+ | |||
+ | Pour des besoins de développement vous serez peut-être amené à utiliser des certificats auto signés il est donc nécessaire de connaitre la démarche d' | ||
+ | |||
+ | |||
+ | Les certificats sont stockés dans le keystore de JAVA, pour lister les certificats déjà présents (sur la machine du CAS) : | ||
+ | keytool -v -list -keystore $JAVA_HOME/ | ||
+ | |||
+ | Le mot de passe par défaut est **changeit** | ||
+ | |||
+ | Pour ajouter un certificat : | ||
+ | keytool -import -trustcacerts -alias _mdl29_net -file mdl29.net.crt | ||
+ | | ||
+ | |||
+ | Pour plus de commandes : http:// | ||
+ | |||
+ | \\ \\ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | Rédigé par Benjamin Bernard \\ | ||
+ | Retour au sommaire principal : [[braveo: | ||
+ | Retour au sommaire principal | ||