Centos下gitolite的安装和配置
2019-01-09 本文已影响3人
禅大师
自从微软公司以75亿美元的价格收购github之后,有人预测将来github会免费,当时在githu上创建私有仓库是收费的。几天前,就在微软市值超过AWS,苹果,重回第一的宝座时,微软旗下github宣布个人用户可以免费创建私有仓库。虽然github可以免费使用,但是由于github服务器在海外,因为不可描述的原因,经常会无法访问。那么,我们是否可以在国内的云主机上搭建一个git服务器呢?这里,推荐给大家一个超级轻量级的git服务器gitolite。
在Centos下安装gitolite非常简单,首先需要获取git客户端:
yum install git
生成当前账户的ssh-key,并且将公钥copy到临时目录备用。
ssh-keygen
cp .ssh/id_rsa.pub /tmp/admin.pub
创建git账户,然后切换到git账户,进入git目录。
adduser git
passwd git
su git
cd
下载源代码,然后安装,将刚才的公钥设置成管理员账户后完成安装。
git clone https://github.com/sitaramc/gitolite.git
./gitolite/install -to /home/git/bin/
/home/git/bin/gitolite setup -pk /tmp/admin.pub
gitolite很有意思的一个地方就是它的仓库权限管理是通过一个gitolite-admin的仓库来管理的。首先用管理员账号clone出这个仓库:
git clone git@127.0.0.1:gitolite-admin.git
这个仓库结构很简单,只有两个目录:conf 和 keydir,conf下是一个配置文件,打开可以看到已经有一个仓库,就是gitolite-admin这个管理仓库,请不要删除。用户可以在后面创建自己的仓库:
repo gitolite-admin
RW+ = admin
repo testing
RW+ = @all
另外一个目录keydir是用于放公钥文件的,其中已经有一个admin.pub文件,就是gitolite-admin这个仓库的管理员账号,我们可以在这里创建新的文件,添加新的账号的公钥文件。完成后,记得执行git commit和git push,提交gitolite-admin仓库后完成创建新仓库,创建新用户,分配权限的工作。