GitblitがQNAPで動作できたという記事を以前に書きましたが、GitblitはWindows上でも簡単に動かすことが出来ます。公式ページで Gitblit GO というパッケージを配布しており、ダウンロード後は中に入っているバッチファイルを実行するだけで、サービスのホスティングが可能となります。
このGitblitの認証は割とたくさんの方式をサポートしています。通常だと管理者が1つずつユーザーを追加する状態ですが、これをWindowsドメインに任せることができます。GitblitはLDAP認証をサポートしています。日本語での記事が見つからないようなので、記事にしてみました。
早速設定方法です。
gitblitを展開した中に、data/gitblit.properties という設定ファイルがあります。
この中の項目を書き換えていきます。
ウィンドウズドメインサーバー(LDAP)を使うための設定
realm.userService = com.gitblit.LdapUserService realm.authenticationProviders = ldap
LDAP用の設定
ここからは各自の環境に合わせて適宜変更してください。
ここではサーバーを 192.168.0.1 とし、ドメイン名を mydomain.com (ユーザーはMYDOMAINに参加)と仮定して設定方法を下記に示します。
ドメインの中を検索するユーザーとして、searchUser というユーザーを準備して、パスワードを password としておきます。
realm.ldap.server = ldap://192.168.0.1:389/ realm.ldap.username = MYDOMAIN\\searchUser realm.ldap.password = password realm.ldap.accountBase = DC=mydomain,DC=com realm.ldap.groupBase = DC=mydomain,DC=com
これらの設定をしたうえで、gitblitを起動し直して、ユーザーがログインしようとするとWindowsドメインに認証にいくと思います。
うまくいかない場合にはサーバーのアドレスや、usernameが間違っていないかチェックしてみて下さい。またユーザー名の前にはドメイン名を付加させることもお忘れ無く。
企業などで、細かくグループが分かれている場合には、accountBase, groupBase らを変更するだけでなく、
realm.ldap.bindpattern といった項目も変更が必要になるかもしれません。
問題点
試したバージョンが 1.6.0 です。この場合 LDAP認証されたユーザーはデフォルトで様々な権限を持たないようです。そのため、リポジトリの作成権限すらありませんのでちょっと使いづらいかもしれません。パブリックなリポジトリがあればそれらに対してコードの取得程度は出来るんでしょうが・・・。
このあたりは改善される気配があるので、様子見です。せめてグループ単位でデフォルトの設定を適用できるような改良が望まれます。