r2wee 发表于 2014-8-6 08:54:57

Gitolite服务器搭建配置

最近开发说需要搭建一个git服务器来用,就顺便学了下,也记下来方便以后参考
安装GIT

## 安装依赖包

1
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel





## 安装libiconv依赖包

1
2
3
4
5
6
wget http://ftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gz
tar -xf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install





## 添加用户

1
2
groupadd git
useradd -g git git





## 下载最新版本并安装

1
2
3
4
5
6
7
wget https://github.com/git/git/archive/master.zip
unzip master.zip
cd git-master
make configure
./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv
make
make install




* 当然,上面的操作也可以用官网的方法,不过安装的便不是最新的版本,而是系统适配的版本

1
yum install git





## 查看版本

1
2
# git --version
git version 2.1.0-rc0





* 如果能正常看到版本号,说明你安装Git成功了.接下来安装gitolite


## gitolite 的安装就比较简单了,登陆到 git账户,或是su到git账户后继续操作

1
su - git





## 生成一对测试用的key,或是用已有的key测试下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# mkdir /home/git/.ssh
# chmod 700 /home/git/.ssh
# cd /home/git/.ssh
# ssh-keygen -b 1024 -t rsa -f job
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in job.
Your public key has been saved in job.pub.
The key fingerprint is:
bb:90:6e:37:75:3a:6d:f5:81:eb:e4:7b:36:31:69:41 root@Localhost
The key's randomart image is:
+--[ RSA 1024]----+
|               |
|               E |
|            .|
|               . |
|      S   . o|
|       . .. ...* |
|      o .. + oo.+|
|   ...o.o =. +.|
|   ..... o.++ .|
+-----------------+
# ls .ssh/
jobjob.pub





## 开始安装gitolite

1
2
3
4
5
6
cd /home/git
git clone git://github.com/sitaramc/gitolite
mkdir -p /home/git/bin
/home/git/gitolite/install -to /home/git/bin
ln -s /home/git/bin/gitolite /usr/bin/gitolite
gitolite setup -pk .ssh/job.pub




* 执行完最后一步后,git会生成以下文件夹,其中gitolite-admin.git 便是权限管理库

1
2
3
4
/.gitolite
./repositories
./repositories/gitolite-admin.git
./repositories/testing.git





* 好吧,到了这一步,其实gitolite的管理端就完成了,
接下来要做的就是怎么从客户端更改git权限库呢。


#####从客户机管理权限库,最好是利用不同的机器,且机器上已经安装了git环境,如果没安装,就参照第一部分进行安装

1
2
3
4
##默认22端口的连接
git clone git@serverhost:gitolite-admin
##特别指定端口的连接
git clone ssh://git@serverhost:22/gitolite-admin





## 完成后会在命令执行目录看到gitolite-admin库,里面的结构如下


1
2
3
4
5
./gitolite-admin/.git
./gitolite-admin/keydir
./gitolite-admin/keydir/job.pub
./gitolite-admin/conf
./gitolite-admin/conf/gitolite.conf





## 其中keydir就是存放公钥的地方,新家公钥只要添加到这里,gitolite.conf就是库的配置文件,也是可以限制权限的地方,内容类似

1
2
3
4
repo gitolite-admin
    RW+   =   job
repo testing
    RW+   =   @all






更多的内容参考下面文件,gitolite的安装配置

http://roclinux.cn/?p=2553
http://git-scm.com/book/zh/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-Gitolite




页: [1]
查看完整版本: Gitolite服务器搭建配置