Gitolite服务器架设方法

服务器操作系统:ubuntu 10.04.4 64bit desktop

Git版本:1.7.0.4

服务器ip地址:192.168.1.101

在服务器上已经拥有账户:tom以此用户为gitolite管理员账户

 

一、在服务器上安装git

1. 在服务器上安装git

$ sudo apt-get install git-core

2. git的基本配置,如账户名,email地址等。

 

二、ssh服务的安装与账户配置

1.以普通账户(此处为tom,将作为gitolite的管理员账户)登录系统,安装openssh服务。

           $ sudo apt-get install openssh-server

        2.添加名字为git的账户,并为此账户设置密码。此账户是gitolite的工作账户。

                  $ sudo adduser --system --shell /bin/bash --group git

                  $ sudo passwd git

 

三、安装gitolite

1.      在账户tom/home/tom/目录下,下载gitolite的代码。

$ git clone git://github.com/ossxp-com/gitolite.git

2.      创建安装文件夹

$ sudo mkdir -p /usr/local/share/gitolite/conf /usr/local/share/gitolite/hooks

3.      安装

$ cd gitolite/src

$sudo ./gl-system-install /usr/local/bin /usr/local/share/gitolite/conf /usr/local/share/gitolite/hooks

4.      生成管理员的ssh密钥,并存放在/tmp/

$ ssh-keygen

$ scp  ~/.ssh/id_rsa.pub 192.168.1.101:/tmp/admin.pub

5.      配置管理员为gitolite的管理员

$ sudo su – git

$ gl-setup /tmp/admin.pub

6.      在管理员的.ssh目录下面增加一个名字为config的文件,内容如下:

host gitolite

user git

hostname 192.168.1.101

port 22

identityfile  ~/.ssh/ id_rsa

 

7.      测试管理员是否能登录gitolite

$ ssh gitolite

 

四、 Gitolite管理员配置

1.      以管理员账户(nick)登录,clone管理员配置文件

$ git clone gitolite:gitolite-admin

2.      对需要开通访问gitolite服务器的团队成员,收集ssh密钥

在各自的机子上执行

$ ssh-keygen

$ mv  ~/.ssh/id_rsa.pub usr_name.pub

 

3.      将收集的usr_name.pub放在本节第1clone下来的管理员的gitolite-admin目录下的keydir/目录中,并提交到git

$ git add keydir/usr_name.pub

$ git commit –m “add usr”

$ git push

 

4.      在团队成员的机子上配置sshgitolite的访问

在新加入的团队成员的~/.ssh/目录下增加config文件,内容如下

host gitolite

user usr_name

hostname 192.168.1.101

port 22

identityfile  ~/.ssh/ usr_name

 

5.      客户端测试

$ ssh gitolite

 

五、版本库的建立与权限控制

1.      gitolite的管理员账户(此处为tom)登录服务器,clone版本管理的gitolite-admin,如果已经clone过,可以跳过此步骤,直接进行第2步。

git clone gitolite:gitolite-admin

2.      vi等编辑器打开gitolite-admin/conf/gitolite.conf

3.      新建一个项目团队成员组,将成员的名字写进这个组。

@TEAM1 = usr_name1 usr_name2 usr_name3

4.      为项目团队TEAM1新建一个版本库,此处名字为project1,并开通所有人的读写权限。

repo project1

          RW+                                     =@TEAM1

5.      可以为特定成员,特定目录,特定分支进行权限管理。

repo project1

          R                                  =usr1

          RW+                                     =usr2 usr3

          RW+             [path name]    =usr4

6.       提交配置到git版本库。

$ git add conf/gitolite.con

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值