開発を進める上で git の利用は不可欠な状況ですよね。
そこでスタッフの練習の意味も含め、事務所にあるサーバの一つにgitを導入しました。
簡単ですがメモをしておきます。
条件
- サーバ CentOS6.6
- クライアント Windows 7
- 公開鍵認証でSSHが接続できる状態
大まかな手順
サーバ側の設定
1.サーバにgit用ユーザーを作成
git 用ユーザ(ここでは便宜上 gituser)を作成する。
# useradd gituser
# passwd gituser
2.サーバにgit用グループを作成
git 用グループ(ここでは便宜上 git)を作成する。
そして git用ユーザーをグループに追加する。
# groupadd git
# usermod -G git gituser
3.ログイン用の秘密鍵の作成
以下コマンドで秘密鍵を作成し、公開鍵を使用できるようにします。
$ ssh-keygen -t rsa
$ mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
4.サーバにGITを構築
必要なソフトウェアのインストール
# yum install git git-daemon git-all xinetd
git のバージョンは 1.7.1
# git --version
git-daemon ファイルを作成
# vi /etc/xinetd.d/git-daemon
git-daemon の内容は以下のとおり
# default: off
# description: The git dæmon allows git repositories to be exported using \
# the git:// protocol.
service git
{
disable = no
socket_type = stream
wait = no
user = nobody
server = /usr/libexec/git-core/git-daemon
server_args = --base-path=/var/lib/git --export-all --user-path=public_git --syslog --inetd --verbose
log_on_failure += USERID
}
xinetd を再起動して有効化する。
# service xinetd restart
リポジトリを作成する。
# cd /var/lib/git
# mkdir public_git
# mkdir public_git/sample.git
# cd public_git/sample.git
# git --bare init --shared
git リポジトリのグループを gitグループに設定する。
# chown -R root:git /var/lib/git
これでサーバ側の基本的な設定は完了となります。
クライアントの設定
5.秘密鍵をPuTTY形式に変換
「6. クライアントからの接続」で利用するソフトウェアのために、秘密鍵の変換をしておきます。
「3.ログイン用の秘密鍵の作成」で作成した秘密鍵をダウンロードします。
「PuTTY Generator」 を利用して、秘密鍵をPuTTY形式に変換します。
以下のようなサイトからソフトウェア(puttygen.ext)を取得します。
PuTTY Download Page
「PuTTY Generator」を起動し、メニューの「Conversions」 -> 「Import key」で選択して、ダウンロードしておいた秘密鍵を選択します。
下部の「Save private key」をクリックして、PuTTY形式に変換したファイルを保存します。
パスフレーズの設定がなければ、注意が表示されますが、問題なければ「OK」で変換完了です。
6. クライアントからの接続
Windowsで接続する際のソフトウェアは クライアントは「tortoisegit 」を利用します。
設定方法については以下サイトに記載されています。
ここで記載しようと思いましたが、本当に丁寧に掲載されているので、割愛しても良いかなぁと思いました。
サルでもわかるGit入門
これで準備完了
これで基本的に、サーバ側もクライアント側も設定は完了となります。
良いものを作ってナンボなところがあるから、本当はツールなんでどうでも良いのでしょうけど、便利でみんな利用していることもあるし、少し触ってみるのも良いかと思います。