CentOS + Subversion + LDAP + ApacheをInstallして設定

CentOSにSubversionをInstallして、Mac OS X ServerのSubversionで管理していたRepositoryを移行したときのMemo. 長くなったので今回は設定まで。

CentOS Subversion OpenLDAP Apache

環境は

Server: CentOS 6.0 x64, Subversion 1.6, OpenLDAP 2.4.19, Apache 2.2.15

Client: Windows 7 Home Premium 64bit (英語版)


参考にしたのは下記Site.

 


1. Install

Subversion本体をYUM経由でInstall
# yum install subversion

SubversionとApacheを連携させるModuleをInstall. mod_authz_svnも同時にInstallされるらしい。詳しくは
/usr/share/doc/subversion-1.6.11/mod_authz_svn-INSTALL
に書いてある。
# yum install mod_dav_svn

Moduleがあるか確認
# ls /usr/lib64/httpd/modules/

自動的にModuleを読み込むApache用設定Fileを作成してくれる。
# less /etc/httpd/con.d/subversion.conf

 


2. Apache用設定Fileを記述

Repository用のDirectoryを作成
# mkdir /home/svn
# mkdir /home/svn/Repositories

VirtualHostを利用した場合の設定例

#
# For subversion
#
<VirtualHost *:80>
  ServerName svn.hoge.com.sg 
  <Location "/">
    DAV svn
    SVNParentPath /home/svn/Repositories
    #SVNListParentPath on
    #SVNAutoversioning on
    <LimitExcept GET PROPFIND OPTIONS REPORT>
      Order deny,allow
      Deny from All
      Allow from 127.0.0.1
      Allow from 192.168.0.0/24
      AuthType Basic
      AuthBasicProvider ldap
      AuthName "Authorization Realm for Subversion"
      AuthzLDAPAuthoritative off
      AuthLDAPURL ldap://127.0.0.1/ou=people,o=hoge,dc=com,c=sg?uid
      Require valid-user
    </LimitExcept>
  </Location>
</VirtualHost>

DocumentRootがあると

Error: Redirect cycle detected for URL

とCheckoutするときに怒られるので注意。

設定を反映させる
# /etc/rc.d/init.d/httpd configtest
# /etc/rc.d/init.d/httpd reload

 


3. LDAPに認証するUserを追加

OpenLDAPのInstall方法は前の記事を参考に。Install後はLDAP AdminというFree Softを使うと楽。今のVersionは1.2

起動直後に「規定のLDAP Browserにするか?」と聞いてきて、「Yes」を選択するとErrorになるけど気にしない。

image

 


4. Repositoryを追加して、Http経由でCheckout, Commitが出来るか試す

Test用のRepositoryを追加
# cd /home/svn/Repositories/
# svnadmin create test1
# chown -R apache test1/

TortoiseSVNなどのSubversion ClientでCheckoutとCommit出来れば完了。

次回はMac OS X ServerのSubversionのRepositoryを移行する。

最後にSubversionのRepositoryを作成、削除するにはUSVNというFreeの管理Toolが便利そう。今度試す予定。

 

< Related Posts >