Contents
  1. 1. 安装准备
  2. 2. 添加gitolite用户
  3. 3. 安装gitolite
  4. 4. 初始化gitolite
  5. 5. 配置gitolite
    1. 5.1. 克隆管理库到本地
    2. 5.2. 配置文件说明

Ubuntu 14.04 使用gitolite安装git服务器

以前用gitosis配置过git服务器(教程),但总感觉配置比较复杂,最近实验了gitolite感觉不错

安装准备

  • 安装gitolite前,首先要安装 git,openssh-server和 openssh-client
    sudo apt-get update
    sudo apt-get -y install git openssh-server openssh-client

  • 准备好你的ssh私钥和公钥
    没有的话可在本地执行ssh-keygen -t rsa -C "yourname@example.com 生成一个,生成后在~/.ssh/目录里,id_rsa是私钥,id_rsa.pub是公钥。

添加gitolite用户

sudo adduser --system --shell /bin/sh --group --disabled-password --home /home/gitolite gitolite
使用命令添加加上–system参数,用户就不会在登陆界面显示

安装gitolite

sudo apt-get -y install gitolite

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
root@desktop:~#sudo apt-get -y install gitolite
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
..此处省略一万字...
Use 'apt-get autoremove' to remove them.
Suggested packages:
git-daemon-run gitweb
The following NEW packages will be installed:
gitolite
0 upgraded, 1 newly installed, 0 to remove and 126 not upgraded.
Need to get 246 kB of archives.
After this operation, 552 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty/universe gitolite all 2.3-1 [246 kB]
Fetched 246 kB in 0s (483 kB/s)
Preconfiguring packages ...
Selecting previously unselected package gitolite.
(Reading database ... 301685 files and directories currently installed.)
Preparing to unpack .../gitolite_2.3-1_all.deb ...
Unpacking gitolite (2.3-1) ...
Setting up gitolite (2.3-1) ...
No adminkey given - not setting up gitolite.

初始化gitolite

  1. 上传公钥id_rsa.pub到服务器tmp目录下
  2. 切换用户身份到gitolite
    sudo su - gitolite
  3. 执行初始化命令
    gl-setup /tmp/id_rsa.pub
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $ gl-setup /tmp/id_rsa.pub
    The default settings in the rc file (/home/gitolite/.gitolite.rc) are fine for most
    people but if you wish to make any changes, you can do so now.
    hit enter...
    Select an editor. To change later, run 'select-editor'.
    1. /bin/ed
    2. /bin/nano <---- easiest
    3. /usr/bin/vim.basic
    4. /usr/bin/vim.tiny
    Choose 1-4 [2]: ^C

系统提示当前使用的是默认配置文件’/home/gitolite/.gitolite.rc’,如果需要修改,有四种编辑器可以选择(很贴心哦),不过我们一般通过gitolite-admin这个库远程配置,看下一节

配置gitolite

克隆管理库到本地

git clone ssh://gitolite@SERVER_ADDRESS/gitolite-admin.git

配置文件说明

gitolite-admin里面两个文件夹keydir和conf:

  1. keydir存储用户的公钥,添加用户可以直接拷贝用户的公钥到此文件夹;
  2. conf目录里的gitolite.conf是配置文件,格式如下:
    1
    2
    3
    4
    repogitolite-admin
    RW+ = id_rsa
    repo testing
    RW+ = @all

gitolite.conf中, repo后面跟的是库名,底下跟着库的权限设置。push gitolite-admin到服务器后,服务器会根据你所做的修改配置git服务。具体可以参考Git-Scm的配置说明

Contents
  1. 1. 安装准备
  2. 2. 添加gitolite用户
  3. 3. 安装gitolite
  4. 4. 初始化gitolite
  5. 5. 配置gitolite
    1. 5.1. 克隆管理库到本地
    2. 5.2. 配置文件说明