Subversion(以下svn)はバージョン管理ツールです。 CVSとかVSSなどと同様、複数人で開発を行う際に、バージョン管理やロック、マージ、チェックアウト機能を持つ必須ツールです。 WebDAVを使って運用するのが定番なので、WebDAVの設定も同時に行います。

svn導入

初めはとりあえず targeted ポリシーでの SELinux の運用を考えます。 SELinuxといっても、selinux-policy-targeted-1.17.30-2.34 からは apache に関する制限もゆるくなったため、 標準の状態でもポリシーの変更なしに利用できるになっているようです。 まずは selinux-policy-targeted を最新の状態に更新します。
$ yum -y update selinux-policy-targeted
WebDAV/Subversion 関連のパッケージを一括インストール。
$ yum -y install mod_dav_svn

リポジトリ作成

次に管理DBを作成してゆきます。 Apachから見える用にしたい+tracを使いたいので、chownとSELinux用にchconを忘れずに行います。
$ svnadmin create --fs-type=fsfs /home/svnroot
$ htpasswd -cm /home/svnroot/.htpasswd test
パスワードの設定を求められる。
$ chown -R apache:apache /home/svnroot
$ chcon -R system_u:object_r:httpd_sys_content_t /home/svnroot
最後に、WebDAV の設定。設定ファイルは、/etc/httpd/conf.d/subversion.conf ですので、 コメントを消して設定を有効にします。
$ vim /etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
#
# Example configuration to enable HTTP access for a Subversion
# repository, "/home/svnroot".  This repository must be readable
# and writable by the 'apache' user.
#
<Location /svn/repos>
   DAV svn
   SVNPath /home/svnroot
   # Limit write permission to list of valid users.
   <LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      # SSLRequireSSL
      AuthType Basic
      AuthName "Authorization Realm"
      AuthUserFile /home/svnroot/.htpasswd
      Require valid-user
   </LimitExcept>
</Location>
これで一通りの設定は完了です。httpd を再起動しましょう。
$ service httpd restart
http://localhost/svn/repos/につないで、svnの画面が出れば成功です。