Arborescence des pages

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.
Commentaire: json

Sommaire
outlinetrue
Configurer la Debian

Ajouter les backports dans le dépôt

Bloc de code
echo "deb http://deb.debian.org/debian/ buster-backports main contrib non-free" >> /etc/apt/sources.list

Mettre à jour le système


Bloc de code
#apt update


Bloc de code
#apt upgrade

Installation des paquets nécessaire


Bloc de code
#apt install tomcat9 tomcat9-admin tomcat9-user openjdk-11-jdk openjdk-11-jre maven build-essential git

Configurer la variable d'environnement JAVA


Bloc de code
#echo "JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/" >> /etc/environment

...

Bloc de code
#source /etc/environment

Vérifier la variable d'environnement


Bloc de code
echo $JAVA_HOME

Configurer Tomcat9

Aller dans /etc/default
Ouvrir le fichier tomcat9
Rajouter la ligne suivante :

...

Bloc de code
update-alternatives --display java

Configurer le Tomcat9 manager

Aller dans /etc/tomcat9
Ouvrir le fichier tomcat-users.xml
Tout en bas du fichier mettre

Bloc de code
<role rolename="admin-gui"/>
<user username="admin" password="toor" roles="manager-gui,admin-gui"/>

Redémarrer Tomcat


Bloc de code
systemctl restart tomcat9

...

Je suis allé dans /etc/tomcat9/server.xml

J'ai ajouté les lignes suivantes :

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
  <SSLHostConfig>
    <Certificate certificateFile="/opt/tomcat/conf/cert.pem"
                 certificateKeyFile="/opt/tomcat/conf/privkey.pem"
                 certificateChainFile="/opt/tomcat/conf/chain.pem" />
  </SSLHostConfig>
</Connector>

J'ai redémarré tomcat

Pré-installe Apereo / CAS

Nous commençons par installer le projet nécessaire à l'utilisation de cas-overlay-Template
Récupérer le projet
Aller dans le dossier /opt

Ouvrir le dossier cas-overlay-template

#cd cas-overlay-template

Ajout de module LDAP (Dépendance)

Ouvrir le fichier build.gradle
Ajouter la ligne les 3 lignes en gras ci-dessous :

dependencies
{
Implentation "org.apereo.cas: cas-server-webapp${project.appServer}:${casServerVersion}"
// Other
{
    // Add modules in format compatible with overlay casModules property
    if (project.hasProperty("casModules")) {
        def dependencies = project.getProperty("casModules").split(",")
        dependencies.each {
            def projectsToAdd = rootProject.subprojects.findAll {project ->
                project.name == "cas-server-core-${it}" || project.name == "cas-server-support-${it}"
            }
            projectsToAdd.each {implementation it}
        }
    }
    // CAS dependencies/modules may be listed here statically...

Implentation

 

implementation "org.apereo.cas:cas-server-webapp-init:${casServerVersion}"
implementation "org.apereo.cas:cas-server-support-ldap:${project.'cas.version'}"

Implentation

implementation "org.apereo.cas:cas-server-support-json-service-registry:${casServerVersion}"

}


Enregistrer le fichier

Ajouter dans le fichier cas.properties la configuration LDAP


Alller dans /opt/cas-overlay-template/etc/cas/config/cas.properties

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 VERSION 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@ssW0rd

Activation en LDAPS

Par contre si vous voulez metre le LDAP en LDAPS

...

Bloc de code
cas.authn.ldap\[0\].useSsl=false

  Vé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.

Vérification du port de connexion LDAP 636

telnet domaine-univ.fr 636


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

tomcat:adm /var/log/cas


Modifier le fichier log4j2.xml dans le dossier cas-overlay-template-master/etc/cas/config

Mettre à la place de

<Property name="baseDir">/var/log</Property>


<Property name="baseDir">/var/log/cas</Property>

Enregistrer le fichier

Installation de Gradle

./gradlew clean

#.

./gradlew clean copyCasConfiguration build

Création de la clé
#

./gradlew createKeystore


Il faut récupérer le fichier

Copier le fichier cas.war

cp /opt/cas-overlay-template/build/libs/cas.war /var/lib/tomcat9/webapps/


Relancer le service de Tomcat9

systemctl restart tomcat9.service


Maintenant nous allons tester la connexion
Pour ici l'adresse ip est : https://cas.domaine-univ.fr:8443/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 :

...


Pour démarrer nous allons utiliser le Json.

Configuration du Json


Vérifier que dans le fichier build.gradle nous avons bien :

compile

implementation "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/_cas/.*",
"name" : "Rocketchat",
"id" : 1503925297,
"evaluationOrder" : 99999
}

Aller dans RocketChat mettre les informations du serveur cas.

...