最近开发说需要搭建一个git服务器来用,就顺便学了下,也记下来方便以后参考
安装GIT
## 安装依赖包
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
## 安装libiconv依赖包
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
## 添加用户
groupadd git useradd -g git git
## 下载最新版本并安装
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
* 当然,上面的操作也可以用官网的方法,不过安装的便不是最新的版本,而是系统适配的版本
yum install git
## 查看版本
[root@yw_home ]# git --version git version 2.1.0-rc0
* 如果能正常看到版本号,说明你安装Git成功了.接下来安装gitolite
## gitolite 的安装就比较简单了,登陆到 git账户,或是su到git账户后继续操作
su - git
## 生成一对测试用的key,或是用已有的key测试下
[git@git git]# mkdir /home/git/.ssh [git@git git]# chmod 700 /home/git/.ssh [git@git git]# cd /home/git/.ssh [git@git git]# 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.++ .| +-----------------+ [root@yw_home git]# ls .ssh/ job job.pub
## 开始安装gitolite
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 便是权限管理库
/.gitolite ./repositories ./repositories/gitolite-admin.git ./repositories/testing.git
* 好吧,到了这一步,其实gitolite的管理端就完成了,
接下来要做的就是怎么从客户端更改git权限库呢。
##### 从客户机管理权限库,最好是利用不同的机器,且机器上已经安装了git环境,如果没安装,就参照第一部分进行安装
##默认22端口的连接 git clone git@serverhost:gitolite-admin ##特别指定端口的连接 git clone ssh://git@serverhost:22/gitolite-admin
## 完成后会在命令执行目录看到gitolite-admin库,里面的结构如下
./gitolite-admin/.git ./gitolite-admin/keydir ./gitolite-admin/keydir/job.pub ./gitolite-admin/conf ./gitolite-admin/conf/gitolite.conf
## 其中keydir就是存放公钥的地方,新家公钥只要添加到这里,gitolite.conf就是库的配置文件,也是可以限制权限的地方,内容类似
repo gitolite-admin RW+ = job repo testing RW+ = @all
更多的内容参考下面文件,gitolite的安装配置
http://git-scm.com/book/zh/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-Gitolite
本文出自 “纳米龙” 博客,请务必保留此出处http://arlen.blog.51cto.com/7175583/1536066
Gitolite服务器搭建配置,布布扣,bubuko.com
原文地址:http://arlen.blog.51cto.com/7175583/1536066