一.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