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(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 インストール
参考にしたページ