Skip to content

Commit c62e95f

Browse files
committed
certificats
1 parent 97307be commit c62e95f

File tree

9 files changed

+138
-24
lines changed

9 files changed

+138
-24
lines changed

.env

Lines changed: 0 additions & 8 deletions
This file was deleted.

Dockerfile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
ARG BASE_IMAGE="eclipse-temurin:11-jdk"
2-
ARG PROD_IMAGE="tomcat:9-jdk11"
2+
ARG PROD_IMAGE="tomcat:9-jre11"
33
ARG EXT_BUILD_COMMANDS=""
44
ARG EXT_BUILD_OPTIONS=""
55

@@ -65,12 +65,19 @@ COPY --from=overlay /tmp/cas-overlay/build/cas-resources/static/images/cas-logo.
6565

6666
#some documentations
6767
COPY --from=overlay /tmp/cas-overlay/config-metadata.properties /etc/cas/docs
68+
6869
RUN mkdir /data/templates
70+
# repertoire pour les certificats
71+
RUN mkdir /etc/cert
72+
6973
COPY --from=overlay /tmp/cas-overlay/build/cas-resources/templates/ /data/templates
7074

7175
#templates
7276
COPY --from=overlay /tmp/cas-overlay/build/cas-resources/templates/ /usr/local/tomcat/webapps/cas/WEB-INF/classes/templates/custom
7377
COPY rootfs /
7478

79+
EXPOSE 80
80+
EXPOSE 443
81+
7582
ENTRYPOINT "/entrypoint.sh"
7683

README.md

Lines changed: 65 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Elle embarque les protocoles suivant :
1212

1313
D'autre protocoles seront ajoutés dans des versions ultérieures comme le MFA.
1414

15-
## Deployment
15+
## Deploiment
1616

1717
### Fichier .env
1818
creer un fichier **.env** qui doit se trouver dans le meme repoertoire que docker-compose.yml
@@ -49,9 +49,11 @@ services:
4949
build: ghcr.io/libertech-fr/cas-docker:latest
5050
ports:
5151
- "80:80"
52-
- "443:443"
52+
- "443:443"
5353
volumes:
54-
- "./conf:/etc/cas"
54+
- "./CAS:/etc/cas"
55+
- "./cert:/etc/cert"
56+
- "./logs:/data/logs"
5557
env_file: .env
5658
```
5759

@@ -64,3 +66,63 @@ Au premier demarrage le container va creer :
6466
* /etc/cas/saml : pour la signature des requetes saml
6567

6668
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.
69+
70+
## Volumes
71+
3 repertoires doivent être mappé :
72+
* /etc/cas : il contiendra la configuration, le thème et les modèles
73+
* /etc/cert : il doit contenir les certificats (cert.pem, privkey.pem, chain.pem)
74+
* /data/logs : il contient les journaux de tomcat et de cas
75+
76+
## Personalisation
77+
L'interface est entierement personalisable
78+
Apres le premier lancement un repertoire theme et templates ont été créé dans le volume /etc/cas
79+
### Theme
80+
* theme/css/cas.css : fichier css de personalisation de l'interface
81+
* theme/images/mylogo.png : le logo qui apparaitra sur l'interface
82+
* theme/images/facivon.icon : l'icône
83+
84+
Une fois le thème changé vous devez le mettre à jour dans le container :
85+
86+
```
87+
#docker exec cas-server updatetheme
88+
```
89+
90+
Vous pouvez revenir au thème par defaut avec ces commandes (cas-server etant le nom du container):
91+
92+
93+
```
94+
#docker exec cas-server resettheme
95+
#docker exec cas-server updatetheme
96+
```
97+
98+
### Templates
99+
Les templates permettent de modifier des pages. Les headers, footer etc... se trouvent dans templates/custom/fragments
100+
* Voir la documentation : (https://apereo.github.io/cas/6.6.x/ux/User-Interface-Customization-Themes.html#themed-views)
101+
102+
Une fois les fichiers modifiés vous devez les mettre à jour dans le container :
103+
104+
```
105+
#docker exec cas-server updatetemplates
106+
107+
```
108+
109+
Vous pouvez remettre les templates par défaut avec ces commandes :
110+
111+
112+
```
113+
#docker exec cas-server resettemplates
114+
```
115+
116+
# CAS modification de l'image
117+
Pour modifier l'image cloner ce dêpot
118+
119+
## Pour ajouter un module
120+
* Modifier le fichier **src/build.gradle** pour y inclure le dêpot (voir documentation de CAS)
121+
122+
## Pour modifier le fichier de configuration par défaut
123+
* fichier : **rootfs/data/rootfs/data/etc/cas.properties**
124+
125+
Remplacer dans docker-compose la ligne image par build: .
126+
127+
128+

db/.gitignore

Lines changed: 0 additions & 2 deletions
This file was deleted.

docker-compose.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
version: "3"
22
services:
3-
dc:
4-
container_name: dc
3+
cas-server:
4+
container_name: cas-server
55
build: .
66
ports:
7-
- "8080:8080"
7+
- "80:80"
8+
- "443:443"
89
volumes:
910
- "./CAS:/etc/cas"
11+
- "./cert:/etc/cert"
12+
- "./logs:/data/logs"
1013
env_file: .env

env.example

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CAS_HOSTNAME=https://cas.mondomain.com
2+
LDAP_HOSTNAME=ldap://ildap.mondomaine.com:389
3+
LDAP_SEARCH_FILTER="(&(uid={user})(objectclass=sogxuser))"
4+
LDAP_BASE=dc=mondamine,dc=com
5+
LDAP_ATTRIBUTES_LIST=cn,givenName,mail,sn,uid,uid:username
6+
LDAP_BIND_DN=CN=restreint,CN=internal,DC=mondomaine,DC=com
7+
LDAP_BIND_CREDENTIAL=MonMotDePasse!
8+

rootfs/usr/local/tomcat/conf/logging.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.jul
2323
############################################################
2424

2525
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
26-
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
26+
1catalina.org.apache.juli.AsyncFileHandler.directory = /data/logs
2727
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
2828
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 90
2929
1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Server port="8005" shutdown="SHUTDOWN">
3+
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
4+
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
5+
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
6+
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
7+
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
8+
<GlobalNamingResources>
9+
<Resource name="UserDatabase" auth="Container"
10+
type="org.apache.catalina.UserDatabase"
11+
description="User database that can be updated and saved"
12+
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
13+
pathname="conf/tomcat-users.xml" />
14+
</GlobalNamingResources>
15+
<Service name="Catalina">
16+
<Connector port="80" protocol="HTTP/1.1"
17+
connectionTimeout="20000"
18+
redirectPort="443"
19+
maxParameterCount="1000"
20+
/>
21+
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
22+
maxThreads="150" SSLEnabled="true"
23+
maxParameterCount="1000"
24+
>
25+
<SSLHostConfig>
26+
<Certificate certificateFile="/etc/cert/cert.pem"
27+
certificateKeyFile="/etc/cert/privkey.pem"
28+
certificateChainFile="/etc/cert/chain.pem" />
29+
</SSLHostConfig>
30+
</Connector>
31+
<Engine name="Catalina" defaultHost="localhost">
32+
<Realm className="org.apache.catalina.realm.LockOutRealm">
33+
<!-- This Realm uses the UserDatabase configured in the global JNDI
34+
resources under the key "UserDatabase". Any edits
35+
that are performed against this UserDatabase are immediately
36+
available for use by the Realm. -->
37+
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
38+
resourceName="UserDatabase"/>
39+
</Realm>
40+
41+
<Host name="localhost" appBase="webapps"
42+
unpackWARs="true" autoDeploy="true">
43+
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
44+
prefix="localhost_access_log" suffix=".txt"
45+
pattern="%h %l %u %t &quot;%r&quot; %s %b" />
46+
47+
</Host>
48+
</Engine>
49+
</Service>
50+
</Server>

wiki-1686237855.json

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)