CentOSにSubversionをインストールして、HTTP経由で接続できるようにするまでの手順まとめ

 

引用:http://d.hatena.ne.jp/sho322/20130310/1362892684

Subversionを公開して、プロジェクトメンバーでリポジトリを共有するための手順。

■なんにせよまずはApacheインストールから
yum install httpd

■次にSubversionインストール
(ご参考)
http://wiki.minaco.net/index.php?Linux%2FSubversion%2Fyum%E3%81%8B%E3%82%89%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

yumインストール

# yum install subversion

インストールの確認

# svn --version
svn, version 1.6.11 (r934486)
   compiled Jun 23 2012, 00:44:03

 

Subversionネットワーク上に公開する。
1つのリポジトリに対して複数人が作業を行う場合、リポジトリネットワーク上に公開する必要がある。
一般的にはHTTPによる公開という方法が採用される。
HTTPが一般的な理由は、ファイアウォールを通すことができる、アクセス許可などの設定ができることなど。

SubversionリポジトリHTTP経由で公開するためにはApache HTTP Serverの力を借りる必要がある。

Apacheによってリポジトリを公開するには、Subversionが提供する専用のモジュールdav_svnをApacheに組み込む必要がある。

■mod_dav_svnのインストール

# yum install mod_dav_svn

 

リポジトリの作成
まずはリポジトリそのものを格納するディレクトリの作成

# mkdir -p /var/lib/svn

 

リポジトリの作成

# svnadmin create /var/lib/svn/repo
# ll /var/lib/svn/repo/
total 24
drwxr-xr-x. 2 root root 4096 Mar  9 19:39 conf
drwxr-sr-x. 6 root root 4096 Mar  9 19:39 db
-r--r--r--. 1 root root    2 Mar  9 19:39 format
drwxr-xr-x. 2 root root 4096 Mar  9 19:39 hooks
drwxr-xr-x. 2 root root 4096 Mar  9 19:39 locks
-rw-r--r--. 1 root root  229 Mar  9 19:39 README.txt

 

リポジトリrepo以下のすべてのファイルの所有者/所有グループを「apache」に指定する。

# chown -R apache:apache /var/lib/svn/repo/

 

所有者がリポジトリのすべてのファイルを読み書きできるようにパーミッションを設定

[root@localhost lib]# chmod -R u+rw /var/lib/svn/repo
[root@localhost lib]# ls -l /var/lib/svn/repo/
total 24
drwxr-xr-x. 2 apache apache 4096 Mar  9 19:39 conf
drwxr-sr-x. 6 apache apache 4096 Mar  9 19:39 db
-rw-r--r--. 1 apache apache    2 Mar  9 19:39 format
drwxr-xr-x. 2 apache apache 4096 Mar  9 19:39 hooks
drwxr-xr-x. 2 apache apache 4096 Mar  9 19:39 locks
-rw-r--r--. 1 apache apache  229 Mar  9 19:39 README.txt

 

リポジトリを公開する

Subversionの設定ファイルを編集する

[root@localhost conf.d]# vi /etc/httpd/conf.d/subversion.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/repo
</Location>

 

Apacheに設定を読みこませる。

# /sbin/service httpd reload
Reloading httpd:

 

■確認
ブラウザで「http://ホスト名/svn/」にアクセスする
ファイアウォールの設定で、[80」番ポートへの接続を許可する設定にしておくこと。
GUIでやると簡単。CUIだとiptablesをいじる必要がある。

つながると、ブラウザにこんな感じの表示が出てくる。

svn - Revision 0: /

Powered by Subversion version 1.6.11 (r934486).