一.centos

os: centos63(Final)

git: 1.7.1

gitolite

步骤很简单,需要安装git, ssh支持,gitolite, 然后公钥 . 本文全部采用的yum包过来的.

1. 登录服务器,安装,(# 是root 登录后的.)

#yum install perl openssh git

装不上,那就装下面的依赖

#yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
2.建立一个用户

#adduser –system –shell /bin/sh –create-home –home-dir /home/git git

#cd /home/git

#mkdir repositories

#chown git:git -R ./repositories

#chmod 700 ./repositories

3.切换至刚建的git用户 ($ 表示用户)

#su git

$git clone git://github.com/sitaramc/gitolite

$mkdir -p $HOME/bin

$gitolite/install -to $HOME/bin

这里可能会报错缺少模块,就需要 切换到root 安装缺失模块.比如perl-Time-HiRes 这个

$su –

输入服务器root密码

#yum install perl-Time-HiRes

#su git

$gitolite/install -to $HOME/bin

然后这里安装的就完了.

本机, 本机我这里是debian,

#ssh-keygen

#cd /root/.ssh

里面有id_ras.pub 和id_rsa ,一个是公钥,一个是私钥. 如果之前你装过openssl产生过密钥,那这里就不要覆盖了

复制到服务器的/tmp

#scp ~/.ssh/id_rsa.pub server_username@server_host:/tmp

输入密码

回到服务器,

#cd /tmp

#mv id_rsa.pub admin.pub

为什么要改成admin.pub 因为gitolite根据这个文件名来设立帐号.我这里用admin

#su git 切换到git用户

$$HOME/bin/gitolite setup -pk admin.pub

然后去/home/git/repositories 里面,可以看见仓库文件.gitolite-admin.git 和test.git 一个是管理仓库的,一个是测试用

本机拉服务器代码

#git clone git@server_host:gitolite-admin

进入仓库后可以看到conf 和keydir ,conf/gitolite.conf 是添加用户/仓库的配置, keydir 是放对应用户的公钥.

修改好后可以直接push了.

二.debian的

和上面一样,唯一需要注意的adduser 的参数不同

#adduser –system –shell /bin/sh –home /home/git git