Serveur de SSO CAS sous Debian – Épisode 2

crafty-penguin

Cet article fait partie de la série Serveur SSO CAS sous Debian. Vous pouvez toujours revenir au premier épisode.

 

Épisode 2 : Construction de CAS Overlay avec Maven

 

Nous en étions restés aux pré-requis, voici maintenant l’installation par la méthode Maven.

 

Préparation d’un serveur Web de frontend (Nginx)

 

Cette étape est facultative mais préférable à mon avis.

Nous allons configurer Nginx en tant que reverse proxy pour ne pas exposer Tomcat directement.

apt install nginx

 

Dans /etc/nginx/sites-enabled/default :

server {                                                                                                 
    server_name cas.maboite.fr;
    listen 80 ;
    location / {   
      rewrite     ^(.*)   https://$server_name$1 permanent;
    }    
}
 
server {                                                                                                 
    server_name  cas.maboite.fr;
    listen 443 ssl ;

    ssl on; 
    ssl_certificate /etc/ssl/SELF-SIGNED/sso.crt;
    ssl_certificate_key /etc/ssl/SELF-SIGNED/sso.key;
 
    location / { 
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass https://localhost:8443;
    }   
 
    # Logs
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
}

 

 

Construction de CAS avec Maven

 

Le principe est le suivant, on se met dans un répertoire, on clone Cas Overlay Maven, on rentre dans le répertoire cloné et on se place sur la branche 4.2 qui est stable.

cd /opt/
git clone https://github.com/apereo/cas-overlay-template.git
cd cas-overlay-template/
git checkout 4.2

 

Avant de lancer une compilation, on ajoute cette dépendance qui nous permettra par la suite d’utiliser LDAP pour authentifier nos utilisateurs :

Dans /opt/cas-overlay-template/pom.xml, entre les balises et :


     org.jasig.cas
     cas-server-support-ldap
     ${cas.version}

 

Ensuite, on modifie les URLS dans /opt/cas-overlay-template/etc/cas.properties :

server.name=https://cas.maboite.fr
server.prefix=${server.name}/cas
host.name=cas.maboite.fr

 

On compile le bouzin et on teste :

./mvnw clean package
mkdir /etc/cas
cp -a /opt/cas-overlay-template/etc/* /etc/cas/
cp /opt/cas-overlay-template/target/cas.war /var/lib/tomcat8/webapps
service tomcat8 restart

 

Ensuite on attend (très) longtemps que Tomcat8 veuille bien redémarrer cette pauvre petite application et on teste (avec le login casuser et le mot de passe Mellon).

https://cas.maboite.fr/cas

 

 

A suivre :

  • Épisode 3 : Configuration de CAS avec un backend LDAP
  • Épisode 4 : Testons le bouzin

 

 

Sur le même sujet :