将来的には、tracのLDAP連携も導入したい。
今回も記憶ベースです。間違っていたらすみません。
以下設定手順の概要。
- 必要なモジュールをダウンロードして、Apache上にロード
- 認証形式をbasic認証からWindowsドメイン認証へ切り替える。
なお、Subversion導入済みで、Apache2.0Xで起動しているが前提。
また、Subversionが導入されたPCがwindowsドメインに参加していること
(つまり、『domain¥username』形式でPCにログインしている/できるPCであること)。
↑の詳細に関しては割愛。
Let's
- まず、Apache2のモジュールmod_auth_sspi.soが必要なので、ここからダウンロードする。
んで、Apache2にmod_auth_sspi.soをロードする。
具体的には、
- moduleフォルダ配下にmod_auth_sspi.soをコピー。
- conf/httpd.confを開いて以下の設定を追加。
LoadModule sspi_auth_module modules/mod_auth_sspi.so
!!注意。LoadModule auth_module modules/mod_auth.soの前に設定すること。
理由はしりませんが、mod_auth_svn.soよりも先にロードさせる必要があるためなのかなぁ。
- 認証形式をbasic認証からwindowsドメイン認証に切り替える。
- AuthType Basicの設定をAuthType SSPIに切り替える。以下を追加
<domaincontroller>は自分の参加しているドメイン名を設定
SSPIAuth On
SSPIAuthoritative On
SSPIDomain <domaincontroller>
SSPIOmitDomain on
SSPIUsernameCase lower
SSPIPerRequestAuth on
SSPIOfferBasic On
AuthType Basic を削除(これは例。大体同じだけど、人によっては違うのでは)
AuthType Basic
AuthUserFile c:/trac/.htpasswd
おまけ
- マルチ認証の設定
キモはこの設定。
AuthAuthoritative Off
SSPIAuthoritative Off
以下抜粋。大体こんな感じになる。
注意点としてはAuthzSVNAccessFileを設定しない場合はコメントアウトすること。
存在していない場合は権限なしと見られるみたい。
DAV svn
SVNPath "d:¥temp_svn_pma"
AuthName "Subversion repositories"
# AuthzSVNAccessFile svnaccessfile.txt
# NT Domain Logins.
AuthType SSPI
SSPIAuth On
SSPIAuthoritative Off
SSPIDomain domainController
SSPIOfferBasic On
# Htpasswd Logins.
AuthType Basic
AuthAuthoritative Off
AuthUserFile c:/trac/.htpasswd
Require valid-user
- 正規表現でやろうとして四苦八苦
基本的にwindowsドメイン認証だけど、特定環境だけbasic認証を有効にしたいと思って、
色々試してみたが上手くいかない。LocationMatchにSSPI設定を書いて、
各Location毎にBasic設定するだけじゃだめなのか。。。
移行中の対応でBasic認証設定で一時的に制限してアカウントを保持したかったのだが、
パスベース認証設定が正解?
参考URL
この辺が詳しい。
■windowsドメイン認証に関して
TortoiseSVN公式ドキュメント
ひま日記@Nekomimi.info
FROG.ORG HIKI
■AuthSvnSucessFileに関して
気の向くままに
アザース!
TODO
・パスベース認証の設定
・ロギングの設定
・vss2SVNの検証
・cvs2svnの検証