这里我用的是root用户#
192.168.51.33服务器
安装前准备工作
yum -y install git perl openssh perl-Time-HiRes
添加gitolite用户
useradd --system --shell /bin/bash --create-home gitolite
设置gitolite用户密码
passwd gitolite
拷贝公钥
# 如果没有key先生成
ssh-keygen
ssh-copy-id gitolite@192.168.51.33
解释一下
gitolite服务器会安装到gitolite用户下,把root用户公钥拷贝到gitolite@192.168.51.33可以无密码登录
通俗的说,就是在gitolite用户下搭建gitolite服务器,搭建完成后,就不要进入gitolite用户下进行新增用户等操作(这里的新增用户是git用户)
而是在root用户下开出一个gitolite-admin管理仓,通过在gitolite-admin管理仓下进行新增用户等操作。
安装gitolite服务器
# change to gitolite user
su - gitolite
# gitolite will install here
mkdir bin
# authorized_keys is admin's pubkey
mv ~/.ssh/authorized_keys ~/root.pub
# get the source code
git clone git://github.com/sitaramc/gitolite.git
# install
~/gitolite/install -to ~/bin
# setup
~/bin/gitolite setup -pk ~/root.pub
安装完成后,可以进入root用户进行测试
su - root
ssh gitolite@192.168.51.33
可以看到类似输出
hello gitolite, this is git@desktop running gitolite3 v3.04-20-g6328ec2 on git 1.7.9.5
R W gitolite-admin
Connection to localhost closed.closed
克隆gitolite服务器的管理仓
git clone gitolite@192.168.51.33:gitolite-admin.git
新增git用户实例
拿192.168.65.138来举例
138首先生成公钥
ssh-keygen
把138公钥ip_rsa.pub拷贝到33root用户下
33root 保存,提交,推送到gitolite服务器
cd gitolite-admin
cp path/of/138/pubkey keydir/138.pub
git add keydir
git commit -m "add new user 138"
git push
创建新仓 demo
cd gitolite-admin
vi conf/gitolite.conf
添加以下内容
repo demo
RW = 138
保存,提交,推送到gitolite服务器
git add -u
git commit -m 'add new repo demo and assign RW to 138'
git push
可以看到类似输出
Counting objects: 7, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 395 bytes, done.
Total 4 (delta 1), reused 0 (delta 0)
remote: Initialized empty Git repository in /home/gitolite/repositories/demo.git/
To git@desktop:gitolite-admin
6de90b8..52737aa master -> master
over结束