Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

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

Ajouter dans le fichier src/main/webapp/WEB-INF/classes/log4j.properties la ligne suivante :

Bloc de code
log4j.logger.org.jasig.cas=DEBUG

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

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
titleDebug

Ajouter dans le fichier src/main/webapp/WEB-INF/classes/log4j.properties la ligne suivante :

Bloc de code
log4j.logger.org.jasig.cas=DEBUG

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 :

...

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

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
xmlxml
<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
xml
xml
<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.

...