BookStackは、知識や情報を整理しやすい構造を持つオープンソースのドキュメント管理ツールです。前回はBookStackをAlmaLiunux9.4にインストール手順と初期セットアップ手順を紹介しました。
https://syachiku.net/bookstack-install/
https://syachiku.net/bookstack-setup01/
企業でADサーバを利用している場合には、LDAPを利用したログオンを設定することで、既存のユーザー管理と統合し、利便性とセキュリティを向上させることができます。
今回はBookStackのLDAPログオン設定手順を説明します。
1. 前提条件
- LDAPサーバが稼働している
Active DirectoryやOpenLDAPが利用可能である必要があります。 - 必要な情報を用意する
- LDAPサーバのアドレス(IPまたはホスト名)
- LDAPのバインドユーザーとパスワード
- LDAPのベースDN
- ユーザーの属性(例:
uid
,sAMAccountName
など)
2. 手順
2.1. PHP-LDAPをインストール
まず、はじめにBookStackのLDAP認証をするためにphp-ldap
をインストールします。
# sudo dnf install -y php-ldap
インストールされていることを確認します。
# rpm -qa | grep php-ldap
php-ldap-8.1.31-1.el9.remi.x86_64
2.2. BookStackの設定ファイルを編集
BookStackのLDAPログオン設定は、.env
ファイルで行います。このファイルは、BookStackのインストールディレクトリにあります。
cd /var/www/bookstack
sudo nano .env
設定ファイルに以下の情報を追記または修正します。
ADサーバは192.168.10.126
です。 テスト用なので、LDAP_DN
はadministrator
を利用していますが、適宜変更してください。
AUTH_METHOD=ldap
LDAP_SERVER=192.168.10.126:389
LDAP_BASE_DN="CN=Users,DC=syachiku,DC=local"
LDAP_DN="CN=Administrator,CN=Users,DC=syachiku,DC=local"
LDAP_PASS=P@ssw0rd
LDAP_VERSION=3
LDAP_USER_FILTER="(&(sAMAccountName=${user}))"
LDAP_START_TLS=false
DEFAULT_USER_ROLES=public
BookStackでは、初回ログイン時にユーザーが自動的に作成されます。このときのユーザー権限をDEFAULT_USER_ROLES
で設定します。
主要項目の説明:
LDAP_SERVER
: LDAPサーバのアドレス(ldap://
を指定)。LDAP_BASE_DN
: ユーザー検索を行うベースDN。LDAP_DN
とLDAP_PASS
: バインドに使用するLDAPユーザーのDNとパスワード。LDAP_USER_FILTER
: ログイン時にユーザー検索に使用するフィルター。${user}
はログインフォームで入力されたユーザー名に置き換わります。
2.3. 設定を反映
設定変更後、BookStackのキャッシュをクリアします。
php artisan cache:clear
2.4. 動作確認
- BookStackにアクセスし、ログオン画面を表示します。
- LDAPユーザーのユーザー名とパスワードを入力してログオンを試みます。今回はテスト用ユーザとして
testuser01
を利用しています。
- 正常にログインできることを確認してください。
※ログオンするとユーザが作成されます。
ログオンユーザにadmin権限を付与するにはLDAP認証を無効化してからユーザー管理画面から権限を設定する必要があります。
3. まとめ
LDAPログオンを設定することで、既存のユーザー管理基盤とBookStackを統合し、運用効率を高めることができます。本記事の手順を参考に、ぜひLDAPログオンの導入を進めてみてください。
今回は以上となります。
コメント