最近给团队搭建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 [email protected]
输入ssh [email protected],看能不能免密登陆。 下载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 [email protected]
输出如下就表示成功:
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 [email protected]: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
配置完成,提交,各用户即可在对应用户名目录下建立仓库并分配权限