1. はじめに
本記事では、CentOSでのSubversionのインストール手順について記述しています。
2. 前提条件
下記の環境を前提としています。
対象OS:CentOS 6.5
- 本記事では、Vagrant Cloud のchef/centos-6.5
を使用しています。
3. 導入手順
rootユーザーでログインしていない場合は、下記のコマンドでrootユーザーに切り替えてください。
$ su -
Subversionをインストールするために、下記のコマンドを実行します。
$ yum -y update
$ yum install -y httpd subversion mod_dav_svn
$ chkconfig httpd on
$ mkdir /var/svn
$ mkdir /etc/subversion/conf
$ chown apache:apache /var/svn
$ rm -f /etc/httpd/conf.d/subversion.conf
$ cat << __EOF__ >> /etc/httpd/conf.d/virtualhost-00.conf
<VirtualHost *:80>
ServerName any
<Location />
Order deny,allow
Deny from all
</Location>
</VirtualHost>
__EOF__
$ cat << __EOF__ >> /etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<VirtualHost *:80>
ServerName (SVNドメイン名)
<Location />
DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/subversion/conf/authuser.conf
Require valid-user
AuthzSVNAccessFile /etc/subversion/conf/authzsvn.conf
</Location>
</VirtualHost>
__EOF__
Subversionのリポジトリを管理するためのadminユーザーを作成するために、下記のコマンドを実行します。
$ htpasswd -c /etc/subversion/conf/authuser.conf admin
*)パスワードの入力を求められるので任意のパスワードを入力してください。
adminユーザーに対してSubversionのリポジトリの権限を付与するために、下記のコマンドを実行します。
$ cat << __EOF__ >> /etc/subversion/conf/authzsvn.conf
[/]
* = r
admin = rw
__EOF__
Apacheを起動します。
$ /etc/init.d/httpd start
4. その他
Subversionのリポジトリビューアが必要な場合、WebSVNを使ってください。
インストール手順は下記のとおりです。
- /etc/httpd/conf/httpd.conf の 「NameVirtualHost *:80」の行のコメントアウトは解除しておいてください。
$ yum -y install php
$ cd /var/www/html
$ curl -O http://websvn.tigris.org/files/documents/1380/49056/websvn-2.3.3.tar.gz
$ tar xvzf websvn-2.3.3.tar.gz
$ mv websvn-2.3.3 websvn
$ cp websvn/include/distconfig.php websvn/include/config.php
$ chown -R apache:apache websvn
$ cat << __EOF__ >> /etc/httpd/conf.d/websvn.conf
<VirtualHost *:80>
ServerName (WebSVNドメイン名)
DocumentRoot /var/www/html/websvn
<Location />
Options FollowSymLinks
AllowOverride None
order allow,deny
allow from all
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/subversion/conf/authuser.conf
Require valid-user
</Location>
</VirtualHost>
__EOF__
/var/www/html/websvn/include/config.php に以下の内容を追加します。
$config->addRepository('表示用リポジトリ名', 'file:///var/svn/(リポジトリ名)');