DokuWikiのTips and Tricksを眺めていて"Integrating DokuWiki with Mantis"というのを見かけました。ざっと読むと両者の認証を統合したりすることができるようです。
WikiやIssue Trackerが統合された環境としてTracなどが有名かと思いますが、同様のことができるのではないかと思い試してみました。
(TracではSubversionのソースブラウジングもできるのですが、それはあとで考えるとして)
ACLの設定等はサンプルのままにやっていますので、やってみようという方はご注意を。
DokuWikiは現時点でのStableリリースであるdokuwiki-2006-11-06.tgz、Mantisは開発版の1.1.0a2をそれぞれインストールします。
Integrating DokuWiki with Mantisのとおりにおこなっていきます。
dokuwiki/conf/dokuwiki.phpに追加するように書かれていますが、dokuwiki/conf/local.phpを用意して設定。
MANTIS_ROOTとMANTIS_URLの値は環境に合わせて変更。
dokuwiki/inc/auth/mantis.class.phpを作成してページ記載のコードをそのままコピペ。
とりあえずここまでやるとシングルサインオンは実現しますが、他のDokuWiki側設定もやってしまいます。
dokuwiki/conf/acl.auth.phpを作成して、こちらもページ記載のコードをそのままコピペ。
dokuwiki/lib/plugins/mantis/syntax.phpを作成して、こちらもページ記載のコードをそのままコピペ。
どんな動きになるのか試してみます。
というわけで認証が統合されるといっても「Mantis側でのログイン状態」が引き継がれているだけであって、DokuWikiのログイン画面にMantisのアカウントを入力しても認証されるわけではないようです。
ちょっとややこしいんですが、Mantisでログイン済みであればDokuWikiのログインはスルーされますが、MantisでログインしていないとDokuWiki側はアクセス拒否される、という動きになるようです。
認証情報自体を統合するにはLDAPやBASIC認証をバックエンドに使う方法があります。ログインの動きとしてはそちらのほうがしっくりくるかも知れません。
ですが、ユーザ管理やパスワードリマインダーといった運用上必要になってくるであろう機能をMantisだけで実現できるので、割り切って使えるなら結構便利だと思います。
残りのMantis側設定はこちらをどうぞ。