GITの共有リポジトリ環境を構築してみた

自宅のサーバ用ネットブックを使用し、GITの共有リポジトリ環境を構築してみました。

■ゴール
GITの共有サーバをLinux上に構築し、リモートのWindowsクライアントからアクセスし、pushまで可能とする。

■GITの共有サーバの構築
・事前条件
・OS: Vine Linux 6.1(ハードウェアが古いため、UbuntuSUSEが動かない・・・orz)
・GITリポジトリの作成場所: /opt/git

・GITのインストール
apt-get install git
apt-get install git-daemon

リポジトリの作成
mkdir /opt/git
git init --shared --bare

・GITサーバの設定
/etc/xinetd.d/gitファイルに下記の設定を記述する。
ここで設定した「user」は、GITのリポジトリに対する書き込み権限がないと、pushができない。
service git
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/git
server_args = daemon --reuseaddr --enable=receive-pack --inetd --export-all --base-path=/opt/git/ /opt/git
log_on_failure += USERID
}

・xinetdの再起動
/etc/init.d/xinetd restart

iptablesの設定
iptables -A OUTPUT -o wlan0 -p tcp --dport 9418 -j ACCEPT
iptables -A INPUT -i wlan0 -p tcp --sport 9418 -j ACCEPT
/etc/init.d/iptables save

■クライアントの環境の構築
・手順
1. cygwinとgitの実行ファイルをインストールする。
2. cygwinを起動し、以下のコマンドを実行する
git clone git://192.168.1.7/
・備忘録
msysGitではバグのためpushができない