|
| 1 | + |
| 2 | +# CAS Out of the box |
| 3 | +## Description |
| 4 | +Cette image a pour but de fournir au administrateurs un serveur CAS facile à mettre en place. En effet la compilation et la configuration du serveur CAS Apereo n'est pas évidente sans connaissance profonde des protocoles d'authentification et de l'environnement JAVA |
| 5 | + |
| 6 | +L'image Docker a été conçue pour que l'aspect et le paramêtrage soient aisés. |
| 7 | + |
| 8 | +Elle embarque les protocoles suivant : |
| 9 | +* LDAP |
| 10 | +* OIDC (Oauth, openId) |
| 11 | +* SAML (saml1, saml2) |
| 12 | + |
| 13 | +D'autre protocoles seront ajoutés dans des versions ultérieures comme le MFA. |
| 14 | + |
| 15 | +## Deployment |
| 16 | + |
| 17 | +### Fichier .env |
| 18 | +creer un fichier **.env** qui doit se trouver dans le meme repoertoire que docker-compose.yml |
| 19 | +Il contient votre environnement : |
| 20 | + |
| 21 | +``` |
| 22 | +CAS_HOSTNAME=https://cas.mondomain.com |
| 23 | +LDAP_HOSTNAME=ldap://ildap.mondomaine.com:389 |
| 24 | +LDAP_SEARCH_FILTER="(&(uid={user})(objectclass=sogxuser))" |
| 25 | +LDAP_BASE=dc=mondamine,dc=com |
| 26 | +LDAP_ATTRIBUTES_LIST=cn,givenName,mail,sn,uid,uid:username |
| 27 | +LDAP_BIND_DN=CN=restreint,CN=internal,DC=mondomaine,DC=com |
| 28 | +LDAP_BIND_CREDENTIAL=MonMotDePasse! |
| 29 | +
|
| 30 | +``` |
| 31 | +Ce fichier contient les variables d'environnement pour le container. |
| 32 | + |
| 33 | +* CAS_HOSTNAME : c'est lde FDQN du serveur lui même (variable **cas.server.prefix** du fichier de configuration /etc/cas/config/cas.properties) |
| 34 | +* LDAP_HOSTNAME : Adresse du serveur LDAP sous forme URI |
| 35 | +* LDAP_SEARCH : filtre de recherche pour les utilisateur. Le nom d'utilisateur est representé par {user}. |
| 36 | +* LDAP_BASE : La base de recherche LDAP |
| 37 | +* LDAP_ATTRIBUTES_LIST : la liste des attributs à renvoyer |
| 38 | +* LDAP_BIND_DN : le DN pour l authentification LDAP |
| 39 | +* LDAP_BIND_CREDENTIAL : le mote de passe pour ce DN |
| 40 | + |
| 41 | +### Fichier docker-compose.yml |
| 42 | +pour pouvoir rendre persistant les changements un volume doit pouvoir etre mappé. Si ce volume est vice le container créera automatiquement l'arborescense et les differents fichiers de configuration. |
| 43 | + |
| 44 | +``` |
| 45 | +version: "3" |
| 46 | +services: |
| 47 | + cas-server: |
| 48 | + container_name: cas-server |
| 49 | + build: ghcr.io/libertech-fr/cas-docker:latest |
| 50 | + ports: |
| 51 | + - "80:80" |
| 52 | + - "443:443" |
| 53 | + volumes: |
| 54 | + - "./conf:/etc/cas" |
| 55 | + env_file: .env |
| 56 | +``` |
| 57 | + |
| 58 | +Au premier demarrage le container va creer : |
| 59 | + |
| 60 | +* /etc/cas/config/cas.properties avec les variables d'environnement renseignées dans .env. |
| 61 | +* /etc/cas/config/log4j2.xml |
| 62 | +* /etc/cas/theme : le theme (css, js, images) |
| 63 | +* /etc/cas/templates/custom : les modeles des pages html du serveur |
| 64 | +* /etc/cas/saml : pour la signature des requetes saml |
| 65 | + |
| 66 | +Une fois ces fichiers générés vous pouvez les modifier à volonté. Ils seront exploités par le container mais ils ne seront plus générés. |
0 commit comments