アイネクシオ(inexio)

私たちはネットワークから新しいアイデアを創出します

CentOS 6.6 に git 導入

2015/05/20 2015/02/21

Category:Webサービス, 開発環境 Tag:, ,

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

条件

  • サーバ CentOS6.6
  • クライアント Windows 7
  • 公開鍵認証でSSHが接続できる状態

大まかな手順

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

サーバ側の設定

1.サーバにgit用ユーザーを作成

git 用ユーザ(ここでは便宜上 gituser)を作成する。
[html]
# useradd gituser
# passwd gituser
[/html]

2.サーバにgit用グループを作成

git 用グループ(ここでは便宜上 git)を作成する。
そして git用ユーザーをグループに追加する。
[html]
# groupadd git
# usermod -G git gituser
[/html]

3.ログイン用の秘密鍵の作成

以下コマンドで秘密鍵を作成し、公開鍵を使用できるようにします。
[html]
$ ssh-keygen -t rsa
$ mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
[/html]

4.サーバにGITを構築

必要なソフトウェアのインストール
[html]
# yum install git git-daemon git-all xinetd
[/html]

git のバージョンは 1.7.1
[html]
# git –version
[/html]

git-daemon ファイルを作成
[html]
# vi /etc/xinetd.d/git-daemon
[/html]

git-daemon の内容は以下のとおり
[html]
# 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
}
[/html]

xinetd を再起動して有効化する。
[html]
# service xinetd restart
[/html]

リポジトリを作成する。
[html]
# cd /var/lib/git
# mkdir public_git
# mkdir public_git/sample.git
# cd public_git/sample.git
# git –bare init –shared
[/html]

git リポジトリのグループを gitグループに設定する。
[html]
# chown -R root:git /var/lib/git
[/html]

これでサーバ側の基本的な設定は完了となります。

クライアントの設定

5.秘密鍵をPuTTY形式に変換

6. クライアントからの接続」で利用するソフトウェアのために、秘密鍵の変換をしておきます。
3.ログイン用の秘密鍵の作成」で作成した秘密鍵をダウンロードします。

「PuTTY Generator」 を利用して、秘密鍵をPuTTY形式に変換します。
以下のようなサイトからソフトウェア(puttygen.ext)を取得します。
PuTTY Download Page

「PuTTY Generator」を起動し、メニューの「Conversions」 -> 「Import key」で選択して、ダウンロードしておいた秘密鍵を選択します。
下部の「Save private key」をクリックして、PuTTY形式に変換したファイルを保存します。
パスフレーズの設定がなければ、注意が表示されますが、問題なければ「OK」で変換完了です。

PuTTY Generator 01
PuTTY Generator 02

6. クライアントからの接続

Windowsで接続する際のソフトウェアは クライアントは「tortoisegit 」を利用します。

設定方法については以下サイトに記載されています。
ここで記載しようと思いましたが、本当に丁寧に掲載されているので、割愛しても良いかなぁと思いました。
サルでもわかるGit入門

これで準備完了

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

Avatar photo
家族と音楽とコーヒーを愛し、プログラマーとして存在しています。

執筆者:Takahiro