使用Gitolite搭建Git服务器

使用Gitolite搭建Git服务器

需要用到的软件

其实Gitolite的搭建过程中,Gitweb、Apache不是必须的,Gitweb、Apache跟Gitolite一起使用,看到的效果就像这个一样 http://git.chromium.org/gitweb/

环境

假设Server用的是Ubuntu 12.04

Client能通过SSH连接至Ubuntu Server

Server、Client都安装好Git,怎么安装?Google一下吧!

如何搭建?

Server:

添加一个计算机用户,并设置密码,如git:

  1. # -s指令用于指定用户的默认shell,不指定的话,默认是/bin/sh,这个shell在ssh下支持有问题
  2. sudo useradd -m git -s /bin/bash
  3. sudo passwd git

Client:

设置你本机的git用户信息(非必须):

  1. git config --global user.name “xxx”
  2. git config --global user.email xxx@email.com

创建一个SSH公钥/私钥对:

  1. ssh-keygen -t rsa

上传公钥到服务器:

  1. scp ~/.ssh/id_rsa.pub git@server(ip):/home/git/admin.pub

SSH连接到Server:

  1. ssh user@server

Server:

server取得root,安装gitolite:

  1. sudo -sH
  2. apt-get install gitolite

切换至git用户,运行gitolite安装脚本:

  1. su - git
  2. gl-setup /home/git/admin.pub

客户端获取gitolite管理库:

  1. git clone git@server:gitolite-admin.git
  2. cd gitolite-admin

编辑gitolite配置文件,进行项目、用户添加等操作:

  1. sudo vim conf/gitolite.conf

怎么对库进行管理、用户添加、授权等操作,gitolite的文档里都有详细介绍的。

配置好以后,push到Server上即可!

Gitweb的安装、配置(都是在Server上)

首先安装一下Apache:

  1. sudo apt-get install apache2

安装Gitweb:

sudo apt-get install gitweb

安装完成后,修改下gitweb.conf:

  1. sudo vim /etc/gitweb.conf
  2. $projectroot = "/home/git/repositories"

重启下Apache

  1. sudo service apache2 restart

若 "/home/git/repositories" 可被访问,即可通过 http://server/gitweb 访问你的git库了!


补充: 修改git相关文件与目录的权限,以支持gitweb的访问。

  1. vi ~/.gitolite.rc
  2. # 将 $REPO_UMASK = 0077; 改为 $REPO_UMASK = 0027; 以支持gitweb的权限。
  3. # 在每次push后,gitolite会修改相关的repo的权限。
  4. chmod g+r /home/gitolite/projects.list
  5. chmod -R g+rx /home/gitolite/repositories

下面还有更简单的方法


安装gitolite以及git,只需要指定gitolite就可以,gitolite依赖git,apt-get会自动的寻找到依赖包,并安装。

  1. sudo apt-get install gitolite

创建git用户,并切换到git用户下, 用户名最好为git,这样用ssh方式迁出的格式为:git@server:repo,如果是其他用户名的话,那么@前就为相应的用户信息。

  1. sudo useradd -m git -s /bin/bash
  2. passwd git
  3. su - git

准备gitolite管理员的公钥文件,win下可以用putty生成,只要注意把Key comment的内容设置为空,再把公钥拷贝出来后黏贴到相关的文件就好了。

  1. # 用vi创建相关的文件,并在其中贴入公钥信息
  2. vi ~/admin.pub

执行gitolite的安装,命令后跟的是管理员的公钥文件。

  1. gl-setup ~/admin.pub

根据需要修改配置文件,完成安装。

原文地址:https://www.cnblogs.com/zgray/p/3311124.html