Atlassian Crowdのインストール

社内の開発サーバにAtlassian Crowdをインストールしました。CrowdはJIRAやConfluenceなどと連携して認証やアクセス権限を統一的に管理したり、SSO(シングルサインオン)の機能を提供するソフトウェアです。いままではJIRAとConflueceの認証は共通にしていましたが、JIRAのMercurial PluginがイマイチなのでFisheyeをちゃんと使うことにしたので、あわせてCrowdの設定をしました。すべてスターターライセンスですが。
手順は以下のドキュメントにあるとおりです。Crowdの初期セットアップととFisheyeの連携のみ設定をWebから行えるのはよいですね。それ以外は、XMLやpropertiesファイルの編集が必要でゲンナリします。

ケアレスミスをがなければ手順通りでハマるポイントはあまりないですが、SSOの設定を行った後で、正しいID/Passwordを入力しているのにJIRAにログインできなくなりました(ログイン画面に戻り、エラーメッセージは何も表示されない)。これはブラウザのCookieをクリアして解消しました。JIRAにアクセスする際にドメインを省略してホスト名だけのURLを使っていたので、SSO用に発行されるCookieが正しく処理されていなかったようです。

CrowdはAtlassian以外のアプリケーションとも連携させることができます。今回はHudson(Jenkins)と連携しました。Hudson側にCrowd用のプラグインがあります。設定はWebからできるのでJIRAより簡単です。こういう運用・保守への気配りはHudsonのとても優れている点だと思います。
Crowd Plugin - hudson - Hudson Wiki
ただ、こちらも最初に正しいID/Passwordを入力してもログインできませんでした。ログを見るとCrowdからのレスポンスが正しく読み込めないというエラーが出ていたのですが、Crowdにアクセスする際にApache+mod_proxyを介していたことが影響していたようです(おそらくmod_proxyの設定に問題がある)。直接、CrowdのtomcatにアクセスするようにHudson側を設定したところ正常にログインできるようになりました。

ユーザの管理はGoogle Appsと連携させたかったのですが、Google Appsがプレミアエディションでないと使えないので、Crowdの内部DBを使っています。次はSubversionと連携させいたいですが、ちょっと面倒そうですね。。