Subversion/Redmineとの認証統合
をテンプレートにして作成
Search in
this wiki
and
or
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
個人で使っているSubversionのRepository達を、全て、Redmi...
そうなると、''RedmineとSubversionの認証情報を統合できな...
例によって、Google先生に訊くと、
> Apache HTTP Serverで行っているSubversionの認証処理を、R...
ということらしい。
ということで、以下の環境でやってみた。
- Windows XP Professional SP3 32-bit (on VMware Server 2)
- Apache HTTP Server 2.2.19
- Subversion 1.6.17
- ActivePerl 5.10
- Redmine 1.2.1
- MySQL 5.5.12
結果、期待していた動作(RedmineのDBを参照して、Subversio...
まずは、httd.confから。
*** httpd-svn.conf [#s557f86f]
LimitRequestFieldSize 12392
#PerlRequire "C:/Server/Apache/conf/startup.pl
LoadModule perl_module modules/mod_perl.so
PerlLoadModule Apache::Authn::Redmine
<Location /svn>
LimitXMLRequestBody 0
# <IfModule mod_perl.c>
# AddHandler perl-script .pl
# PerlHandler ModPerl::Registry
# PerlOptions +ParseHeaders
# PerlSendHeader On
# LoadFile "C:/Server/Perl/bin/perl510.dll"
# </IfModule>
DAV svn
SVNParentPath "D:/Datas/svn"
SVNListParentPath on
SVNIndexXSLT "/svnindex/svnindex.xsl"
SVNPathAuthz off
# http://www.redmine.org/boards/2/topics/7593
AuthType Basic
AuthName Subversion
#リポジトリの読み込みに必要なメソッド以外は認証を必要...
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
PerlAccessHandler Apache::Authn::Redmine::access_handler
PerlAuthenHandler Apache::Authn::Redmine::authen_handler
## for mysql
RedmineDSN "DBI:mysql:database=redmine;host=127.0.0.1;...
RedmineDbUser "********"
RedmineDbPass "********"
## Optional where clause (fulltext search would be slo...
## database dependant).
RedmineDbWhereClause "and exists (select * from groups...
where users.id = groups_users.user_id and groups_users.g...
= (select id from users where type = 'Group' and lastname
= 'committers'));"
## Optional credentials cache size
# RedmineCacheCredsMax 50
</Location>
<IfModule mod_rewrite.c>
RewriteEngine On
# /svn -> /svn/ for SVNList view
RewriteCond %{REQUEST_URI} ^/svn$
RewriteRule ^/svn$ /svn/ [R=301,L]
# RewriteCond %{SERVER_PORT} !^443$
# RewriteRule ^(/svn/.*)?$ https://%{HTTP_HOST}$1 [L,R]
RewriteCond %{REQUEST_URI} ^/svn/Jomura\.FxCop\.Rules
RewriteRule ^/svn/Jomura\.FxCop\.Rules(.*)$ /svn/Jom...
RewriteCond %{REQUEST_URI} ^/svn/Jomura\.Framework
RewriteRule ^/svn/Jomura\.Framework(.*)$ /svn/Jomura...
</IfModule>
ポイント。
+ 最終的には、startup.plもAddHandlerもLoadFileも必要なか...
+ 「どの版のmod_perl.soを使うか」の試行錯誤にもっとも時間...
-- 「mod_perl-2.0がApache2.0用。mod_perlがApache2.2用」(n...
-- 「ActivePerl-5.12系、5.10系、5.8系で、それぞれmod_perl...
-- キレイに情報がまとまっている [[Mod_Perl フリー工房:htt...
+ AuthTypeに"Digest"を指定すると正しく認証されなかった。(...
+ RedmineDbWhereClauseを使えば、「"committers"グループの...
+ Windows環境では、RedmineCacheCredsMaxが正常に動作しない...
+ BASIC認証なので、強制的にSSLへRedirectしようかとも思っ...
-- しかし、Internet経由で職場から使う際はSSLが必須。Web-P...
+ Redmine.pmを使う場合、RedmineのプロジェクトIDとsvnリポ...
-- ちなみに、reposman.rb は使っていない。
#br
また、Redmine.pmも、1ヶ所だけ変更した。
*** Redmine.pm [#adce3acc]
200~203行目
before:
unless ($r->some_auth_required) {
$r->log_reason("No authentication has been configur...
return FORBIDDEN;
}
after:
unless ($r->some_auth_required) {
# $r->log_reason("No authentication has been configu...
# return FORBIDDEN;
return OK;
}
つまり、認証が定義されていない場合には、認証なしでsvn参...
#br
htpasswd認証と比較すると、性能的に多少遅いのかもしれな...
終了行:
個人で使っているSubversionのRepository達を、全て、Redmi...
そうなると、''RedmineとSubversionの認証情報を統合できな...
例によって、Google先生に訊くと、
> Apache HTTP Serverで行っているSubversionの認証処理を、R...
ということらしい。
ということで、以下の環境でやってみた。
- Windows XP Professional SP3 32-bit (on VMware Server 2)
- Apache HTTP Server 2.2.19
- Subversion 1.6.17
- ActivePerl 5.10
- Redmine 1.2.1
- MySQL 5.5.12
結果、期待していた動作(RedmineのDBを参照して、Subversio...
まずは、httd.confから。
*** httpd-svn.conf [#s557f86f]
LimitRequestFieldSize 12392
#PerlRequire "C:/Server/Apache/conf/startup.pl
LoadModule perl_module modules/mod_perl.so
PerlLoadModule Apache::Authn::Redmine
<Location /svn>
LimitXMLRequestBody 0
# <IfModule mod_perl.c>
# AddHandler perl-script .pl
# PerlHandler ModPerl::Registry
# PerlOptions +ParseHeaders
# PerlSendHeader On
# LoadFile "C:/Server/Perl/bin/perl510.dll"
# </IfModule>
DAV svn
SVNParentPath "D:/Datas/svn"
SVNListParentPath on
SVNIndexXSLT "/svnindex/svnindex.xsl"
SVNPathAuthz off
# http://www.redmine.org/boards/2/topics/7593
AuthType Basic
AuthName Subversion
#リポジトリの読み込みに必要なメソッド以外は認証を必要...
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
PerlAccessHandler Apache::Authn::Redmine::access_handler
PerlAuthenHandler Apache::Authn::Redmine::authen_handler
## for mysql
RedmineDSN "DBI:mysql:database=redmine;host=127.0.0.1;...
RedmineDbUser "********"
RedmineDbPass "********"
## Optional where clause (fulltext search would be slo...
## database dependant).
RedmineDbWhereClause "and exists (select * from groups...
where users.id = groups_users.user_id and groups_users.g...
= (select id from users where type = 'Group' and lastname
= 'committers'));"
## Optional credentials cache size
# RedmineCacheCredsMax 50
</Location>
<IfModule mod_rewrite.c>
RewriteEngine On
# /svn -> /svn/ for SVNList view
RewriteCond %{REQUEST_URI} ^/svn$
RewriteRule ^/svn$ /svn/ [R=301,L]
# RewriteCond %{SERVER_PORT} !^443$
# RewriteRule ^(/svn/.*)?$ https://%{HTTP_HOST}$1 [L,R]
RewriteCond %{REQUEST_URI} ^/svn/Jomura\.FxCop\.Rules
RewriteRule ^/svn/Jomura\.FxCop\.Rules(.*)$ /svn/Jom...
RewriteCond %{REQUEST_URI} ^/svn/Jomura\.Framework
RewriteRule ^/svn/Jomura\.Framework(.*)$ /svn/Jomura...
</IfModule>
ポイント。
+ 最終的には、startup.plもAddHandlerもLoadFileも必要なか...
+ 「どの版のmod_perl.soを使うか」の試行錯誤にもっとも時間...
-- 「mod_perl-2.0がApache2.0用。mod_perlがApache2.2用」(n...
-- 「ActivePerl-5.12系、5.10系、5.8系で、それぞれmod_perl...
-- キレイに情報がまとまっている [[Mod_Perl フリー工房:htt...
+ AuthTypeに"Digest"を指定すると正しく認証されなかった。(...
+ RedmineDbWhereClauseを使えば、「"committers"グループの...
+ Windows環境では、RedmineCacheCredsMaxが正常に動作しない...
+ BASIC認証なので、強制的にSSLへRedirectしようかとも思っ...
-- しかし、Internet経由で職場から使う際はSSLが必須。Web-P...
+ Redmine.pmを使う場合、RedmineのプロジェクトIDとsvnリポ...
-- ちなみに、reposman.rb は使っていない。
#br
また、Redmine.pmも、1ヶ所だけ変更した。
*** Redmine.pm [#adce3acc]
200~203行目
before:
unless ($r->some_auth_required) {
$r->log_reason("No authentication has been configur...
return FORBIDDEN;
}
after:
unless ($r->some_auth_required) {
# $r->log_reason("No authentication has been configu...
# return FORBIDDEN;
return OK;
}
つまり、認証が定義されていない場合には、認証なしでsvn参...
#br
htpasswd認証と比較すると、性能的に多少遅いのかもしれな...
ページ名: