スティーブジョブスに俺はなる!!

毎日全力を出し切り、自分史上最高を出し続けたい!

1からLinuxに本番環境の設定をする CentOS(5)Gitのインストールと設定

まずはGit(ギット)のインストール

$ sudo yum install git

$ git version

git version 1.7.1

 

Gitのリポジトリルートを作成

$ sudo mkdir /var/lib/git

 

複数人でGitを使う事を想定しているため、Git管理ツール「Gitolite」を導入

Git管理用ユーザの作成

$ sudo useradd gituser

$ sudo passwd gituser

 

ローカルのMac上で秘密鍵を作る

まずは公開鍵方式で作成した鍵の名前を変更する(鍵が上書きされてしまうため)。

ローカルのMac上でホームに移動する。

[local] $ cd

[local] $ cd .ssh

[local] $ ls -lt

名前の変更

[local] $ mv id_rsa login_id_rsa

[local] $ mv id_rsa.pub login_id_rsa.pub

 

※Windowsの人はこちらを参照(TeraTermで作るのが簡単)

SSH公開鍵暗号化方式-Tera Termで秘密鍵・公開鍵の作成 | Tera Term(テラターム)の便利な使い方

[local] $ ssh-keygen

 

パスフレーズは設定せずにEnterを押して進める

 

わかりやすいように名前変更

[local] $ mv id_rsa gitolite_id_rsa

[local] $ mv id_rsa.pub gitolite_id_rsa.pub

 

ローカルマシンの.ssh配下にconfigという名前でファイルを作成

[local] $ vi config

 

以下の内容を書き込む

HOST gitolite.example.com

    HOSTNAME     example.com

    USER         gituser

    PORT         zzzzz

    IDENTITYFILE /Users/test/.ssh/gitolite_id_rsa

 

HOST:識別子、識別できれば何でも良い

HOSTNAME:サーバのIPアドレス or ドメイン名

USER:Git管理用ユーザ

PORT:zzzzz(SSH接続する際のポート番号)

IDENTITYFILE:先ほど作った秘密鍵

 

先ほど作った公開鍵をサーバーにアップする

[local] $ scp -P zzzzz -i /Users/test/.ssh/login  ./gitolite.pub yyyy@xxx.xxx.xxx.xxx:

 

サーバ上にアップした公開鍵のパーミッション変更

$ cd 

$ mv gitlite.pub /home/gituser

$ sudo chown gituser:gituser /home/gituser/gitolite.pub

$ sudo chmod 644 /home/gituser/gitolite.pub

$ sudo ls -lt /home/gituser/gitolite.pub

 

gituserでGitoliteをインストールする

$ sudo yum install perl-Time-HiRes -y

$ su gituser

$ cd

$ mkdir ~/tmp;cd ~/tmp

$ git clone git://github.com/sitaramc/gitolite

$ mkdir -p ~/bin

$ gitolite/install -to ~/bin

$ ~/bin/gitolite setup -pk ~/gitolite.pub

 

公開鍵は消しておく

$ rm -rf ~/gitolite.pub

 

ここまででリポジトリは作成された。以下のコマンドで確認できる。

$ ls -ltra ~/repositories/

drwx------ 7 gituser gituser 4096  4  14 16:53 2015 testing.git

drwx------ 8 gituser gituser 4096  4  14 16:53 2015 gitolite-admin.git

 

gituserをログアウトする

$ exit

 

動作確認でローカルにリポジトリを落とす

gitolite.example.comの部分に~/.ssh/configに記載したHOST部分を入力

[local] $ git clone gitolite.example.com:testing

 

ユーザの追加

管理ユーザーの時と同様にローカルで鍵を作る。

鍵の名前をgitolite-exampleとgitolite-example.pubする。exampleの部分がユーザ名となる。

わかりやすい場所にGitolite管理用リポジトリをクローンして、keydirフォルダに公開鍵(gitolite-example.pub)を格納する。"gitolite-"の部分は削っても良い。つまり、名前は特に問わない。以下ではexample.pubとして格納している。

[local] $ git clone gitolite.example.com:gitolite-admin

[local] $ cd gitolite-admin/keydir/

[local] $ mv /Users/test/.ssh/gitolite-example.pub ./example.pub 

[local] $ git add .

[local] $ git add -m 'add new user'

[local] $ git push

 

git pushでサーバに鍵を格納する。

 

管理ファイルにユーザ追加(赤文字は先ほど記述した管理者用の設定)

[local] $ vi /Users/test/.ssh/config

HOST gitolite.example.com

    HOSTNAME     example.com

    USER         gituser

    PORT         zzzzz

    IDENTITYFILE /Users/test/.ssh/gitolite_id_rsa

 

HOST gitolite-example.example.com

    HOSTNAME     example.com

    USER         gituser

    PORT         zzzzz

    IDENTITYFILE /Users/test/.ssh/gitolite-example

HOSTとIDENTITYFILEのみ書き換える。

 

 

適当なディレクトリで動作確認をする

[local] $ git clone gitolite-example.example.com:testing

 

レポジトリの追加(赤い部分はデフォルト設定)

[local] $ vi gitolite-admin/conf/gitolite-conf

repo gitolite-admin

    RW+     =   gitlite

repo testing

    RW+     =   @all

repo new-repo

    R           =  @all

    RW+      = example

[local] $ cd gitolite-admin/conf

[local] $ git add .

[local] $ git commit -m 'add new-repo'

[local] $ git push

 

 

1からLinuxに本番環境の設定をする CentOS

1からLinuxに本番環境の設定をする CentOS(1) 

1からLinuxに本番環境の設定をする CentOS(2)セキュリティ

1からLinuxに本番環境の設定をする CentOS(3)iptable logwatch

1からLinuxに本番環境の設定をする CentOS(4)Apache2.2を2.4にアップデートする

1からLinuxに本番環境の設定をする CentOS(5)Gitのインストールと設定

1からLinuxに本番環境の設定をする CentOS(6)gitoliteでリポジトリ運用開始

1からLinuxに本番環境の設定をする CentOS(7)tomcat7 インストール

1からLinuxに本番環境の設定をする CentOS(8)tomcat8 インストール 

 

 

 

参考にしたページ

さくらのVPS を改めて使いはじめる 10 – Git、Gitolite、GitHub | アカベコマイリ

【Linux】 CentOSにGitolite を導入する - kzy52's blog