サイトアイコン アイネクシオ(Webサイトドクター)

CentOS 6.6 に git 導入

開発を進める上で git の利用は不可欠な状況ですよね。
そこでスタッフの練習の意味も含め、事務所にあるサーバの一つにgitを導入しました。
簡単ですがメモをしておきます。

条件

大まかな手順

  1. サーバにgit用ユーザーを作成
  2. サーバにgit用グループを作成
  3. ログイン用の秘密鍵の作成
  4. サーバにGITを構築
  5. 秘密鍵をPuTTY形式に変換
  6. クライアントから接続

サーバ側の設定

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入門

これで準備完了

これで基本的に、サーバ側もクライアント側も設定は完了となります。
良いものを作ってナンボなところがあるから、本当はツールなんでどうでも良いのでしょうけど、便利でみんな利用していることもあるし、少し触ってみるのも良いかと思います。

モバイルバージョンを終了