openldap svnユーザ認証 連携

環境

▼LDAPサーバ、SVNサーバ
centos 6.4
openldap-2.4.23-32
svn 1.6.11
mod_dav_svn-1.6.11-9.el6_4.x86_64

LDAPサーバ側作業

データイメージ

example.com
 |_ cm=Manager
 |_ ou=a
    |_ ou=a_1
       |_ cn=test
       |_ uid=test
※http://www.wakaue.info/2dowiki/ldap-ssh-linuxuserで設定したデータになります。

httpd.conf

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

<Location /svn>
    DAV svn
    SVNPath /var/lib/svn/repos/test
    AuthType Basic
    AuthName "LDAP user authentication"
    AuthBasicProvider ldap
    AuthLDAPBindDN cn=Manager,dc=example,dc=com
    AuthLDAPBindPassword secret
    AuthLDAPURL ldap://ldap/ou=a_1,ou=a,dc=example,dc=com
    Require ldap-attribute host=127.0.0.1
</Location>

※SVNのユーザ管理はベーシック認証でよいみたい。
今回はLDAPでユーザ管理させているが、
.passwdの「test」ユーザとLDAPの「test」ユーザはSVNの見た目上では同じと扱われているようだ。

SVN作業

モジュールインストール

yum install subversion
yum install mod_dav_svn

リポジトリの作成

mkdir -p /var/lib/svn/repos
svn mkdir file:///home/svn/repos/test/trunk -m "create"
svn mkdir file:///home/svn/repos/test/branches -m "create"
svn mkdir file:///home/svn/repos/test/tags -m "create"

chown -R apache:apache /home/svn/repos/test

再起動

/etc/init.d/httpd restart
/etc/init.d/svnserve restart

実際にアクセスをしてみてOKか確認すること。

おすすめの記事