在centos5.6下搭建Git服务器-gitolite
时间:2011-07-08 15:10来源:未知 作者:admin 点击:
次
说到Git,作为Linus的另一大著名作品,目前已经成熟,与CVS和SVN相比优势明显,一回特别喜欢其分布式及灵活的分支合并功能,另外源码下载和上传的速度体验也相当凑合。本文将分享
|
说到Git,作为Linus的另一大著名作品,目前已经成熟,与CVS和SVN相比优势明显,一回特别喜欢其分布式及灵活的分支合并功能,另外源码下载和上传的速度体验也相当凑合。本文将分享下如何在centos5.6(CSSer.com的VPS采用的发行版)配置Git服务器。
目标
配置Git服务器有很多种方式,一回的目标是配置能满足多人协作、可以细分权限的Git服务器,另外还要有较好的安全性,在迎合这种目标的各种组合中,最终选择了gitolite。
基础知识
你需要具有简单的linux基础知识,如ssh、用户及用户组、权限、密钥、git操作等。整个过程相当简单,按照下面的步骤操作,如无意外,就能成功!
安装git
服务器及客户端都要安装,去下载编译git最新版,或者通过:
yum install git
安装较老的稳定版本。
在服务器添加git用户和git用户组
mkdir -p /data/git
groupadd git
useradd -g git -d /data/git -s /bin/bash git
passwd git #设置git用户密码
#改变git目录权限
chown -R git:git /data/git
chmod -R 2755 /data/git
在客户端生成密钥
ssh-keygen -t rsa -f ~/.ssh/admin
scp ~/.ssh/admin.pub server:/tmp/admin.pub #将公钥保存到服务器留待后用,server为服务器的IP地址
安装gitolite
到服务器,进行gitolite安装:
su git
cd $HOME
git clone git://github.com/sitaramc/gitolite
cd gitolite
mkdir -p $HOME/bin $HOME/share/gitolite/conf $HOME/share/gitolite/hooks
src/gl-system-install $HOME/bin $HOME/share/gitolite/conf $HOME/share/gitolite/hooks
将$HOME/bin下的可执行程序加入系统PATH:
echo "PATH=$PATH:$HOME/bin" >> ~/.bashrc
暂时退出git用户,然后重切换进来,这时环境变量已经生效:
exit
su git
gl-setup /tmp/admin.pub #设置admin.pub公钥,默认第一个公钥对应管理员
OK,到此,环境搭建一步基本大功告成了。
gitolite配置管理
转到客户端,一回这里用的是Ubuntu:
cd; git clone git@server:gitolite-admin
研究下gitolite-admin目录下的相关文件,可以对git仓库及用户权限进行精细管理。
如何在客户机使用TortoiseGit?
一回是将Ubuntu生成的私钥经puttygen转换为ppk格式之后连接服务器成功,顺便推荐好用的软件WinSCP,可以很方便的在Windows与Linux间互拷文件,相当好用。
切记:私钥与公钥要保存好!
结语
本文步骤是根据回忆而来,未经测试,一回历经三次配置,首先是在自己虚拟机中(centos5.5),其次在公司内部服务器(centos5.5),最后在CSSer.com的VPS(centos5.6)均配置成功。
(责任编辑:admin) |
------分隔线----------------------------