忍者ブログ
私のコンピュータTips集 というかメモです。プログラムやコンピュータの知識、技術全般です。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【Subversion のインストール】

Subversion のインストールと設定をメモしておく。

条件:
 ・Linux (Red Hat) …Subversion サーバ
 ・ソースからインストール
 ・Berkeley DB は使用しない
 ・Apacheと連携しない
 ・サーバ機能はinetd経由とする

■インストール

(1)Subversion のソースを取得する
 公式サイト(http://subversion.tigris.org/)
 ソース置き場
 http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&expandFolder=74
 
 現時点の最新 1.5.3 以下2つをダウンロード
 ・subversion-1.5.3.tar.gz
 ・subversion-deps-1.5.3.tar.gz
 
(2)ダウンロードしたソースを配置する
 /usr/local/src/subversion-1.5.3.tar.gz
 /usr/local/src/subversion-deps-1.5.3.tar.gz
 
 (以降、root権限で処理 # root権限、$ 普通の人)
 
(3)解凍する
 # cd /usr/local/src/
 # tar xzvf subversion-1.x.x.tar.gz
 # xzvf subversion-deps-1.x.x.tar.gz
 # cd subversion-1.x.x
 
(4)インストールする
 # ./configure
 # make
 # make install
 

■svnserveの稼働(xinetd)

(1)svnserve用のユーザ svn を作成する
 # useradd svn

(2)レポジトリのルート(/svn)を作成する
 # mkdir /svn
 # chown svn:svn /svn

(3) xinetd(inetd経由)の設定をする
・設定ファイルを作る(環境に応じて適宜変更)
 # vi /etc/xinetd.d/svn
----ここから
{
        disable         = no
        socket_type     = stream
        wait            = no
        user            = svn
        server          = /usr/local/bin/svnserve
        server_args     = -i -r /svn
        log_on_failure  += USERID
        only_from       = 192.168.0.0/24 127.0.0.1
}
----ここまで
・接続許可設定 /etc/hosts.allowに追加(内部ネットワークと自分を許可)
svn: 192.168.0. 127.0.0.1
・サービス名と使用ポート番号の設定 /etc/services に追加
svn    3690/tcp   # Subversion
svn    3690/udp   # Subversion
・ファイヤーウォールの設定は次項
・設定の確認と再起動
 # chkconfig --list svn
 svn             on
 
 # service xinetd restart
 xinetd を停止中:      [  OK  ]
 xinetd を起動中:      [  OK  ]

・telnet を使って接続確認
 #telnet localhost 3690
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
( success ...

(4)ファイヤーウォールの設定
  デフォルトの3690ポートtcp/udpを許可する。
・設定
 #iptables -A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
 #iptables -A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -m udp -p udp --dport 3690 -j ACCEPT
・確認
 #iptables -L
 ACCEPT     tcp  --  192.168.0.0/24       anywhere            state NEW tcp dpt:svn
 ACCEPT     udp  --  192.168.0.0/24       anywhere            state NEW udp dpt:svn
・initスクリプトに保存
 #/etc/init.d/iptables save
・リスタート
 #service iptables restart


■リポジトリの設定

(1)リポジトリの作成
 # su svn
 $ svnadmin create /svn/projectA

(2)リポジトリのアクセス権の設定
 $ cd /svn/projectA/conf
 $ vi svnserve.conf
 
[general]
anon-access = read
auth-access = write

password-db = passwd

(認証ユーザは読み書き、匿名ユーザは読み込み)

(3)ユーザとパスワード passwdファイルの編集
 $ vi passwd
[users]
hogea=hogeaaa
hogeb=hogebbb
 
 
■クライアントからの接続確認

(1)サーバ(192.168.0.1とする)と同じマシンで確認
・新しいディレクトリを作る
 $svn mkdir -m "comment" svn://192.168.0.1/projectA/trunk
 $svn mkdir -m "comment" svn://192.168.0.1/projectA/branches
 $svn mkdir -m "comment" svn://192.168.0.1/projectA/tags
・ディレクトリエントリを一覧表示する
 $svn list svn://192.168.0.1/projectA
branches/
tags/
trunk/

(2)Windowsマシンから TortoiseSVN を使用
・TortoiseSVN をインストールする
公式サイト(http://tortoisesvn.tigris.org/
Language packsで日本語表示になる。
現時点
 ・TortoiseSVN-1.5.4.14259-win32-svn-1.5.3.msi
 ・LanguagePack_1.5.4.14259-win32-ja.msi
・インストーラの指示に従えば簡単にインストールできる

・接続確認
 ・エクスプローラの任意のフォルダで
 右クリック「TortoiseSVN」「リポジトリブラウザ」
 ・URLに svn://192.168.0.1/projectA として「OK」
 ・表示されればOK

★外部から接続する場合は、svnサーバの3690ポート(デフォルト)をあける必要がある。
pingは通るが、クライアントからホスト(svnサーバ)に到達できない場合は
ファイヤーウォールではじかれている可能性がある。
一時的にファイヤーウォールを無効にして、接続可能か試してみよう。
(当然無効にしている間は危険なので可能な環境であれば試してみよう)
 #service iptables stop
これで通れば、ファイヤーウォールの設定が正しくないということ。


 

PR
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
フリーエリア
最新CM
最新TB
プロフィール
HN:
T.K
性別:
非公開
バーコード
ブログ内検索
アクセス解析
アクセス解析
忍者ブログ [PR]