tracの認証をActiveDirectoryで
でかいプロジェクト進行中なんですが、課題の管理やファイルの共有がemailのみで行われていて、しかも添付ファイルが全部ZIPで暗号化されているとか、ほんとにめんどくさい。でtracを使ってもらいたいなってことで自前で立ててみました。
いままでもtracは使っていたんですが、認証はhtpasswordで作ったファイルで自前認証。せっかくなのでfastcgiでtracを動かした上で、ldap(ActiveDirectory)認証にしてみました。
前提条件
前提条件としてtracはfastcgi経由で動作するように設定済。/projectが fastcgiのcgiにアライアスされているものとします。
ScriptAlias /project /usr/local/apache2/cgi-bin/trac.fcgi
設定
こんな設定になりました。結構試行錯誤しました。
<Location "/project"> AuthType Basic AuthBasicProvider ldap AuthName "Enter your ID" AuthLDAPBindDN administrator@example.com AuthLDAPUrl "ldap://server-address:389/dc=example,dc=com?sAMAccountName?sub?(objectClass=*)" AuthLDAPBindPassword "password" Require ldap-attribute objectClass=person Order Allow,Deny Allow from All </Location>
Requireのところ。validuserとかじゃNG。特定のユーザだけ認証させたい場合は、objectClassや、他の属性でコントロールできるみたい。
/projectへアクセスすると基本認証画面がでてきて、それで認証させるとtracに当該ユーザでログインした状態になります。管理ユーザ設定する場合はtrac_adminでユーザを指定。
/usr/local/trac_env/bin/trac-admin /usr/local/trac/project permission add hogehoge TRAC_ADMIN