现在的位置: 首页网络技术>正文
ubuntu git server(with gitolite) install how to
2013年05月12日 网络技术 暂无评论

首先说明,所有软件区别服务器端与客户端
客户端如果是Windows,推荐使用git hub客户端的Git Shell进行操作

git有区分git服务器 git管理员 git用户 (git管理员也是一种权限高的用户),建议在git服务器务器上建立一个管理员帐户,这样便于管理.

1:服务器安装相关软件

apt-get install git-core git-doc apache2 -y

配置GIT的用户信息,并生成SSH密钥(注意,如果不在服务器上建立管理员帐户,那么初始的管理员密钥可以使用客户端的)

git config --global user.name "Your Name"
git config --global user.email your@email.com
ssh-keygen -t rsa
#接下会会询问生成的路径与密码,路径默认即可,密码也可以不要,虽然这样安全性低了些
#将生成的pub文件放到服务器另一个好记的位置,比如/home这样的位置,以便以后输入(如果是客户端,就上传到服务器)

2:创建gitolite的运行环境

apt-get install gitolite
#创建一个justgit的用户,并且生成home目录(默认在/home下),密码还是有必要加的
useradd justgit -m
passwd git
#把www-data用户增加到justgit组中,以便apache能读取git内容(apache的执行用户为www-data)
usermod -a -G justgit www-data
#justgit的身份登陆服务器,并建立gitolite的初始环境
su -justgit
#/tmp/id_rsa.pub就是我们刚才用ssh-keygen -t rsa生成的那个文件
gl-setup /tmp/id_rsa.pub
#按回车键  然后 :q 退出那个vi编辑器,那个文件要修改,我们用winscp来改会更方便些,vi很蛋痛
#这个文件为 /home/justgit/.gitolite.rc,将其中的 $REPO_UMASK = 0077; 修改为 $REPO_UMASK = 0027;
#然后以下几个文件还需要些其他用户有权限来读取
chmod g+r /home/justgit/projects.list
chmod -R g+rx /home/justgit/repositories
最后退出justgit用户
exit

实际上这样,git服务器就算完成了..我们可以git clone justgit@ipAddress:gitolite-admin.git,
然后修改gitolite-admin文件夹中的内容,push回去就完成了对git服务器的管理.
要注意的是,现在只有一个人能够clone gitolite-admin,就是生成id_rsa.pub那台电脑,我们可以在gitolite-admin文件中添加其他pc生成的pub公钥,这样其他电脑也可以clone或是push到gitolite-admin.注意了,不要让每个人都有对gitolite-admin进行读写的权限...

增加一个项目repo,就在gitolite.conf中按格式添加(具体的格式参照这里,,,还有这里,,,什么点不了:你不会google啊)
贴一下我的gitolite.conf

@administrator = id_rsa justchen-pc
 
repo    gitolite-admin
        RW+     =   id_rsa @administrator
 
repo    testing
        RW+     =   @all
rpeo    stm32PKnxp
        RW+     =   @administrator

3:接下来我们想在网页上查看项目,还得安装gitweb

apt-get install gitweb

安装完成后,修改下/etc/gitweb.conf
# 修改 $projectroot to /home/justgit/repositories
# 修改 $projects_list to /home/justgit/projects.list
重启apache 然后就可以了 http://yourIp/gitweb就是版本库



【上篇】
【下篇】

给我留言

留言无头像?


无觅相关文章插件,快速提升流量