プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2019/04/12

DokuWiki で LDAP 認証 (Active Directory 連携) を行う

update2019/11/11 event_note2019/04/11 23:48

DokuWiki で LDAP 認証を行うための設定です。

環境

  • Bitnami DokuWiki

プラグインの有効化

デフォルトでインストールされている Active Directory Authentication Plugin というプラグインを有効化します。

  • 管理者アカウントでログイン
  • [管理] - [拡張機能管理] で「Active Directory Auth Plugin」の「有効化」を押して有効にする

LDAP 認証の設定

設定方法は以下で解説されています。

Bitnami DokuWiki の場合、設定ファイルは /bitnami/dokuwiki/conf にあります。

設定ファイル名は local.php ですが、この設定ファイルはシステムに上書きされてしまうことがあるようなので、local.protected.php というファイルを作成します。
どうやら local.protected.php というファイル名の設定も読み込むようになっているようです。

local.protected.php には、環境に応じて以下のように記述します。
私の場合、設定した項目は以下だけです。

<?php
// 一般的な DokuWiki 設定項目
$conf['useacl']         = 1;
$conf['authtype']       = 'authad';

// 各自の Active Directory 設定項目
$conf['plugin']['authad']['account_suffix']     = '@my.domain.org';
$conf['plugin']['authad']['base_dn']            = 'DC=my,DC=domain,DC=org';
$conf['plugin']['authad']['domain_controllers'] = 'my.domain.org'; //複数設定可

//$conf['plugin']['authad']['admin_username']        = 'admin';
//$conf['plugin']['authad']['admin_password']        = 'admin';
//$conf['plugin']['authad']['sso']                = 1;
//$conf['plugin']['authad']['real_primarygroup']  = 1;
//$conf['plugin']['authad']['use_ssl']            = 1; // ssl、tls オプションは同時使用不可
//$conf['plugin']['authad']['use_tls']            = 1; // どちらか片方だけ
//$conf['plugin']['authad']['debug']              = 1;
//$conf['plugin']['authad']['recursive_groups']   = 1; // AD のグループの数が多い場合、0 に切り替えると性能が向上します。しかし間接的なメンバーシップは動作しません。
//$conf['plugin']['authad']['additional']         = 'department,office'; // 取得する追加属性
// 数日前にパスワード期限切れをユーザーに警告する(バージョン2012年3月10日以降)
//$conf['plugin']['authad']['expirywarn']         = 5;

// 管理者とスーパーユーザー
$conf['manager']   = 'username@my.domain.org';
$conf['superuser'] = 'username@my.domain.org';