最近給團隊搭建Git伺服器,路徑曲折,記下來以備查詢,內部伺服器用的Centos6.4 64位版本,git
安裝Git
安裝git
首先安裝git所需的庫:
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
下載Git安裝檔案
wget http://git-core.googlecode.com/files/git-1.9.0.tar.gz
安裝
tar zxvf git-1.9.0.tar.gz
cd git-1.9.0
make prefix=/usr/local all
make prefix=/usr/local install #root使用者運行
安裝gitolite
先建立一個使用者git並產生ssh-key
//建立一個git使用者和使用者組,並建立使用者檔案夾
sudo useradd -c 'git version manage' -m -d /home/git -s /bin/bash --users-group git
//修改密碼
passwd git
//產生git的ssh-key
su git
ssh-keygen -t rsa -C "your name"
ssh-copy-id git@127.0.0.1
輸入ssh git@127.0.0.1,看能不能免密登陸。 下載gitolite
git clone git://github.com/sitaramc/gitolite
開始安裝
mkdir bin
~/gitolite/install -to ~/bin
mv ~/.ssh/authorized_keys ~/git.pub
~/bin/gitolite setup -pk ~/git.pub
成功後會初始化兩個版本庫 /home/git/repositories/gitolite-admin.git /home/git/repositories/testing.git 測試是否安裝成功
ssh git@127.0.0.1
輸出如下就表示成功:
hello git, this is git@linux-dev running gitolite3 v3.5.2-4-g62fb317 on git1.8.1.2
R W gitolite-admin
R W testing
添加管理員秘鑰
git clone git@127.0.0.1:gitolite-admin.git
在開發機上產生ssh公開金鑰,上傳到gitolite-admin/keydir目錄下,以使用者名稱命名。
scp ~/.ssh/id_rsa.pub git@server:/tmp/id_rsa.pub
編輯設定檔:
@admin = admin git
@all = admin dev1 dev3 dev2
repo pub/CREATOR/.+$
C = @all
RW+ = CREATOR
RW = WRITERS
R = READERS @admin
repo gitolite-admin
RW+ = @admin
repo testing
RW+ = @all
配置完成,提交,各使用者即可在對應使用者名稱目錄下建立倉庫並分配許可權