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

...

Pour installer cerbot via les paquet

Bloc de code
apt install python-certbot-apache

...

il vous demande de mettre votre adresse mail.

...

Suivre les indications.

Récupérer le chemin ou se trouve les fichier pem qui te vous donne let's encrypte

Il vous donne le chemin ou se trouve les fichier pem.

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/cas.domaine-univ.fr/fullchain.pem

   Your key file has been saved at:
   /etc/letsencrypt/live/cas.domaine-univ.fr/privkey.pem

  •    Your cert will expire on

...

  • 2021-

...

  • 06-

...

  • 31. To obtain a new or tweaked

...

  • version of this certificate in the future, simply run certbot again

...

  • with the "certonly" option.
    To non-interactively renew *all* of

...

  • your certificates, run "certbot renew"

...

  • Your account credentials have been saved in your Certbot

...

  • configuration directory at /etc/letsencrypt. You should make a

...

  • secure backup of this folder now.
    This configuration directory will

...

  • also contain certificates and private keys obtained by Certbot so

...

  • making regular backups of this folder is ideal.

Créer le dossier pour les fichier SSL

J'ai créé un dossier dans /opt/tomcat/conf

Bloc de code
Mkdir /opt/tomcat/conf

...


J'ai copié les trois fichiers dans /opt/tomcat/conf :

Bloc de code
cp cert.pem chain.pem privkey.pem /opt/tomcat/conf


J'ai mi les droits pour les fichier *.pem :

Bloc de code
chown tomcat:tomcat *.pem

Ajout des ligne SSL sur le serveur Tomcat9

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

J'ai ajouté les lignes suivantesuivantes :

<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

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

Il vous faudra activer userSsl=true

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/

tomcat8

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.

...