Compare commits

4 Commits

Author SHA1 Message Date
21db0c84aa mise au point solution 2025-12-02 14:27:14 +01:00
a2207b1eff ajout ldif compte de service 2022-11-30 12:03:14 +01:00
5a649e756f solution 2022-11-30 08:35:36 +01:00
d9c53018d5 solution 2022-11-29 22:30:11 +01:00
5 changed files with 21 additions and 71 deletions

View File

@@ -2,49 +2,10 @@
## Apache
Installer le paquet mod_ldap
Voir le fichier _protected.conf_
Créer un compte de service dédié à apache
⚠️ pensez à relancer le service httpd après modification de ce fichier
Copier le fichier protected.conf dans /etc/httpd/conf.d
Adapter-le:
- AuthLDAPURL
- AuthLDAPBindDN
- AuthLDAPBindPassword
Relancer apache et tenter d'accéder à http://ldx*X*.formation.opendoor.fr/pla
En cas d'erreur, penser aux logs !
## Dokuwiki en mode LDAP
### Caractéristiques de l'application
Répertoire d'installation: /var/www/html/dokuwiki/
Fichier de configuration principal: conf/local.protected.php
### Prérequis
S'assurer de la présence d'un compte de service
Optionnel: s'assurer de la présence d'un groupe utilisateur contenant des utilisateurs
### Objectif
Permettre aux utilisateurs LDAP d'accéder à l'application
Mettre au point le filtre _userfilter_ permettant de récupérer l'objet ldap dont l'uid est "%{user}" et dont la classe d'objet est _posixaccount_. %{user} contient le login renseigné par le visiteur
Mettre au point le filtre _groupfilter_ qui permet de récupérer le group (classe posixGroup) dont est membre (memberuid) l'utilisateur en train de se connecter ( %{uid} ).
Compléter le fichier de configuration. N'oubliez pas le compte de service ni la directive _conf['superuser'] = '@test'_
### Tester
Vous devez pouvoir vous connecter sur http://ldxX.formation.opendoor.fr/dokuwiki avec un des comptes utilisateurs LDAP
(Penser à vérifier les logs ldap en cas d'erreur)
## Dokuwiki
Voir le fichier _local.protected.php_

5
apache.ldif Normal file
View File

@@ -0,0 +1,5 @@
dn: uid=apache,ou=services,dc=example,dc=fr
objectClass: simpleSecurityObject
objectClass: account
uid: apache
userPassword: 123Soleil

View File

@@ -1,15 +0,0 @@
---
- hosts: all
tasks:
- name: get and extract archive
ansible.builtin.unarchive:
src: https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
dest: /var/www/html/
remote_src: true
owner: apache
- name: symlink
ansible.builtin.file:
src: /var/www/html/dokuwiki-2025-05-14b
dest: /var/www/html/dokuwiki
state: link
owner: apache

View File

@@ -1,14 +1,13 @@
<?php
// Voir https://www.dokuwiki.org/fr:auth:ldap
$conf['useacl'] = 1; //enable ACL
$conf['authtype'] = 'authldap'; //enable this Auth plugin
$conf['superuser'] = 'CHANGEME user ou @group' ;
$conf['superuser'] = '@test' ;
$conf['plugin']['authldap']['version'] = 3 ;
$conf['plugin']['authldap']['server'] = 'CHANGEME' ;
$conf['plugin']['authldap']['usertree'] = 'CHANGEME';
$conf['plugin']['authldap']['grouptree'] = 'CHANGEME';
$conf['plugin']['authldap']['userfilter'] = 'CHANGEME';
$conf['plugin']['authldap']['groupfilter'] = 'CHANGEME';
$conf['plugin']['authldap']['server'] = 'ldaps://ldx1.formation.opendoor.fr' ;
$conf['plugin']['authldap']['usertree'] = 'ou=users,dc=example,dc=fr';
$conf['plugin']['authldap']['grouptree'] = 'ou=groups;dc=example,dc=fr';
$conf['plugin']['authldap']['userfilter'] = '(&(uid=%{user})(objectClass=posixAccount))';
$conf['plugin']['authldap']['groupfilter'] = '(&(objectClass=posixGroup)(memberUID=%{user}))';
$conf['plugin']['authldap']['attributes'] = array('cn', 'displayname', 'mail', 'givenname', 'objectclass', 'sn', 'uid', 'memberof');
$conf['plugin']['authldap']['binddn'] = 'CHANGEME';
$conf['plugin']['authldap']['bindpw'] = 'CHANGEME';
$conf['plugin']['authldap']['binddn'] = 'uid=dokuwiki,ou=services,dc=example,dc=fr';
$conf['plugin']['authldap']['bindpw'] = '123Soleil';

View File

@@ -1,9 +1,9 @@
<Directory /var/www/html/pla/>
<Directory /var/www/html/>
AuthName "acces restreint"
AuthType Basic
AuthBasicProvider ldap
AuthLdapUrl CHANGEME
AuthLDAPBindDN CHANGEME
AuthLDAPBindPassword CHANGEME
AuthLdapUrl ldaps://ldx1.formation.opendoor.fr/dc=example,dc=fr?uid?sub?objectclass=posixaccount
AuthLDAPBindDN uid=apache,ou=services,dc=example,dc=fr
AuthLDAPBindPassword 123Soleil
require valid-user
</Directory>