Serveur de SSO CAS sous Debian – Épisode 2
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
<dependency>
<groupId>org.jasig.cas</groupId>
<artifactId>cas-server-support-ldap</artifactId>
<version>${cas.version}</version>
</dependency>
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).
A suivre :
- Épisode 3 : Configuration de CAS avec un backend LDAP
- Épisode 4 : Testons le bouzin