Apacheを使用して、LDAP認証設定のバージョンを投稿します。
すでに説明されているよりも詳細です 。
必要なもの:
- Apache 2.2 +オープンSSL。 apache.orgからダウンロードできます。
- Apache 2.2と互換性のあるSVN。 ここからダウンロード-svn.tigris.org
- Openssl-0.9.7e-Win32.zip。 こちらからダウンロードできます-support.etouch.net/cm/wiki/support.Downloads.wiki/1021721main_Openssl-0.9.7e-Win32.zip
- 標準のopenssl.cnf構成はsupport.etouch.net/cm/wiki/support.Downloads.wiki/1021722main_openssl.cnfです
必要なアクション:
- 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/secure
MS 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_HTTPS
www.opennet.ru/base/net/subversion_ldap.txt.html
私は建設的な批判を喜んでいます。 :)