...
Bloc de code |
---|
[root@cas-kerb ~]# cd /usr/local
[root@cas-kerb local]# wget http://www.ja-sig.org/downloads/cas/cas-server-3.3.5-release.tar.gz
--2010-03-09 09:25:51-- http://www.ja-sig.org/downloads/cas/cas-server-3.3.5-release.tar.gz
Resolving www.ja-sig.org... 128.112.131.108
Connecting to www.ja-sig.org|128.112.131.108|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 14467126 (14M) [application/x-gzip]
Saving to: `cas-server-3.3.5-release.tar.gz'
100%[========================>] 14,467,126 427K/s in 15s
2010-03-09 09:26:07 (919 KB/s) - `cas-server-3.3.5-release.tar.gz' saved [14467126/14467126]
[root@cas-kerb local]# tar xf cas-server-3.3.5-release.tar.gz
[root@cas-kerb local]# cd cas-server-3.3.5
[root@cas-kerb cas-server-3.3.5]# cd |
Créer un répertoire cas-server-
...
rennes1 dans lequel seront stockées toutes les personnalisations et y ajouter le fichier pom.xml suivant :
Bloc de code | ||||
---|---|---|---|---|
| ||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>org.jasig.cas</groupId>
<artifactId>cas-server</artifactId>
<version>3.3.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>fr.univrennes1.cas</groupId>
<artifactId>cas-server-rennes1</artifactId>
<version>3.3.5</version>
<packaging>war</packaging>
<name>University of Rennes 1 CAS webapp</name>
<organization>
<name>University of Rennes 1</name>
<url>http://www.univ-rennes1.fr.fr</url>
</organization>
<description>The University of Rennes 1 customizations to the JA-SIG CAS server.</description>
<dependencies>
<dependency>
<groupId>org.jasig.cas</groupId>
<artifactId>cas-server-webapp</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.jasig.cas</groupId>
<artifactId>cas-server-core</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>
<finalName>cas</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>RELEASE</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>jasig-repository</id>
<name>JA-SIG Maven2 Repository</name>
<url>http://developer.ja-sig.org/maven2</url>
</repository>
</repositories>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changelog-plugin</artifactId>
</plugin>
</plugins>
</reporting>
</project> |
Plutôt que modifier les fichiers de la distribution CAS, il est préférable de maintenir toutes modifications effectuées dans ce répertoire, ce qui facilite les mises à jour. Tous les fichiers trouvés dans ce répertoire écraseront les fichiers de la distribution, on adoptera donc exactement la même hiérarchie de fichiers que celle de la distribution.
Installation basique
Copier le fichier src/main/webapp/WEB-INF/classes/log4j.properties de cas-server-webapp dans src/main/webapp/WEB-INF/classes et indiquer le chemin des logs :
Bloc de code |
---|
log4j.appender.logfile.File=/var/log/tomcat5/cas.log |
Générer le WAR, le copier dans Tomcat et redémarrer :
Bloc de code |
---|
[root@cas cas-server-rennes1]# mvn package install
[root@cas cas-server-rennes1]# cp target/cas.war /var/lib/tomcat5/webapps/ROOT.war
[root@cas cas-server-rennes1]# /etc/init.d/tomcat5 restart |
Astuce | ||
---|---|---|
| ||
Ajouter dans le fichier src/main/webapp/WEB-INF/classes/log4j.properties la ligne suivante :
Les logs se trouvent dans le répertoire /var/log/tomcat5. La mise au point la plus difficile est celle de Kerberos (les logs en debug de Krb5LoginModule se trouvent dans catalina.out). |
Test
Tester http://cas-kerb.univ-rennes1.fr:8080 (user = test, password = test).
Script de déploiement de CAS
Pour faciliter le déploiement du serveur CAS et le redémarrage de Tomcat, on pourra ajouter le script /usr/local/cas-server-3.3.5/deploy-restart.sh suivant :
Bloc de code |
---|
[root@cas-kerb ~]# cd /usr/local/cas-server-3.3.5
[root@cas-kerb cas-server-3.3.5]# cat > deploy-restart.sh
#!/bin/bash
service tomcat5 stop
pushd /usr/local/cas-server-3.3.5/cas-server-rennes1
mvn package && rm -f /var/lib/tomcat5/webapps/ROOT.war && cp target/cas.war /var/lib/tomcat5/webapps/ROOT.war
popd
service tomcat5 start
[root@cas-kerb cas-server-3.3.5]# chmod 744 deploy-restart.sh
[root@cas-kerb cas-server-3.3.5]# |
Ajout d'un frontal Apache
On va dans cette partie configurer un frontal Apache sur le port 80, qui va accéder au Tomcat du serveur CAS en AJP sur le port 8009.
Remarque |
---|
Il n'est pas obligatoire de mettre un frontal Apache devant Tomcat, mais cela délègue le chiffrement à Apache au lieu de Tomcat et simplifie l'administration système (cette architecture est employée de manière générale sur les plateformes d'exploitation). |
Configuration de Apache
Insérer dans /etc/httpd/conf.d/proxy_ajp.conf les lignes suivantes :
Bloc de code |
---|
ProxyPass / ajp://cas-kerb.univ-rennes1.fr:8009/ min=0 max=100 smax=50 ttl=10 |
Configuration de Tomcat
S'assurer que le connecteur AJP sur le port 8009 n'est pas commenté et a bien le paramètres tomcatAuthentication positionné à false :
Bloc de code | ||||
---|---|---|---|---|
| ||||
<Connector port="8009"
debug="0"
enableLookups="false"
redirectPort="8443"
protocol="AJP/1.3"
tomcatAuthentication="false" /> |
Test
Après redémarrage de Apache et Tomcat, le serveur CAS doit désormais répondre sur l'URL https
Installation basique
Modifier le fichier src/main/webapp/WEB-INF/classes/log4j.properties en indiquant le chemin des logs :
Bloc de code |
---|
log4j.appender.logfile.File=/var/log/tomcat5/cas.log |
Générer le WAR, le copier dans Tomcat et redémarrer :
Bloc de code |
---|
[root@cas cas-server-webapp]# mvn package install
[root@cas cas-server-webapp]# cp target/cas.war /var/lib/tomcat5/webapps/ROOT.war
[root@cas cas-server-webapp]# /etc/init.d/tomcat5 restart |
Astuce | ||
---|---|---|
| ||
Ajouter dans le fichier src/main/webapp/WEB-INF/classes/log4j.properties la ligne suivante :
Les logs se trouvent dans le répertoire /var/log/tomcat5. La mise au point la plus difficile est celle de Kerberos (les logs en debug de Krb5LoginModule se trouvent dans catalina.out). |
Test
Tester http://cas-kerb.univ-rennes1.fr:8080 (user = test, password = test).
Script de déploiement de CAS
Pour faciliter le déploiement du serveur CAS et le redémarrage de Tomcat, on pourra ajouter le script /usr/local/cas-server-3.3.5/deploy-restart.sh suivant :
Bloc de code |
---|
[root@cas-kerb ~]# cd /usr/local/cas-server-3.3.5
[root@cas-kerb cas-server-3.3.5]# cat > deploy-restart.sh
#!/bin/bash
service tomcat5 stop
pushd /usr/local/cas-server-3.3.5/cas-server-webapp
mvn package && rm -f /var/lib/tomcat5/webapps/ROOT.war && cp target/cas.war /var/lib/tomcat5/webapps/ROOT.war
popd
service tomcat5 start
[root@cas-kerb cas-server-3.3.5]# chmod 744 deploy-restart.sh
[root@cas-kerb cas-server-3.3.5]# |
Ajout d'un frontal Apache
On va dans cette partie configurer un frontal Apache sur le port 80, qui va accéder au Tomcat du serveur CAS en AJP sur le port 8009.
Remarque |
---|
Il n'est pas obligatoire de mettre un frontal Apache devant Tomcat, mais cela délègue le chiffrement à Apache au lieu de Tomcat et simplifie l'administration système (cette architecture est employée de manière générale sur les plateformes d'exploitation). |
Configuration de Apache
Insérer dans /etc/httpd/conf.d/proxy_ajp.conf les lignes suivantes :
...
...
(sur le port 80 par défaut en HTTP).
Passage en HTTPS
Configuration de
...
Apache
Installer le certificat du serveur en éditant /etc/httpd/conf.d/ssl.conf et modifier les lignes suivantes dans le virtual host _default_:443 :
Bloc de code |
---|
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /etc/pki/tls/private/cas-kerb.univ-rennes1.fr.pem
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateKeyFile /etc/pki/tls/private/cas-kerb.univ-rennes1.fr.key |
S'assurer que le connecteur AJP sur le port 8009 n'est pas commenté et a bien le paramètres tomcatAuthentication positionné à false :
Bloc de code | ||
---|---|---|
xml | xml | <Connector port="8009"
debug="0"
enableLookups="false"
redirectPort="8443"
protocol="AJP/1.3"
tomcatAuthentication="false" /> |
Test
Après redémarrage de Apache et Tomcat, le serveur CAS doit désormais répondre sur l'URL https://cas-kerb.univ-rennes1.fr (sur le port 80 par défaut en HTTP).
Passage en HTTPS
Configuration de Apache
Installer le certificat du serveur en éditant /etc/httpd/conf.d/ssl.conf et modifier les lignes suivantes dans le virtual host _default_:443 :
...
...
/cas.ifsic.univ-rennes1.fr (sur le port 443 par défaut en HTTPS).
Ajout de l'authentification LDAP
Configuration de CAS pour LDAP
Ajouter la dépendance vers le module cas-server-support-ldap dans le fichier pom.xml :
Bloc de code | ||||
---|---|---|---|---|
| ||||
<dependency>
<groupId>org.jasig.cas</groupId>
<artifactId>cas-server-support-ldap</artifactId>
<version>${project.version}</version>
</dependency> |
Copier
Test
Après redémarrage de Apache, le serveur CAS doit désormais répondre sur l'URL https://cas.ifsic.univ-rennes1.fr (sur le port 443 par défaut en HTTPS).
Ajout de l'authentification LDAP
Configuration de CAS pour LDAP
Dans le fichier src/main/webapp/WEB-INF/deployerConfigContext.xml de cas-server-webapp dans src/main/webapp/WEB-INF, ajouter le bean suivant pour déclarer le contexte LDAP :
...
Redéployer le serveur CAS, et tester l'authentification d'un utilisateur LDAP.
...