Compare commits

..

25 Commits

Author SHA1 Message Date
0f0e822069 Fix Register button display 2021-01-29 10:51:24 +01:00
b6ba914978 2.7.2 uses python 2 and not python3 2020-12-21 16:10:54 +01:00
e348aa7381 Fix daemon default configuration 2020-11-24 14:45:02 +01:00
dfeb49f3d6 Fix missing sso port 2020-11-24 14:33:17 +01:00
36fe95a0ca Adding eolesso_cas_folder variable redefine 2020-11-24 14:27:23 +01:00
027d549e18 we now need eole-ldapclient 2020-11-24 14:20:54 +01:00
48c524c555 Fix ldap_tls redefine 2020-11-24 14:17:00 +01:00
24d49c49e3 Fix ldap_tls missing variable 2020-11-24 14:00:20 +01:00
578090525e Fix dicos 2020-11-24 13:54:10 +01:00
25006949e8 Fix redefine for eolebase compat 2020-11-24 13:50:29 +01:00
faac2bb213 Merge branch 'master' into 2.7.2/master 2020-11-24 13:31:11 +01:00
944dbed98a Cleanup merge fail 2020-11-24 13:27:45 +01:00
c1478b7e77 parent d08c965ee8
author vfebvre <vfebvre@cadoles.com> 1599144265 +0200
committer Philippe Caseiro <pcaseiro@cadoles.com> 1606220045 +0100

Corrections diverses
2020-11-24 13:19:52 +01:00
fd4ee5dc87 Fix reset password bug 2020-11-24 11:08:33 +01:00
70a1c26d53 Fix disable if in 2020-11-24 10:53:58 +01:00
09fcd2eacb Disable service 2020-11-24 09:31:12 +01:00
6bf3f75087 Don't run postservice if service is disabled 2020-11-24 09:30:08 +01:00
beb6341981 Fix llResetUrl bugé 2020-11-20 14:44:51 +01:00
eafbc3bd8a Fix typo 2020-11-20 14:34:56 +01:00
7e3f6d3408 Updating readme 2020-11-20 11:16:29 +01:00
edc22cacc2 Fix help and variable type 2020-11-20 11:06:51 +01:00
d08c965ee8 Merge branch '2.8.0/master' 2020-11-16 15:46:53 +01:00
f2e6a3afe0 Merge branch '2.8.0/master' into master 2020-10-16 09:52:25 +02:00
2700a5d440 Prepare version 2.8.1
* Makefile: Mise à jour de la version.
  Mise à jour de la release.

* .gitignore: règles minimale pour les fichiers de sauvegarde des
éditeurs.
2020-10-15 09:34:31 +02:00
eb06eaaf5a Merge branch 'develop' into staging 2020-09-10 15:05:11 +02:00
21 changed files with 525 additions and 235 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
# Backup and swap files
*~
*#
*.swp

View File

@ -3,9 +3,9 @@
################################ ################################
SOURCE=eole-lemonldap SOURCE=eole-lemonldap
VERSION=2.8.0 VERSION=0.1
EOLE_VERSION=2.8 EOLE_VERSION=2.7
EOLE_RELEASE=2.8.0 EOLE_RELEASE=2.7.2
PKGAPPS=non PKGAPPS=non
#FLASK_MODULE=<APPLICATION> #FLASK_MODULE=<APPLICATION>

View File

@ -4,6 +4,27 @@ LemonLDAP::NG EOLE integration
## Howto ## 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 ### Configure LemonLDAP in GenConfig
* Enable lemonldap in "Services" tab * Enable lemonldap in "Services" tab

View File

@ -31,7 +31,7 @@ def getSSOFilters():
""" Convert former eole-sso filters to LemonLDAP filters """ Convert former eole-sso filters to LemonLDAP filters
""" """
import glob import glob
from configparser import ConfigParser from ConfigParser import ConfigParser
try: try:
filters = { 'uid': "uid", "mail": "mail" } filters = { 'uid': "uid", "mail": "mail" }

51
debian/control vendored
View File

@ -1,51 +0,0 @@
Source: eole-lemonldap-ng
Section: web
Priority: optional
Maintainer: Équipe EOLE <eole@ac-dijon.fr>
Build-Depends: debhelper-compat (= 12)
Standards-Version: 4.5.0
Homepage: https://dev-eole.ac-dijon.fr/projects/sso
Vcs-Git: https://dev-eole.ac-dijon.fr/git/eole-lemonldap-ng.git
Vcs-Browser: https://dev-eole.ac-dijon.fr/projects/sso/repository
Package: eole-lemonldap-ng
Architecture: all
Depends: eole-lemonldap-ng-pkg,
${misc:Depends}
Description: Dictionnaires et templates pour la configuration d'un serveur LemonLDAP::NG
Pour toute information complémentaire, veuillez vous rendre sur le
site du projet EOLE.
Package: eole-lemonldap-ng-scribe
Architecture: all
Depends: eole-scribe,
eole-lemonldap-ng,
libapache2-mod-perl2,
${misc:Depends}
Description: Dictionnaire pour calculer les valeurs automatiquement sur Scribe
.
Pour toute information complémentaire, veuillez vous rendre sur le
site du projet EOLE.
Package: eole-lemonldap-ng-pkg
Architecture: all
Section: metapackages
Depends: lemonldap-ng,
lemonldap-ng-doc,
lemonldap-ng-fastcgi-server,
lemonldap-ng-handler,
liblemonldap-ng-handler-perl,
liblemonldap-ng-manager-perl,
liblemonldap-ng-portal-perl,
libauthen-captcha-perl,
libauthen-sasl-perl,
libemail-sender-perl,
libgd-securityimage-perl,
libimage-magick-perl,
libio-string-perl,
liblasso-perl,
libnet-openid-server-perl,
${misc:Depends}
Description: Paquet de dépendances pour eole-lemonldap.
.
Pour toute information complémentaire, veuillez vous rendre sur la forge Cadoles.

37
debian/copyright vendored
View File

@ -1,37 +0,0 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: eole-lemonldap-ng
Source: http://dev-eole.ac-dijon.fr/projects/sso
Files: *
Copyright: 2020 Équipe EOLE <eole@ac-dijon.fr>
License: CeCILL-C
License: CeCILL-C
This software is governed by the CeCILL-C license under French law and
abiding by the rules of distribution of free software. You can use,
modify and or redistribute the software under the terms of the CeCILL-C
license as circulated by CEA, CNRS and INRIA at the following URL
"http://www.cecill.info";.
.
As a counterpart to the access to the source code and rights to copy,
modify and redistribute granted by the license, users are provided only
with a limited warranty and the software's author, the holder of the
economic rights, and the successive licensors have only limited
liability.
.
In this respect, the user's attention is drawn to the risks associated
with loading, using, modifying and/or developing or reproducing the
software by the user in light of its specific status of free software,
that may mean that it is complicated to manipulate, and that also
therefore means that it is reserved for developers and experienced
professionals having in-depth computer knowledge. Users are therefore
encouraged to load and test the software's suitability as regards their
requirements in conditions enabling the security of their systems and/or
data to be ensured and, more generally, to use and operate it in the
same conditions as regards security.
.
The fact that you are presently reading this means that you have had
knowledge of the CeCILL-C license and that you accept its terms.
.
On Eole systems, the complete text of the CeCILL-C License can be found
in `/usr/share/common-licenses/CeCILL-2'.

View File

@ -1,2 +0,0 @@
usr/share/eole/creole/dicos/71_lemonldap_ng_scribe.xml
usr/share/eole/postservice/98-lemonldap-ng-scribe-register-hosts

View File

@ -1,6 +0,0 @@
usr/share/creole/
usr/share/eole/creole/dicos/70_lemonldap_ng.xml
usr/share/eole/creole/distrib/
usr/share/eole/diagnose/
usr/share/eole/postservice/99-lemonldap-ng
usr/share/eole/posttemplate/

3
debian/gbp.conf vendored
View File

@ -1,3 +0,0 @@
# Set per distribution debian tag
[DEFAULT]
debian-tag = debian/eole/%(version)s

9
debian/rules vendored
View File

@ -1,9 +0,0 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1
export DH_OPTIONS=-v
%:
dh $@

View File

@ -1 +0,0 @@
3.0 (native)

View File

@ -9,7 +9,6 @@
<file filelist='lemonldap-nginx' name='/etc/lemonldap-ng/manager-nginx.conf' mkdir='True' rm='True'/> <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/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/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/manager-apache2.X.conf' mkdir='True' rm='True'/>
<file filelist='lemonldap-apache' name='/etc/lemonldap-ng/handler-apache2.X.conf' mkdir='True' rm='True'/> <file filelist='lemonldap-apache' name='/etc/lemonldap-ng/handler-apache2.X.conf' mkdir='True' rm='True'/>
@ -28,14 +27,6 @@
</files> </files>
<variables> <variables>
<family name='eole-sso'>
<variable name='eolesso_cas_folder' redefine="True" exists='True'>
<value>/cas</value>
</variable>
<variable name='eolesso_port' redefine="True" exists='True'>
<value>443</value>
</variable>
</family>
<family name='Services'> <family name='Services'>
<variable name='activerLemon' type='oui/non' description="Activer LemonLDAP::NG"> <variable name='activerLemon' type='oui/non' description="Activer LemonLDAP::NG">
<value>non</value> <value>non</value>
@ -48,10 +39,6 @@
<variable name='authWebName' type='string' description="Nom DNS du service d'authentification LemonLDAP-NG"/> <variable name='authWebName' type='string' description="Nom DNS du service d'authentification LemonLDAP-NG"/>
<variable name='reloadWebName' type='string' description="Nom DNS du service Reload de LemonLDAP-NG" mode="expert"/> <variable name='reloadWebName' type='string' description="Nom DNS du service Reload de LemonLDAP-NG" mode="expert"/>
<variable name='lemon_user_db' type='string' description="Backend pour les comptes utilisateurs" mode="expert">
<value>LDAP</value>
</variable>
<variable name='ldapScheme' type='string' description="Protocole LDAP à utiliser" mandatory='True'/> <variable name='ldapScheme' type='string' description="Protocole LDAP à utiliser" mandatory='True'/>
<variable name='ldapServer' type='string' description="Adresse du Serveur LDAP utilisé par LemonLDAP::NG" mandatory="True"/> <variable name='ldapServer' type='string' description="Adresse du Serveur LDAP utilisé par LemonLDAP::NG" mandatory="True"/>
<variable name='ldapServerPort' type='number' description="Port d'écoute du LDAP utilisé par LemonLDAP::NG" mandatory='True'/> <variable name='ldapServerPort' type='number' description="Port d'écoute du LDAP utilisé par LemonLDAP::NG" mandatory='True'/>
@ -59,18 +46,11 @@
<variable name='ldapBindUserDN' type='string' description="Utilisateur de connection à l'annuaire" mandatory="True"/> <variable name='ldapBindUserDN' type='string' description="Utilisateur de connection à l'annuaire" mandatory="True"/>
<variable name='ldapBindUserPassword' type='password' description="Mot de passe de l'utilisateur de connection à l'annuaire" mandatory="True"/> <variable name='ldapBindUserPassword' type='password' description="Mot de passe de l'utilisateur de connection à l'annuaire" mandatory="True"/>
<variable name="samlOrganizationName" type='string' description="Nom de l'organisation SAML" mode='expert'/> <variable name="samlOrganizationName" type='string' description="Nom de l'organisation SAML" mode='expert'/>
<variable name='lmldapverify' type='oui/non' description="Vérifier les certificats SSL du serveur LDAP">
<value>oui</value>
</variable>
<variable name="lemonproc" type='number' description="Nombre de processus dédié à Lemon (équivalent au nombre de processeurs)" mandatory="True"> <variable name="lemonproc" type='number' description="Nombre de processus dédié à Lemon (équivalent au nombre de processeurs)" mandatory="True">
<value>4</value> <value>4</value>
</variable> </variable>
<variable name="lm_loglevel" type='string' description="Verbosité des journaux" mode='expert'>
<value>info</value>
</variable>
<variable name="lemonAdmin" type='string' description="LemonLDAP Administrator username" mode='expert'> <variable name="lemonAdmin" type='string' description="LemonLDAP Administrator username" mode='expert'>
<value>admin</value> <value>admin</value>
</variable> </variable>
@ -93,13 +73,7 @@
<variable name='llCheckLogins' type='oui/non' description="Permettre aux utilisateurs d'afficher l'historique de connection"> <variable name='llCheckLogins' type='oui/non' description="Permettre aux utilisateurs d'afficher l'historique de connection">
<value>non</value> <value>non</value>
</variable> </variable>
<variable name='llResetPassword' type='oui/non' description="Permettre aux utilisateurs de réinitialiser leurs mots de passe par mail"> <variable name='llResetPassword' type='oui/non' description="Permettre aux utilisateurs de réinitialiser leurs mots de passe">
<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='llResetExpiredPassword' type='oui/non' description="Autoriser le renouvellement des mots de passe expirés">
<value>oui</value> <value>oui</value>
</variable> </variable>
<variable name='llResetUrl' type='string' description="Adresse de l'application pour réinitialiser leurs mots de passe" /> <variable name='llResetUrl' type='string' description="Adresse de l'application pour réinitialiser leurs mots de passe" />
@ -143,16 +117,8 @@
<param>['ldaps','ldap']</param> <param>['ldaps','ldap']</param>
</check> </check>
<check name="valid_enum" target="lemon_user_db">
<param>['LDAP','AD']</param>
</check>
<check name='valid_enum' target="lm_loglevel">
<param>['info','notice','warn','error','debug']</param>
</check>
<check name="valid_enum" target="llRegisterDB"> <check name="valid_enum" target="llRegisterDB">
<param>['LDAP','AD','Demo','Custom']</param> <param>['LDAP','Demo','Custom']</param>
</check> </check>
<group master="casAttribute"> <group master="casAttribute">
<slave>casLDAPAttribute</slave> <slave>casLDAPAttribute</slave>
@ -191,7 +157,6 @@
<condition name='disabled_if_in' source='llResetPassword'> <condition name='disabled_if_in' source='llResetPassword'>
<param>non</param> <param>non</param>
<target type='variable'>llResetUrl</target> <target type='variable'>llResetUrl</target>
<target type='variable'>llResetExpiredPassword</target>
</condition> </condition>
<check name='valid_enum' target='llSkin'> <check name='valid_enum' target='llSkin'>
<param>['bootstrap','dark','impact','pastel']</param> <param>['bootstrap','dark','impact','pastel']</param>

View File

@ -6,12 +6,19 @@
<variables> <variables>
<family name='eole sso'> <family name='eole sso'>
<variable name='eolesso_adresse' description="Nom de domaine du serveur d'authentification SSO" redefine="True" exists='True' /> <variable name='eolesso_adresse' description="Nom de domaine du serveur d'authentification SSO" redefine="True" exists='True' />
<variable name='eolesso_cas_folder' redefine="True" exists='True'>
<value>cas</value>
</variable>
<variable name='eolesso_port' redefine="True" exists='True'>
<value>443</value>
</variable>
</family> </family>
</variables> </variables>
<constraints> <constraints>
<fill name='calc_multi_condition' target='activer_sso'> <fill name='calc_multi_condition' target='activer_sso'>
<param>oui</param> <param>oui</param>
<param type='eole' name='condition_1'>activerLemon</param> <param type='eole' name='condition_1'>activerLemon</param>
@ -24,8 +31,11 @@
<target type='variable'>activer_sso</target> <target type='variable'>activer_sso</target>
</condition> </condition>
<auto name='calc_val' target='ldapScheme'> <auto name='calc_multi_condition' target='ldapScheme'>
<param>ldaps</param> <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>
<fill name='calc_val_first_value' target='eolesso_adresse'> <fill name='calc_val_first_value' target='eolesso_adresse'>
@ -34,37 +44,29 @@
<param type='eole'>nom_domaine_machine</param> <param type='eole'>nom_domaine_machine</param>
</fill> </fill>
<auto name='calc_val' target='ldap_port'>
<param>636</param>
</auto>
<condition name='frozen_if_in' source='activerLemon'> <condition name='frozen_if_in' source='activerLemon'>
<param>oui</param> <param>oui</param>
<target type='variable'>eolesso_adresse</target> <target type='variable'>eolesso_adresse</target>
</condition> </condition>
<auto name='calc_val' target='ldapServer'> <auto name='calc_val' target='ldapServer'>
<param type='eole'>ad_address</param> <param type='eole'>adresse_ip_ldap</param>
</auto> </auto>
<auto name='calc_val' target='ldapServerPort'> <auto name='calc_val' target='ldapServerPort'>
<param type='number'>636</param> <param type='eole'>ldap_port</param>
</auto> </auto>
<auto name='calc_val' target='lemon_user_db'> <auto name='calc_val' target='ldapUserBaseDN'>
<param>AD</param> <param type='eole'>ldap_base_dn</param>
</auto>
<auto name='calc_val' target='llRegisterDB'>
<param>AD</param>
</auto> </auto>
<auto name='calc_val' target='ldapBindUserDN'> <auto name='calc_val' target='ldapBindUserDN'>
<param type='eole'>sasl_ldap_reader</param> <param type='eole'>ldap_reader</param>
</auto> </auto>
<auto name='calc_val' target='ldapBindUserPassword'> <auto name='calc_val' target='ldapBindUserPassword'>
<param>/etc/eole/private/sasl-reader.password</param> <param type='eole'>ldap_reader_passfile</param>
</auto> </auto>
<auto name='calc_val' target='casFolder'> <auto name='calc_val' target='casFolder'>

View File

@ -1,6 +1,12 @@
#!/bin/bash #!/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 # Updating Configuration cache
/usr/share/lemonldap-ng/bin/lemonldap-ng-cli update-cache 2>&1 /usr/share/lemonldap-ng/bin/lemonldap-ng-cli update-cache 2>&1

View File

@ -29,17 +29,6 @@ ErrorDocument 503 https://%%authWebName/lmerror/503
<VirtualHost %%adresse_ip_eth0:443> <VirtualHost %%adresse_ip_eth0:443>
ServerName %%reloadWebName ServerName %%reloadWebName
SSLEngine on
SSLCertificateFile %%server_cert
SSLCertificateKeyFile %%server_key
SSLCertificateChainFile /etc/ssl/certs/ca_local.crt
SSLProtocol all -SSLv3 -SSLv2
SSLProxyEngine on
LogLevel %%lm_loglevel
ErrorLog /var/log/apache2/handler_error.log
CustomLog /var/log/apache2/handler_access.log common
# Configuration reload mechanism (only 1 per physical server is # Configuration reload mechanism (only 1 per physical server is
# needed): choose your URL to avoid restarting Apache when # needed): choose your URL to avoid restarting Apache when
# configuration change # configuration change

View File

@ -197,11 +197,11 @@ portalSkin = %%llSkin
; Modules displayed ; Modules displayed
;portalDisplayLogout = 1 ;portalDisplayLogout = 1
portalDisplayResetPassword = %%boolean[%%llResetPassword] portalDisplayResetPassword = %%boolean[%%llResetPassword]
portalDisplayChangePassword = %%boolean[%%llChangePassword] ;portalDisplayChangePassword = 1
;portalDisplayAppslist = 1 ;portalDisplayAppslist = 1
;portalDisplayLoginHistory = 1 ;portalDisplayLoginHistory = 1
; Require the old password when changing password ; Require the old password when changing password
portalRequireOldPassword = %%boolean[%%llChangePassword] ;portalRequireOldPassword = 1
; Attribute displayed as connected user ; Attribute displayed as connected user
;portalUserAttr = mail ;portalUserAttr = mail
; Old menu HTML code ; Old menu HTML code

443
tmpl/lmConf-1.js Normal file
View File

@ -0,0 +1,443 @@
%set %%ssoFilters = %%getSSOFilters
{
"ldapGroupAttributeNameUser": "dn",
"cfgAuthorIP": "172.16.0.1",
"samlSPMetaDataXML": null,
"facebookAuthnLevel": 1,
"mailConfirmSubject": "[LemonLDAP::NG] Password reset confirmation",
"secureTokenAttribute": "uid",
"singleSession": 0,
"registerConfirmSubject": "[LemonLDAP::NG] Account register confirmation",
"CAS_pgtFile": "/tmp/pgt.txt",
"cookieName": "lemonldap",
"slaveExportedVars": {},
"whatToTrace": "_whatToTrace",
"oidcRPMetaDataOptions": {},
"notifyDeleted": 1,
"useRedirectOnError": 1,
"samlSPMetaDataExportedAttributes": null,
"ldapPwdEnc": "utf-8",
"openIdSPList": "0;",
"samlNameIDFormatMapEmail": "mail",
"samlSPMetaDataOptions": null,
"issuerDBOpenIDRule": 1,
"casStorageOptions": {},
"mailFrom": "noreply@%%nom_domaine_local",
"timeoutActivity": 0,
"oidcRPMetaDataExportedVars": {},
"issuerDBSAMLActivation": 0,
"issuerDBCASPath": "^/%%casFolder/",
"randomPasswordRegexp": "[A-Z]{3}[a-z]{5}.\\d{2}",
"samlIDPSSODescriptorSingleSignOnServiceSOAP": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/singleSignOnSOAP;",
"samlSPSSODescriptorSingleLogoutServiceHTTPPost": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST;#PORTAL#/saml/proxySingleLogout;#PORTAL#/saml/proxySingleLogoutReturn",
"exportedHeaders": {
"test1.%%nom_domaine_local": {
"Auth-User": "$uid"
},
"test2.%%nom_domaine_local": {
"Auth-User": "$uid"
},
"%%managerWebName": {}
},
"vhostOptions": {
"%%managerWebName": {
"vhostHttps" : "1"
},
"test1.%%nom_domaine_local": {},
"test2.%%nom_domaine_local": {}
},
"radiusAuthnLevel": 3,
"dbiAuthnLevel": 2,
"ldapPasswordResetAttribute": "pwdReset",
"ldapGroupObjectClass": "groupOfNames",
"apacheAuthnLevel": 4,
"samlNameIDFormatMapKerberos": "uid",
"groups": {},
"securedCookie": 0,
"httpOnly": 1,
"yubikeyAuthnLevel": 3,
"ADPwdMaxAge": 0,
"samlUseQueryStringSpecific": 0,
"loginHistoryEnabled": 1,
"samlSPSSODescriptorSingleLogoutServiceSOAP": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/proxySingleLogoutSOAP;",
"failedLoginNumber": 5,
"samlServicePrivateKeyEncPwd": "",
"portalForceAuthnInterval": 0,
"cfgLog": "",
"samlIDPSSODescriptorSingleLogoutServiceHTTPRedirect": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect;#PORTAL#/saml/singleLogout;#PORTAL#/saml/singleLogoutReturn",
"exportedVars": {
"UA": "HTTP_USER_AGENT",
%for att in %%casAttribute
"%%att": "%%att",
%end for
%set %%idx = 0
%set %%size = %%len(%%ssoFilters) - 1
%for key,value in %%ssoFilters
%if %%idx == %%size
"%%key": "%%value"
%else
"%%key": "%%value",
%end if
%set %%idx += 1
%end for
},
"notificationStorage": "File",
"applicationList": {
"1sample": {
"test2": {
"options": {
"name": "Application Test 2",
"logo": "thumbnail.png",
"uri": "https://test2.%%nom_domaine_local/",
"display": "auto",
"description": "The same simple application displaying authenticated user"
},
"type": "application"
},
"type": "category",
"catname": "Sample applications",
"test1": {
"type": "application",
"options": {
"description": "A simple application displaying authenticated user",
"uri": "https://test1.%%nom_domaine_local/",
"logo": "demo.png",
"display": "auto",
"name": "Application Test 1"
}
}
},
"2administration": {
"notifications": {
"options": {
"name": "Notifications explorer",
"display": "auto",
"description": "Explore WebSSO notifications",
"uri": "https://%%managerWebName/notifications.pl",
"logo": "database.png"
},
"type": "application"
},
"manager": {
"options": {
"uri": "https://%%managerWebName/",
"display": "auto",
"description": "Configure LemonLDAP::NG WebSSO",
"logo": "configure.png",
"name": "WebSSO Manager"
},
"type": "application"
},
"type": "category",
"sessions": {
"type": "application",
"options": {
"description": "Explore WebSSO sessions",
"uri": "https://%%managerWebName/sessions.pl",
"logo": "database.png",
"display": "auto",
"name": "Sessions explorer"
}
},
"catname": "Administration"
},
"3documentation": {
"catname": "Documentation",
"officialwebsite": {
"type": "application",
"options": {
"name": "Offical Website",
"description": "Official LemonLDAP::NG Website",
"logo": "network.png",
"display": "on",
"uri": "http://lemonldap-ng.org/"
}
},
"type": "category",
"localdoc": {
"options": {
"logo": "help.png",
"description": "Documentation supplied with LemonLDAP::NG",
"display": "on",
"uri": "https://%%managerWebName/doc/",
"name": "Local documentation"
},
"type": "application"
}
}
},
"userControl": "^[\\w\\.\\-@]+$",
"timeout": 72000,
"portalAntiFrame": 1,
"SMTPServer": "",
"ldapTimeout": 120,
"samlAuthnContextMapPasswordProtectedTransport": 3,
"ldapUsePasswordResetAttribute": 1,
"ldapPpolicyControl": 0,
"casAttributes": {
%for att in %%casAttribute
"%%att": "%%att.casLDAPAttribute",
%end for
%set %%idx = 0
%set %%size = %%len(%%ssoFilters) - 1
%for key,value in %%ssoFilters
%if %%idx == %%size
"%%key": "%%key"
%else
"%%key": "%%key",
%end if
%set %%idx += 1
%end for
},
"issuerDBSAMLPath": "^/saml/",
"samlAttributeAuthorityDescriptorAttributeServiceSOAP": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/AA/SOAP;",
"portalDisplayAppslist": 1,
"confirmFormMethod": "post",
"domain": "%%nom_domaine_local",
"cfgNum": "1",
"authentication": "LDAP",
"samlNameIDFormatMapWindows": "uid",
"authChoiceModules": {},
"ldapGroupAttributeName": "member",
"samlServicePrivateKeySigPwd": "",
"googleAuthnLevel": 1,
"successLoginNumber": 5,
"localSessionStorageOptions": {
"cache_root": "/tmp",
"namespace": "lemonldap-ng-sessions",
"default_expires_in": 600,
"directory_umask": "007",
"cache_depth": 3
},
"samlSPSSODescriptorArtifactResolutionServiceArtifact": "1;0;urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/artifact",
"portalRequireOldPassword": 1,
"samlIDPSSODescriptorSingleSignOnServiceHTTPArtifact": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact;#PORTAL#/saml/singleSignOnArtifact;",
"ADPwdExpireWarning": 0,
"yubikeyPublicIDSize": 12,
"ldapGroupAttributeNameGroup": "dn",
"oidcRPMetaDataOptionsExtraClaims": null,
"ldapGroupRecursive": 0,
"mailSubject": "[LemonLDAP::NG] Your new password",
"nginxCustomHandlers": {},
"samlSPSSODescriptorAuthnRequestsSigned": 1,
%if %%llResetPassword == "oui"
"portalDisplayResetPassword": 1,
%else
"portalDisplayResetPassword": 0,
%end if
"openIdSreg_timezone": "_timezone",
"infoFormMethod": "get",
"openIdAuthnLevel": 1,
"openIdSreg_nickname": "uid",
"samlServicePublicKeyEnc": "",
"userDB": "LDAP",
"grantSessionRules": {},
"remoteGlobalStorage": "Lemonldap::NG::Common::Apache::Session::SOAP",
"reloadUrls": {
"%%reloadWebName": "https://%%reloadWebName/reload"
},
"registerTimeout": 0,
"samlIDPSSODescriptorSingleSignOnServiceHTTPPost": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST;#PORTAL#/saml/singleSignOn;",
"slaveAuthnLevel": 2,
"samlIDPSSODescriptorSingleLogoutServiceHTTPPost": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST;#PORTAL#/saml/singleLogout;#PORTAL#/saml/singleLogoutReturn",
"Soap": 1,
%set %%RegisterDB=%%getVar('llRegisterDB', 'Demo')
%if %%RegisterDB == "Custom"
"registerDB": "Null",
%else
"registerDB": "%%RegisterDB",
%end if
"locationRules": {
"%%managerWebName": {
"default": "$uid eq \"%%lemonAdmin\""
},
"test1.%%nom_domaine_local": {
"default": "accept",
"^/logout": "logout_sso"
},
"test2.%%nom_domaine_local": {
"default": "accept",
"^/logout": "logout_sso"
}
},
"portalDisplayChangePassword": "$_auth =~ /^(LDAP|DBI|Demo)$/",
"hideOldPassword": 0,
%if %%is_file(%%ldapBindUserPassword)
"managerPassword": "%%readPass("", %%ldapBindUserPassword)",
%else
"managerPassword": "%%ldapBindUserPassword",
%end if
"authChoiceParam": "lmAuth",
"lwpSslOpts": {},
"portalSkinRules": {},
"issuerDBOpenIDPath": "^/openidserver/",
"redirectFormMethod": "get",
"portalDisplayRegister": 1,
"secureTokenMemcachedServers": "127.0.0.1:11211",
"notificationStorageOptions": {
"dirName": "/var/lib/lemonldap-ng/notifications"
},
"browserIdAuthnLevel": 1,
"portalUserAttr": "_user",
"ldapVersion": 3,
"sessionDataToRemember": {},
"samlNameIDFormatMapX509": "mail",
"managerDn": "%%ldapBindUserDN",
"mailSessionKey": "mail",
"openIdSreg_email": "mail",
"localSessionStorage": "Cache::FileCache",
"persistentStorage": "Apache::Session::File",
"mailOnPasswordChange": 0,
"captchaStorage": "Apache::Session::File",
"remoteGlobalStorageOptions": {
"proxy": "https://%%authWebName/index.pl/sessions",
"ns": "https://%%authWebName/Lemonldap/NG/Common/CGI/SOAPService"
},
"passwordDB": "LDAP",
"captcha_size": 6,
"mailCharset": "utf-8",
"facebookExportedVars": {},
"nullAuthnLevel": 2,
"singleIP": 0,
"dbiExportedVars": {},
"portalSkin": "bootstrap",
"storePassword": 0,
"hiddenAttributes": "_password",
"samlServicePrivateKeySig": "",
"globalStorage": "Apache::Session::File",
"notificationWildcard": "allusers",
"portalForceAuthn": 0,
"samlMetadataForceUTF8": 1,
"secureTokenUrls": ".*",
"secureTokenAllowOnError": 1,
"samlAuthnContextMapTLSClient": 5,
"ldapAllowResetExpiredPassword": 0,
"oidcOPMetaDataExportedVars": {},
"notifyOther": 0,
"secureTokenExpiration": 60,
"captcha_mail_enabled": 0,
"samlStorageOptions": {},
"samlOrganizationDisplayName": "Example",
"trustedProxies": "",
"secureTokenHeader": "Auth-Token",
"issuerDBCASActivation": 1,
"samlIDPSSODescriptorSingleSignOnServiceHTTPRedirect": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect;#PORTAL#/saml/singleSignOn;",
"samlSPSSODescriptorSingleLogoutServiceHTTPRedirect": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect;#PORTAL#/saml/proxySingleLogout;#PORTAL#/saml/proxySingleLogoutReturn",
"samlIDPMetaDataXML": {},
"oidcStorageOptions": {},
"cfgDate": 1519998069,
"samlAuthnContextMapPassword": 2,
"portalDisplayLoginHistory": 1,
"ldapPasswordResetAttributeValue": "TRUE",
"ldapServer": "%%ldapScheme://%%ldapServer",
"samlIDPSSODescriptorSingleLogoutServiceSOAP": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/singleLogoutSOAP;",
"samlIDPMetaDataExportedAttributes": null,
"samlServicePrivateKeyEnc": "",
"useRedirectOnForbidden": 0,
"captcha_login_enabled": 0,
"https": 0,
"checkXSS": 1,
"ldapSetPassword": 0,
"portalPingInterval": 60000,
"captchaStorageOptions": {
"Directory": "/var/lib/lemonldap-ng/captcha/"
},
"useSafeJail": 1,
"registerDoneSubject": "[LemonLDAP::NG] Your new account",
"issuerDBCASRule": 1,
"samlAuthnContextMapKerberos": 4,
"ldapGroupAttributeNameSearch": "cn",
"logoutServices": {},
"samlIDPSSODescriptorWantAuthnRequestsSigned": 1,
"portalDisplayLogout": 1,
"issuerDBGetParameters": {},
"googleExportedVars": {},
"openIdSreg_fullname": "cn",
"samlSPSSODescriptorAssertionConsumerServiceHTTPArtifact": "1;0;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact;#PORTAL#/saml/proxySingleSignOnArtifact",
"demoExportedVars": {
"mail": "mail",
"uid": "uid",
"cn": "cn"
},
"oidcOPMetaDataJSON": null,
"samlIdPResolveCookie": "lemonldapidp",
"samlRelayStateTimeout": 600,
"samlOrganizationURL": "https://auth.%%nom_domaine_local",
"globalStorageOptions": {
"Directory": "/var/lib/lemonldap-ng/sessions",
"LockDirectory": "/var/lib/lemonldap-ng/sessions/lock"
},
"ldapExportedVars": {
"mail": "mail",
"cn": "cn",
"uid": "uid"
},
"webIDExportedVars": {},
"activeTimer": 1,
"cda": 0,
"samlServicePublicKeySig": "",
%if %%llCheckLogins == "oui"
"portalCheckLogins": 1,
%else
"portalCheckLogins": 0,
%end if
"CAS_authnLevel": 1,
"macros": {
"_whatToTrace": "$_auth eq 'SAML' ? \"$_user\\@$_idpConfKey\" : \"$_user\""
},
"samlIDPMetaDataOptions": null,
"twitterAuthnLevel": 1,
"openIdExportedVars": {},
"captcha_register_enabled": 1,
"oidcOPMetaDataJWKS": null,
"webIDAuthnLevel": 1,
"issuerDBOpenIDActivation": "1",
%if %%llResetPassword == "oui"
%if %%is_empty(%%llResetUrl)
"mailUrl": "https://%%authWebName/mail.pl",
%else
"mailUrl": "%%llResetUrl",
%end if
%end if
"maintenance": 0,
"jsRedirect": 0,
"cfgAuthor": "Cadoles",
"persistentStorageOptions": {
"LockDirectory": "/var/lib/lemonldap-ng/psessions/lock",
"Directory": "/var/lib/lemonldap-ng/psessions"
},
"SSLAuthnLevel": 5,
"oidcServiceMetaDataAuthnContext": {},
"samlIDPSSODescriptorArtifactResolutionServiceArtifact": "1;0;urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/artifact",
"notification": 1,
"ldapChangePasswordAsUser": 0,
"CAS_proxiedServices": {},
"key": "e\"bTCt3*eU9^\\V%b",
"portal": "https://%%authWebName/",
"singleSessionUserByIP": 0,
"portalOpenLinkInNewWindow": 0,
"post": {
"test2.%%nom_domaine_local": {},
"test1.%%nom_domaine_local": {},
"%%managerWebName": {}
},
"samlSPSSODescriptorAssertionConsumerServiceHTTPPost": "0;1;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST;#PORTAL#/saml/proxySingleSignOnPost",
"issuerDBSAMLRule": 1,
"samlCommonDomainCookieActivation": 0,
"syslog": "",
"ldapBase": "%%ldapUserBaseDN",
"ldapAuthnLevel": 2,
"mailTimeout": 0,
"samlEntityID": "#PORTAL#/saml/metadata",
"oidcOPMetaDataOptions": null,
"samlSPSSODescriptorWantAssertionsSigned": 1,
"samlOrganizationName": "%%samlOrganizationName",
%if %%RegisterDB == "Custom"
"registerUrl": "%%llRegisterURL",
%else
"registerUrl": "https://%%authWebName/register.pl",
%end if
"casAccessControlPolicy": "none",
"multiValuesSeparator": ";",
"ldapPort": %%ldapServerPort
}

View File

@ -85,7 +85,7 @@
}, },
"authChoiceModules": {}, "authChoiceModules": {},
"authChoiceParam": "lmAuth", "authChoiceParam": "lmAuth",
"authentication": "%%lemon_user_db", "authentication": "LDAP",
"browserIdAuthnLevel": 1, "browserIdAuthnLevel": 1,
"captchaStorage": "Apache::Session::File", "captchaStorage": "Apache::Session::File",
"captchaStorageOptions": { "captchaStorageOptions": {
@ -152,37 +152,10 @@
"issuerDBSAMLRule": 1, "issuerDBSAMLRule": 1,
"jsRedirect": 0, "jsRedirect": 0,
"key": "e\"bTCt3*eU9^\\V%b", "key": "e\"bTCt3*eU9^\\V%b",
%if %%llResetPassword == "oui"
%if %%llResetExpiredPassword == "oui"
%if %%lemon_user_db == "AD"
"ldapPpolicyControl": 0,
%else
"ldapPpolicyControl": 1,
%end if
"ldapAllowResetExpiredPassword": 1,
"ldapChangePasswordAsUser": 1,
%else
"ldapPpolicyControl": 0,
"ldapAllowResetExpiredPassword": 0, "ldapAllowResetExpiredPassword": 0,
"ldapChangePasswordAsUser": 1,
%end if
%end if
"ldapAuthnLevel": 2, "ldapAuthnLevel": 2,
"ldapSearchDeref": "find",
%if %%eole_module == "scribe"
"ldapBase": "cn=Users,dc=%echo ",dc=".join(%%ad_domain.split('.')) + '",'
"ldapExportedVars": {
"cn": "cn",
"mail": "mail",
"uid": "cn"
},
"ldapGroupAttributeName": "memberUid",
"ldapGroupAttributeNameGroup": "dn",
"ldapGroupAttributeNameSearch": "cn",
"ldapGroupAttributeNameUser": "cn",
"ldapGroupObjectClass": "group",
%else
"ldapBase": "%%ldapUserBaseDN", "ldapBase": "%%ldapUserBaseDN",
"ldapChangePasswordAsUser": 0,
"ldapExportedVars": { "ldapExportedVars": {
"cn": "cn", "cn": "cn",
"mail": "mail", "mail": "mail",
@ -193,20 +166,13 @@
"ldapGroupAttributeNameSearch": "cn", "ldapGroupAttributeNameSearch": "cn",
"ldapGroupAttributeNameUser": "uid", "ldapGroupAttributeNameUser": "uid",
"ldapGroupObjectClass": "eolegroupe", "ldapGroupObjectClass": "eolegroupe",
%end if
"ldapGroupRecursive": 0, "ldapGroupRecursive": 0,
"ldapPasswordResetAttribute": "pwdReset", "ldapPasswordResetAttribute": "pwdReset",
"ldapPasswordResetAttributeValue": "TRUE", "ldapPasswordResetAttributeValue": "TRUE",
"ldapPort": "%%ldapServerPort", "ldapPort": "%%ldapServerPort",
"ldapPpolicyControl": 0,
"ldapPwdEnc": "utf-8", "ldapPwdEnc": "utf-8",
"ldapServer": "%%ldapScheme://%%ldapServer", "ldapServer": "%%ldapScheme://%%ldapServer",
%if %%ldapScheme == "ldaps"
%if %%lmldapverify == "oui"
"ldapVerify": "required",
%else
"ldapVerify": "none",
%end if
%end if
"ldapSetPassword": 0, "ldapSetPassword": 0,
"ldapTimeout": 120, "ldapTimeout": 120,
"ldapUsePasswordResetAttribute": 1, "ldapUsePasswordResetAttribute": 1,
@ -230,6 +196,13 @@
"macros": { "macros": {
"_whatToTrace": "$_auth eq 'SAML' ? \"$_user\\@$_idpConfKey\" : \"$_user\"" "_whatToTrace": "$_auth eq 'SAML' ? \"$_user\\@$_idpConfKey\" : \"$_user\""
}, },
"samlIDPMetaDataOptions": null,
"twitterAuthnLevel": 1,
"openIdExportedVars": {},
"captcha_register_enabled": 1,
"oidcOPMetaDataJWKS": null,
"webIDAuthnLevel": 1,
"issuerDBOpenIDActivation": "1",
"mailCharset": "utf-8", "mailCharset": "utf-8",
"mailConfirmSubject": "[LemonLDAP::NG] Password reset confirmation", "mailConfirmSubject": "[LemonLDAP::NG] Password reset confirmation",
"mailFrom": "noreply@%%nom_domaine_local", "mailFrom": "noreply@%%nom_domaine_local",
@ -239,17 +212,13 @@
"mailTimeout": 0, "mailTimeout": 0,
%if %%llResetPassword == "oui" %if %%llResetPassword == "oui"
%if %%is_empty(%%llResetUrl) %if %%is_empty(%%llResetUrl)
"mailUrl": "https://%%authWebName/resetpwd", "mailUrl": "https://%%authWebName/mail.pl",
%else %else
"mailUrl": "%%llResetUrl", "mailUrl": "%%llResetUrl",
%end if %end if
%end if %end if
"maintenance": 0, "maintenance": 0,
%if %%eole_module == "scribe"
"managerDn": "cn=%%ldapBindUserDN,cn=Users,dc=%echo ",dc=".join(%%ad_domain.split('.')) + '",'
%else
"managerDn": "%%ldapBindUserDN", "managerDn": "%%ldapBindUserDN",
%end if
%if %%is_file(%%ldapBindUserPassword) %if %%is_file(%%ldapBindUserPassword)
"managerPassword": "%%readPass("", %%ldapBindUserPassword)", "managerPassword": "%%readPass("", %%ldapBindUserPassword)",
%else %else
@ -282,7 +251,7 @@
"openIdSreg_fullname": "cn", "openIdSreg_fullname": "cn",
"openIdSreg_nickname": "uid", "openIdSreg_nickname": "uid",
"openIdSreg_timezone": "_timezone", "openIdSreg_timezone": "_timezone",
"passwordDB": "%%lemon_user_db", "passwordDB": "LDAP",
"persistentStorage": "Apache::Session::File", "persistentStorage": "Apache::Session::File",
"persistentStorageOptions": { "persistentStorageOptions": {
"Directory": "/var/lib/lemonldap-ng/psessions", "Directory": "/var/lib/lemonldap-ng/psessions",
@ -292,10 +261,10 @@
"portalAntiFrame": 1, "portalAntiFrame": 1,
"portalCheckLogins": %%boolean[%%llCheckLogins], "portalCheckLogins": %%boolean[%%llCheckLogins],
"portalDisplayAppslist": 1, "portalDisplayAppslist": 1,
"portalDisplayChangePassword": "$_auth =~ /^(AD|LDAP|DBI|Demo)$/", "portalDisplayChangePassword": "$_auth =~ /^(LDAP|DBI|Demo)$/",
"portalDisplayLoginHistory": 1, "portalDisplayLoginHistory": 1,
"portalDisplayLogout": 1, "portalDisplayLogout": 1,
"portalDisplayRegister": 1, "portalDisplayRegister": %%boolean[%%llRegisterAccount],
"portalDisplayResetPassword": %%boolean[%%llResetPassword], "portalDisplayResetPassword": %%boolean[%%llResetPassword],
"portalForceAuthn": 0, "portalForceAuthn": 0,
"portalForceAuthnInterval": 0, "portalForceAuthnInterval": 0,
@ -402,7 +371,7 @@
"useRedirectOnForbidden": 0, "useRedirectOnForbidden": 0,
"useSafeJail": 1, "useSafeJail": 1,
"userControl": "^[\\w\\.\\-@]+$", "userControl": "^[\\w\\.\\-@]+$",
"userDB": "%%lemon_user_db", "userDB": "LDAP",
"vhostOptions": { "vhostOptions": {
"%%managerWebName": { "%%managerWebName": {
"vhostHttps": "1" "vhostHttps": "1"

View File

@ -13,13 +13,13 @@
<VirtualHost %%adresse_ip_eth0:443> <VirtualHost %%adresse_ip_eth0:443>
ServerName %%managerWebName ServerName %%managerWebName
SSLEngine on SSLEngine on
SSLCertificateFile %%server_cert SSLCertificateFile /etc/ssl/certs/eole.crt
SSLCertificateKeyFile %%server_key SSLCertificateKeyFile /etc/ssl/private/eole.key
SSLCertificateChainFile /etc/ssl/certs/ca_local.crt SSLCertificateChainFile /etc/ssl/certs/ca_local.crt
SSLProtocol all -SSLv3 -SSLv2 SSLProtocol all -SSLv3 -SSLv2
SSLProxyEngine on SSLProxyEngine on
LogLevel %%lm_loglevel LogLevel info
ErrorLog /var/log/apache2/manager_error.log ErrorLog /var/log/apache2/manager_error.log
CustomLog /var/log/apache2/manager_access.log common CustomLog /var/log/apache2/manager_access.log common

View File

@ -1,3 +1,3 @@
log_format lm_app '$remote_addr - $upstream_http_lm_remote_user [$time_local] ' log_format lm_combined '$remote_addr - $lmremote_user [$time_local] '
'"$request" $status $body_bytes_sent ' '"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" $upstream_http_lm_remote_custom'; '"$http_referer" "$http_user_agent"';

View File

@ -13,13 +13,13 @@
<VirtualHost %%adresse_ip_eth0:443> <VirtualHost %%adresse_ip_eth0:443>
ServerName %%authWebName ServerName %%authWebName
SSLEngine on SSLEngine on
SSLCertificateFile %%server_cert SSLCertificateFile /etc/ssl/certs/eole.crt
SSLCertificateKeyFile %%server_key SSLCertificateKeyFile /etc/ssl/private/eole.key
SSLCertificateChainFile /etc/ssl/certs/ca_local.crt SSLCertificateChainFile /etc/ssl/certs/ca_local.crt
SSLProtocol all -SSLv3 -SSLv2 SSLProtocol all -SSLv3 -SSLv2
SSLProxyEngine on SSLProxyEngine on
LogLevel %%lm_loglevel LogLevel info
ErrorLog /var/log/apache2/portal_error.log ErrorLog /var/log/apache2/portal_error.log
CustomLog /var/log/apache2/portal_access.log common CustomLog /var/log/apache2/portal_access.log common