Configurer la Debian
Ajouter les backports dans le dépôt
echo "deb http://deb.debian.org/debian/stretch-backports main contrib non-free" >> /etc/apt/sources.list
Mettre à jour le système
#apt update
#apt upgrade
Installation des paquets nécessaire
#apt install tomcat8 tomcat8-admin tomcat8-useropenjdk-11-jdk openjdk-11-jre maven build-essential git
Configurer la variable d'environnement JAVA
#echo "JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/" >> /etc/environment
#source /etc/environment
Vérifier la variable d'environnement
echo $JAVA_HOME
Suppression de JAVA 8
Faire un update-alternatives --display java
Si vous voyez lien secondaire java.1.gz : /usr/lib/jvm/java-8-openjdk-amd64/jre/man/man1/java.1.gz
Supprimer le.
- apt remove openjdk-8-jre-headless --purge
Configurer Tomcat8
Aller dans /etc/default
Ouvrir le fichier tomcat8
Rajouter la ligne suivante :
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Vérifier de nouveau si vous avez Java 11 - update-alternatives --display java
Configurer le Tomcat8 manager
Aller dans /etc/tomcat8
Ouvrir le fichier tomcat-users.xml
Tout en bas du fichier mettre
<role rolename="admin-gui"/>
<user username="admin" password="toor" roles="manager-gui,admin-gui""/>Redémarrer Tomcat
- systemctl restart tomcat8
Configurer le certificat sur le serveur Active Directory
Créer un certificat SSL
Installer sur le serveur Windows 2016 dans le gestionnaire de serveur le service de certificats Active Directory.
Pré-installe Apereo / CAS
On commence par installer le projet nécessaire à l'utilisation de cas-overlay-Template
Récupérer le projet
Aller dans le dossier /opt
#git clone https://github.com/apereo/cas-overlay-template
#/cd cas-overlay-templateAjout de module LDAP (Dépendance)
Ouvrir le fichier build.gradle
Ajouter la ligne ci-dessous :
dependencies {
compile "org.apereo.cas: cas-server-webapp${project.appServer}:${casServerVersion}"
// Other CAS dependencies/modules may be listed here...
compile "org.apereo.cas:cas-server-support-ldap:${project.'cas.version'}"
compile "org.apereo.cas:cas-server-support-json-service-registry:${casServerVersion}"
}
Enregistrer le fichier
Ajouter dans le fichier cas.properties la configuration LDAP
cas.server.name=https://cas.domaine-univ.fr:8443
cas.server.prefix=${cas.server.name}/cas
logging.config: file:/etc/cas/config/log4j2.xml
ATTENTION ENLEVER LE # POUR ÊTRE EN VERSON PRODUCTION
# cas.authn.accept.users=
- Desactivation des comptes locaux
cas.authn.accept.users=Connexion LDAP
cas.authn.ldap[0].providerClass=org.ldaptive.provider.unboundid.UnboundIDProvider
cas.authn.ldap[0].type=AUTHENTICATED
cas.authn.ldap[0].useSsl=false
cas.authn.ldap[0].ldapUrl=ldap://domaine-univ.fr:389
cas.authn.ldap[0].baseDn= dc= domaine-univ,dc=fr
cas.authn.ldap[0].subtreeSearch=true
cas.authn.ldap[0].searchFilter=sAMAccountName={user}
cas.authn.ldap[0].principalAttributeList=cn,givenName,mail
Credential to connect to LDAP
cas.authn.ldap[0].bindDn=CN=Admincas,CN=CasAdmin,DC= domaine-univ,DC=fr
cas.authn.ldap[0].bindCredential=P@ssW0rdVérification du port de connexion LDAP 389
- telnet domaine-univ.fr 389
Si vous avez ce message-là :
Trying 192.168.0.54...
Connected to domaine-univ.fr.
Escape character is '^]'.
C'est ok.Création du dossier log pour CAS
Créer un dossier dans /var/log/cas - mkdir /var/log/cas
Copie des fichiers cas.log et cas_audit.log
Copier ou créer les fichiers cas.log et cas_audit.log dans le dossier
Droit sur le dossier
Pour mettre les droits sur le dossier faire la commande suivante :
- chown -R tomcat8:adm /var/log/cas
Installation de Gradle - ./gradlew clean
#../gradlew clean copyCasConfiguration build
7
Création de la clé
# ./gradlew createKeystore
Il faut récupérer le fichier cas.war dans /opt/cas-overlay-template/build/libs/cas.war et le mettre dans /var/lib/tomcat8/webapps/
Relancer le service de Tomcat8 - systemctl restart tomcat8.service
Maintenant nous allons tester la connexion
Pour ici l'adresse ip est : *http://192.168.0.104:8080/cas*
Cliquer sur « se connecter »
Quand vous êtes connectés, vous devez avoir ce message-là : Connexion réussie
En cliquant sur
Nous pouvons voir les attributs de l'active Directory.Choix de la Configuration des applications
Nous avons le choix pour configurer les applications soit avec :
- Avec Json
- Base de donnée module JPA
Pour démarrer nous allons utiliser le Json.
Configuration du Json
Vérifier que dans le fichier build.gradle nous avons bien :
compile "org.apereo.cas:cas-server-support-json-service-registry:${project.'cas.version'}"
Une fois vérifier nous pouvons commencer.
Configurer le fichier cas.properties
Ouvrir le fichier cas. properties
- cd \opt\cas-template-overlay
- nano etc/cas/config/cas.properties
Ajouter la ligne ci-dessous : - Configuration de JSON
- cas.serviceRegistry.json.location: file:/etc/cas/services
Une fois que la ligne a été ajouté nous devons créer un dossier.Création du dossier services
Nous utilisons la commande mkdir pour créer le dossier - mkdir /etc/cas/services
Ajouter les applications
Nous allons créer pour chaque applications un fichier en « .json »
Il est recommandé de nommer les nouveaux fichiers JSON comme suit: - serviceName-serviceNumericId.json"
Pour créer l'ID nous utilisons la commande suivant : - date +%s
Voici ce qui donne - root@cas:/opt/cas-overlay-template# date +%s
1559915619
Ce numéro est notre ID.
Donc le fichier sera « application-1559915619.json »
Le fichier doit être dans /etc/cas/services/Création du fichier json
« Application » est le nom de votre application dans cette exemple - touche application-1559915619.json
Configuration des applications
Ouvrir le fichier que nous venons de créer - nano application-1559915619.json
Attention l'exemple ci-dessous à éviter à l'utilisation
{
/*
- Ne pas utiliser cette définition dans un environnement de production.
*/
"@class" : "org.apereo.cas.services.RegexRegisteredService",
"serviceId" : "^(https|imaps)://.*",
"name" : "HTTPS and IMAPS wildcard",
"id" : 1503925297,
"evaluationOrder" : 99999
}
Voici pour l'application Rocketchat
Ouvrir le fichier http_rocketchat-1559902436.json
- nano http_rocketchat-15599902436
{
"@class" : "org.apereo.cas.services.RegexRegisteredService",
"serviceId" : "^(http)://192.168.0.111",
"name" : "Rocketchat",
"id" : 1503925297,
"evaluationOrder" : 99999