こんにちは仲間
Apacheを使用して、LDAP認証設定のバージョンを投稿します。
すでに説明されているよりも詳細
です 。
必要なもの:
必要なアクション:
- C:\ ApacheにApacheをインストールします。
- C:\ SVNにSVNをインストールします。
- C:\ opensslにopensslをインストールします。
- openssl.cnfをc:\ opensslに移動します
- リポジトリを作成(またはコピー)します。
svnadmin create c:/repositories/test
svnadmin create c:/repositories/secure
- SSL証明書を作成します。
openssl req -config openssl.cnf -new -out svn.example.com.csr
openssl rsa -in privkey.pem -out svn.example.com.key
openssl x509 -in svn.example.com.csr -out svn.example.com.cert -req -signkey svn.example.com.key -days 1000
svn.example.comはドメインの名前です
- すべての.dllと.soをC:\ SVN \ binからc:\ Apache \ modulesにコピーします
- .certおよび.keyファイルをC:\ opensslからC:\ Apache \ confにコピーします
- Cの編集:\ Apache \ conf \ httpd.conf
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
Listen 443
Include conf/extra/httpd-vhosts.conf
- Cの編集:\ Apache \ conf \ extra \ httpd-vhosts.conf
<VirtualHost _default_:443>
SSLEngineオン
SSLCipherSuite ALL :! ADH :! EXPORT56:RC4 + RSA:+高:+中:+低:+ SSLv2:+ EXP:+ eNULL
#証明書ファイルの名前を指定
SSLCertificateFile conf / svn.example.com.cert
SSLCertificateKeyFile conf / svn.example.com.key
SetEnvIf User-Agent "。* MSIE。*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
#ルートパスからリダイレクトを行う
RedirectMatch ^(/)$ http://google.com
#すべてのリポジトリの一般設定を指定
<LocationMatch ^ /。*>
注文許可、拒否
すべてから許可
AuthType Basic
AuthBasicProvider LDAP
AuthzLDAPAuthoritativeオフ
AuthName "SVNメインリポジトリ"
#LDAPサーバーへのパスを指定します。 SSLを使用しない場合、ldap://およびポート3268が使用されることに注意してください
#SSL用のポート389および390のオプションも可能
AuthLDAPURL "ldaps://myDC.domain.com:3269 / DC =ドメイン、DC = com?SAMAccountName?Sub?(ObjectClass = *)"
#LDAPサーバーにバインドするユーザーへのDNパスを指定します。
AuthLDAPBindDN "CN = Apache_bind、OU =ユーザー、OU = my、DC =ドメイン、DC = com"
#パスワードOPEN
AuthLDAPBindPassword qweqwe
AuthLDAPGroupAttributeIsDN on
AuthLDAPGroupAttributeメンバー
SSLRequireSSL
#匿名の禁止
SVNPathAuthzオン
AuthzSVNA匿名オフ
</ LocationMatch>
#作成されたテストリポジトリへのパスを示す
<場所/テスト>
DAV SVN
AuthName "SVNテスト"
SVNPath C:/リポジトリ/テスト
SVNListparentPathオフ
#すべてのドメインユーザーに許可
有効なユーザーが必要
</場所>
#そして、権利を区別して別のリポジトリへのパスを作成する
<場所/安全>
DAV SVN
AuthName "SVN Secure"
SVNPath c:/リポジトリ/セキュア
#SVN_Secure_writeグループに書き込み権限を付与します
ldap-groupが必要CN = SVN_Secure_write、OU = my、DC =ドメイン、DC = com
#ユーザーにSVN_Secure_readグループの読み取りを制限する
<GET PROPFIND OPTIONS REPORTを制限>
ldap-groupが必要CN = SVN_Secure_read、OU = my、DC = domain、DC = com
</ Limit>
</場所>
</ VirtualHost>
それだけです。
リポジトリへのアクセスは現在:
my.domain.com/testおよび
my.domain.com/secureMS Active Directoryの場合、タイムアウト後にADがTCP FINではなくTCP RSTをクライアントに送信することを覚えておくことが重要です。
バイパス
www.apachelounge.com/forum/viewtopic.php?t=1995があります。または、
www.anneb.dds.nl / httpd-2.2.6_ldappatch_win32_vc6.zipをダウンロードします
。そして内容をCに入れます:\ Apache \ Modules1
リポジトリをリモートで保存できます。
それらを示すには、SVNPathディレクティブは次のようになります(MS Windowsの場合)// server / repos / repo(または古い\\\\ server \\ repos \\ repo)
中古品:
www.orcaware.com/svn/wiki/Subversion_configured_for_Windows_Active_Directory_HTTPSwww.opennet.ru/base/net/subversion_ldap.txt.html私は建設的な批判を喜んでいます。 :)