Compare commits
31 Commits
pkg/eole/e
...
develop
Author | SHA1 | Date | |
---|---|---|---|
cc9a5e20ce | |||
5512f64aab | |||
569e0caab8 | |||
bb18f68a54 | |||
20e382934c | |||
cf5d9485ca | |||
cf82616454 | |||
e423388795 | |||
e810740ba9 | |||
140cc084a3 | |||
3753625b20 | |||
df5dabbcf4 | |||
47e822f9b9 | |||
87818bd6f0 | |||
fe8722e776 | |||
200c9c41e9 | |||
63bf3c9f98 | |||
03a00fb7ce | |||
52e5c433eb | |||
d1ad6aeb25 | |||
815fca0e82 | |||
8ec486eafc | |||
4af11f3d28 | |||
8af3ee655f | |||
5d4e572967 | |||
15da7394f3 | |||
536da57382 | |||
d08c965ee8 | |||
f2e6a3afe0 | |||
2700a5d440 | |||
ad9059bfae |
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
# Backup and swap files
|
||||
*~
|
||||
*#
|
||||
*.swp
|
6
Makefile
6
Makefile
@ -3,9 +3,9 @@
|
||||
################################
|
||||
|
||||
SOURCE=eole-lemonldap
|
||||
VERSION=2.8.0
|
||||
EOLE_VERSION=2.8
|
||||
EOLE_RELEASE=2.8.0
|
||||
VERSION=0.1
|
||||
EOLE_VERSION=2.7
|
||||
EOLE_RELEASE=2.7.2
|
||||
PKGAPPS=non
|
||||
#FLASK_MODULE=<APPLICATION>
|
||||
|
||||
|
21
README.md
21
README.md
@ -4,6 +4,27 @@ LemonLDAP::NG EOLE integration
|
||||
|
||||
## Howto
|
||||
|
||||
### Repository configuration
|
||||
|
||||
* Add the lemonldap-ng deb respository we need the last version of LemonLDAP.
|
||||
|
||||
GenConfig -> Mode Expert -> Dépôts tiers -> Libellé du dépôt
|
||||
|
||||
#### LemonLDAP::NG repository (if you use EOLE 2.7.2 this is not needed anymore)
|
||||
|
||||
* deb https://lemonldap-ng.org/deb stable main
|
||||
* deb-src https://lemonldap-ng.org/deb stable main
|
||||
* Key URL : https://lemonldap-ng.org/_media/rpm-gpg-key-ow2
|
||||
|
||||
#### Cadoles Repository
|
||||
* deb [ arch=all ] https://vulcain.cadoles.com 2.7.2-dev main
|
||||
* Key URL : https://vulcain.cadoles.com/cadoles.gpg
|
||||
|
||||
### Install packages
|
||||
|
||||
apt update
|
||||
apt install eole-lemonldap
|
||||
|
||||
### Configure LemonLDAP in GenConfig
|
||||
|
||||
* Enable lemonldap in "Services" tab
|
||||
|
@ -9,6 +9,7 @@
|
||||
<file filelist='lemonldap-nginx' name='/etc/lemonldap-ng/manager-nginx.conf' mkdir='True' rm='True'/>
|
||||
<file filelist='lemonldap-nginx' name='/etc/lemonldap-ng/handler-nginx.conf' mkdir='True' rm='True'/>
|
||||
<file filelist='lemonldap-nginx' name='/etc/lemonldap-ng/portal-nginx.conf' mkdir='True' rm='True'/>
|
||||
<file filelist='lemonldap-nginx' name='/etc/lemonldap-ng/nginx-lmlog.conf' mkdir='True' rm='True'/>
|
||||
|
||||
<file filelist='lemonldap-apache' name='/etc/lemonldap-ng/manager-apache2.X.conf' mkdir='True' rm='True'/>
|
||||
<file filelist='lemonldap-apache' name='/etc/lemonldap-ng/handler-apache2.X.conf' mkdir='True' rm='True'/>
|
||||
@ -92,9 +93,18 @@
|
||||
<variable name='llCheckLogins' type='oui/non' description="Permettre aux utilisateurs d'afficher l'historique de connection">
|
||||
<value>non</value>
|
||||
</variable>
|
||||
<variable name='llResetPassword' type='oui/non' description="Permettre aux utilisateurs de réinitialiser leurs mots de passe">
|
||||
<variable name='llResetPassword' type='oui/non' description="Permettre aux utilisateurs de réinitialiser leurs mots de passe par mail">
|
||||
<value>oui</value>
|
||||
</variable>
|
||||
<variable name='llChangePassword' type='oui/non' description="Permettre aux utilisateurs de changer leurs mots de passe depuis LemonLDAP">
|
||||
<value>oui</value>
|
||||
</variable>
|
||||
<variable name='llADPasswordMaxAge' type='number' description="Durée de vie des mots de passe (en secondes)" mode='expert'>
|
||||
<value>5184000</value>
|
||||
</variable>
|
||||
<variable name='llADPasswordExpireWarn' type='number' description="Délai avant affichage d'un message d'alerte sur l'expiration du mot de passe (en secondes)">
|
||||
<value>3456000</value>
|
||||
</variable>
|
||||
<variable name='llResetExpiredPassword' type='oui/non' description="Autoriser le renouvellement des mots de passe expirés">
|
||||
<value>oui</value>
|
||||
</variable>
|
||||
@ -148,12 +158,18 @@
|
||||
</check>
|
||||
|
||||
<check name="valid_enum" target="llRegisterDB">
|
||||
<param>['LDAP','Demo','Custom']</param>
|
||||
<param>['LDAP','AD','Demo','Custom']</param>
|
||||
</check>
|
||||
<group master="casAttribute">
|
||||
<slave>casLDAPAttribute</slave>
|
||||
</group>
|
||||
|
||||
<condition name='disabled_if_not_in' source='lemon_user_db'>
|
||||
<param>AD</param>
|
||||
<target type='variable'>llADPasswordMaxAge</target>
|
||||
<target type='variable'>llADPasswordExpireWarn</target>
|
||||
</condition>
|
||||
|
||||
<condition name='disabled_if_in' source='activerLemon'>
|
||||
<param>non</param>
|
||||
<target type='filelist'>lemonldap</target>
|
||||
|
@ -24,9 +24,6 @@
|
||||
<target type='variable'>activer_sso</target>
|
||||
</condition>
|
||||
|
||||
<auto name='calc_val' target='ldapScheme'>
|
||||
<param>ldaps</param>
|
||||
</auto>
|
||||
|
||||
<fill name='calc_val_first_value' target='eolesso_adresse'>
|
||||
<param type='eole' optional='True' hidden='False'>authWebName</param>
|
||||
@ -34,33 +31,42 @@
|
||||
<param type='eole'>nom_domaine_machine</param>
|
||||
</fill>
|
||||
|
||||
<auto name='calc_val' target='ldap_port'>
|
||||
<param>636</param>
|
||||
</auto>
|
||||
|
||||
<condition name='frozen_if_in' source='activerLemon'>
|
||||
<param>oui</param>
|
||||
<target type='variable'>eolesso_adresse</target>
|
||||
</condition>
|
||||
|
||||
<auto name='calc_multi_condition' target='ldapScheme'>
|
||||
<param>oui</param>
|
||||
<param type='eole' name='condition_1'>ldap_tls</param>
|
||||
<param name='match'>ldaps</param>
|
||||
<param name='default_mismatch'>ldap</param>
|
||||
</auto>
|
||||
|
||||
<auto name='calc_val' target='ldapServer'>
|
||||
<param type='eole'>ad_address</param>
|
||||
<param type='eole'>adresse_ip_ldap</param>
|
||||
</auto>
|
||||
|
||||
<auto name='calc_val' target='ldapServerPort'>
|
||||
<param type='number'>636</param>
|
||||
<param type='eole'>ldap_port</param>
|
||||
</auto>
|
||||
|
||||
<auto name='calc_val' target='lemon_user_db'>
|
||||
<param>AD</param>
|
||||
<param>LDAP</param>
|
||||
</auto>
|
||||
|
||||
<auto name='calc_val' target='llRegisterDB'>
|
||||
<param>LDAP</param>
|
||||
</auto>
|
||||
<auto name='calc_val' target='ldapUserBaseDN'>
|
||||
<param type='eole'>ldap_base_dn</param>
|
||||
</auto>
|
||||
<auto name='calc_val' target='ldapBindUserDN'>
|
||||
<param type='eole'>sasl_ldap_reader</param>
|
||||
<param type='eole'>ldap_reader</param>
|
||||
</auto>
|
||||
|
||||
<auto name='calc_val' target='ldapBindUserPassword'>
|
||||
<param>/etc/eole/private/sasl-reader.password</param>
|
||||
<param type='eole'>ldap_reader_passfile</param>
|
||||
</auto>
|
||||
|
||||
<auto name='calc_val' target='casFolder'>
|
||||
@ -71,4 +77,4 @@
|
||||
|
||||
<help />
|
||||
|
||||
</creole>
|
||||
</creole>
|
@ -1,6 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
[ "$(CreoleGet activerLemon non)" = 'oui' ] || exit 0
|
||||
|
||||
[[ $(CreoleGet activerLemon non) == "non" ]] && exit 0
|
||||
|
||||
# Updating Configuration cache
|
||||
|
||||
cmd="/usr/share/lemonldap-ng/bin/lemonldap-ng-cli update-cache"
|
||||
opt="update-cache"
|
||||
|
||||
# Updating Configuration cache
|
||||
/usr/share/lemonldap-ng/bin/lemonldap-ng-cli update-cache 2>&1
|
||||
|
@ -23,8 +23,7 @@ server {
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443;
|
||||
ssl on;
|
||||
listen 443 ssl;
|
||||
%if %%cert_type == "letsencrypt"
|
||||
ssl_certificate %%le_config_dir/live/%%managerWebName/cert.pem;
|
||||
ssl_certificate_key %%le_config_dir/live/%%managerWebName/privkey.pem;
|
||||
@ -62,7 +61,7 @@ server {
|
||||
deny all;
|
||||
|
||||
# Uncomment this if you use https only
|
||||
#add_header Strict-Transport-Security "max-age=15768000";
|
||||
add_header Strict-Transport-Security "max-age=15768000";
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -36,7 +36,7 @@
|
||||
;
|
||||
; 1 - Defined logging level
|
||||
; Set here one of error, warn, notice, info or debug
|
||||
logLevel = debug
|
||||
logLevel = %%lm_loglevel
|
||||
; Note that this has no effect for Apache2 logging: Apache LogLevel is used
|
||||
; instead
|
||||
;
|
||||
@ -65,9 +65,9 @@ logLevel = debug
|
||||
; 2.1 - Using Syslog
|
||||
;
|
||||
; For Syslog logging, you can also overwrite facilities. Default values:
|
||||
;logger = Lemonldap::NG::Common::Logger::Syslog
|
||||
;syslogFacility = daemon
|
||||
;userSyslogFacility = auth
|
||||
logger = Lemonldap::NG::Common::Logger::Syslog
|
||||
syslogFacility = daemon
|
||||
userSyslogFacility = auth
|
||||
;
|
||||
; 2.2 - Using Log4perl
|
||||
;
|
||||
@ -197,11 +197,11 @@ portalSkin = %%llSkin
|
||||
; Modules displayed
|
||||
;portalDisplayLogout = 1
|
||||
portalDisplayResetPassword = %%boolean[%%llResetPassword]
|
||||
;portalDisplayChangePassword = 1
|
||||
portalDisplayChangePassword = %%boolean[%%llChangePassword]
|
||||
;portalDisplayAppslist = 1
|
||||
;portalDisplayLoginHistory = 1
|
||||
; Require the old password when changing password
|
||||
;portalRequireOldPassword = 1
|
||||
portalRequireOldPassword = %%boolean[%%llChangePassword]
|
||||
; Attribute displayed as connected user
|
||||
;portalUserAttr = mail
|
||||
; Old menu HTML code
|
||||
|
@ -13,8 +13,10 @@
|
||||
%silent %%exported_vars.sort()
|
||||
%silent %%cas_attributes.sort()
|
||||
{
|
||||
"ADPwdExpireWarning": 0,
|
||||
"ADPwdMaxAge": 0,
|
||||
%if %%lemon_user_db == "AD"
|
||||
"ADPwdExpireWarning": %%llADPasswordExpireWarn,
|
||||
"ADPwdMaxAge": %%llADPasswordMaxAge,
|
||||
%end if
|
||||
"CAS_authnLevel": 1,
|
||||
"CAS_pgtFile": "/tmp/pgt.txt",
|
||||
"CAS_proxiedServices": {},
|
||||
@ -160,19 +162,16 @@
|
||||
"ldapPpolicyControl": 1,
|
||||
%end if
|
||||
"ldapAllowResetExpiredPassword": 1,
|
||||
"ldapChangePasswordAsUser": 1,
|
||||
%else
|
||||
"ldapPpolicyControl": 0,
|
||||
"ldapAllowResetExpiredPassword": 0,
|
||||
"ldapChangePasswordAsUser": 1,
|
||||
%end if
|
||||
%end if
|
||||
"ldapChangePasswordAsUser": 1,
|
||||
"ldapAuthnLevel": 2,
|
||||
%if %%eole_module == "scribe"
|
||||
"ldapBase": "cn=Users,dc=%echo ",dc=".join(%%ad_domain.split('.')) + '",'
|
||||
%else
|
||||
"ldapBase": "%%ldapUserBaseDN",
|
||||
%end if
|
||||
"ldapSearchDeref": "find",
|
||||
"ldapBase": "%%ldapUserBaseDN",
|
||||
"ldapExportedVars": {
|
||||
"cn": "cn",
|
||||
"mail": "mail",
|
||||
@ -228,17 +227,13 @@
|
||||
"mailTimeout": 0,
|
||||
%if %%llResetPassword == "oui"
|
||||
%if %%is_empty(%%llResetUrl)
|
||||
"mailUrl": "https://%%authWebName/mail.pl",
|
||||
"mailUrl": "https://%%authWebName/resetpwd",
|
||||
%else
|
||||
"mailUrl": "%%llResetUrl",
|
||||
%end if
|
||||
%end if
|
||||
"maintenance": 0,
|
||||
%if %%eole_module == "scribe"
|
||||
"managerDn": "cn=%%ldapBindUserDN,cn=Users,dc=%echo ",dc=".join(%%ad_domain.split('.')) + '",'
|
||||
%else
|
||||
"managerDn": "%%ldapBindUserDN",
|
||||
%end if
|
||||
%if %%is_file(%%ldapBindUserPassword)
|
||||
"managerPassword": "%%readPass("", %%ldapBindUserPassword)",
|
||||
%else
|
||||
@ -281,7 +276,7 @@
|
||||
"portalAntiFrame": 1,
|
||||
"portalCheckLogins": %%boolean[%%llCheckLogins],
|
||||
"portalDisplayAppslist": 1,
|
||||
"portalDisplayChangePassword": "$_auth =~ /^(LDAP|DBI|Demo)$/",
|
||||
"portalDisplayChangePassword": "$_auth =~ /^(AD|LDAP|DBI|Demo)$/",
|
||||
"portalDisplayLoginHistory": 1,
|
||||
"portalDisplayLogout": 1,
|
||||
"portalDisplayRegister": 1,
|
||||
|
@ -5,8 +5,7 @@ server {
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443;
|
||||
ssl on;
|
||||
listen 443 ssl;
|
||||
%if %%cert_type == "letsencrypt"
|
||||
ssl_certificate %%le_config_dir/live/%%managerWebName/cert.pem;
|
||||
ssl_certificate_key %%le_config_dir/live/%%managerWebName/privkey.pem;
|
||||
@ -70,8 +69,8 @@ server {
|
||||
|
||||
# DEBIAN
|
||||
# If install was made with USEDEBIANLIBS (official releases), uncomment this
|
||||
#location /javascript/ {
|
||||
# alias /usr/share/javascript/;
|
||||
#}
|
||||
location /javascript/ {
|
||||
alias /usr/share/javascript/;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,3 +1,3 @@
|
||||
log_format lm_combined '$remote_addr - $lmremote_user [$time_local] '
|
||||
log_format lm_app '$remote_addr - $upstream_http_lm_remote_user [$time_local] '
|
||||
'"$request" $status $body_bytes_sent '
|
||||
'"$http_referer" "$http_user_agent"';
|
||||
'"$http_referer" "$http_user_agent" $upstream_http_lm_remote_custom';
|
||||
|
@ -15,8 +15,7 @@ server {
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443;
|
||||
ssl on;
|
||||
listen 443 ssl;
|
||||
%if %%cert_type == "letsencrypt"
|
||||
ssl_certificate %%le_config_dir/live/%%authWebName/cert.pem;
|
||||
ssl_certificate_key %%le_config_dir/live/%%authWebName/privkey.pem;
|
||||
@ -83,7 +82,7 @@ server {
|
||||
|
||||
# DEBIAN
|
||||
# If install was made with USEDEBIANLIBS (official releases), uncomment this
|
||||
#location /javascript/ {
|
||||
# alias /usr/share/javascript/;
|
||||
#}
|
||||
location /javascript/ {
|
||||
alias /usr/share/javascript/;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user