感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

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

<スポンサーリンク>

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_svnApacheに組み込む必要がある。

■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).

<参考>

Subversion入門 (エッセンシャルソフトウェアガイドブック)

Subversion入門 (エッセンシャルソフトウェアガイドブック)

                                • -

今回で感謝のプログラミングは【173.5時間目】
10000時間まで、あと【9826.5時間】