0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Kimaiで工数管理 (3) LDAPサーバとの連携

Last updated at Posted at 2024-08-29

前回までは下記を参照ください。

Kimaiではチームメンバの工数管理しますので、まずはユーザーを追加しなければ始まりません。
「システム」→「ユーザー」から手作業で追加することは可能です。

スクリーンショット 2024-08-29 9.48.46.png

メンバーがほとんど変動しない場合は、上の画面でユーザーを追加して良いと思います。

ただ、メンバーの人数が多かったり、メンバー変更が頻繁にある場合は、メンテナンスの手間がかかります。特にKimai以外にも複数のシステムがある場合はなおさら大変です。

また、システム毎にパスワードが異なると、これもメンバーにとっては負担だったりします。

LDAPサーバー

これらを解決するために、LDAP(Lightweight Directory Access Protocol)を利用します。LDAP導入には最初に少し手間が掛かりますが、その後の管理の手間を大きく低減できます。
ここでは簡単に触れますが、OpenLDAPというものを利用します。

OpenLDAPのDockerイメージには下記があります。

OpenLDAPに加えて、メンテナンスを容易化するために、管理ツールであるphpLDAPadminを導入します。

また、メンバーが好きなパスワード変更可能とするためのSelf Service Passwordも導入すると良いです。

これらもDockerコンテナが存在するので、導入は容易です。詳しい導入手順は、また別の機会に、記載したいと思います。

LDAP structureの作成

既に立ち上げているLDAPサーバーがある場合は、できるだけ今ある組織単位(OU)やユーザー情報、グループ情報を使うようにします。

もしLDAPサーバーから立ち上げる場合は、下記にサンプルがあるので、それを使います。

作成したLDIFファイルを、phpLDAPadminからインポートします。
今回の記事用に、まっさらのLDAPサーバーをMac上で立ち上げて、kimai-ldap-exampleをインポートしてみました。
インポート後は、下記の様になります。

スクリーンショット 2024-08-29 15.27.48.png

DCを「dc=example,dc=com」に変更しました。

local.yaml

KimaiからLDAPサーバーにアクセスするための設定を行います。

以下の「The local.yaml settings」のところにサンプルファイルがあります。

修正した箇所は以下の2箇所です。

  • user:とrole:のDCを「dc=example,dc=com」に変更
  • connection:に接続するためのusernameとpasswordを追加(下記参照)
kimai:
    ldap:
        activate: true
        connection:
            host: host.docker.internal
            username: cn=admin,dc=example,dc=com
            password: adminpw

上記ではパスワードはデフォルトになってますので変更してください。

作成したらkimaiのdocker-compose.yamlのあるディレクトリに保存します。

local.yamlファイルは、Kimaiのカスタマイズするための設定ファイルです。コンテナ内の/opt/kimai/config/packages/local.yamlに置くことで読み込まれます。

ホストに置いたlocal.yamlをKimaiのコンテナから参照できる様にdocker-compose.yamlを修正します。

  kimai:
    image: kimai/kimai2:apache
    volumes:
      - data:/opt/kimai/var/data
      - ./local.yaml:/opt/kimai/config/packages/local.yaml

以上でLDAPサーバーを参照するための設定は完了です。

ログイン確認

Kimaiのdockerコンテナを再起動し、LDAPサーバーにあるユーザ情報でログインしてみます。

ユーザー名に「user-ldap」、パスワードは「kitten」と入力し、「ログインする」を押します。

kimai-ldap-exampleのパスワードはデフォルトで「kitten」になってますので適宜変更してください。

スクリーンショット 2024-08-29 16.31.26.png

ようこそ画面に続いて、個人設定の画面が表示されます。ユーザー毎に好きな言語を設定できます。前回日本語にしておいたのでデフォルトは日本語になっています。

スクリーンショット 2024-08-29 16.32.12.png

ログインできたら成功です。

スクリーンショット 2024-08-29 16.34.42.png

なお、この時点ではまだ工数を記録することはできません。
次回以降でプロジェクトやアクティビティを登録することによって、各ユーザーが実績工数を記録できる様になります。

今回、KimaiとLDAPサーバーと連携させることで、管理者の手間を省くことが可能になりました。

次回

顧客名やプロジェクト、アクティビティ、タグ名などの登録していきます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?