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