Code

BookStackの初期セットアップ②(LDAP認証)

スポンサーラベル
Code

BookStackは、知識や情報を整理しやすい構造を持つオープンソースのドキュメント管理ツールです。前回はBookStackをAlmaLiunux9.4にインストール手順と初期セットアップ手順を紹介しました。
https://syachiku.net/bookstack-install/
https://syachiku.net/bookstack-setup01/

企業でADサーバを利用している場合には、LDAPを利用したログオンを設定することで、既存のユーザー管理と統合し、利便性とセキュリティを向上させることができます。
今回はBookStackのLDAPログオン設定手順を説明します。

1. 前提条件

  1. LDAPサーバが稼働している
    Active DirectoryやOpenLDAPが利用可能である必要があります。
  2. 必要な情報を用意する
    • LDAPサーバのアドレス(IPまたはホスト名)
    • LDAPのバインドユーザーとパスワード
    • LDAPのベースDN
    • ユーザーの属性(例: uidsAMAccountNameなど)

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_DNadministratorを利用していますが、適宜変更してください。

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_DNLDAP_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ログオンの導入を進めてみてください。

今回は以上となります。

コメント

タイトルとURLをコピーしました