文档章节

ubuntu14.04/Mint17上Gitolite的搭建过程

大培哥
 大培哥
发布于 2015/11/10 12:41
字数 780
阅读 669
收藏 3

    一、安装git

服务器端

 sudo apt-get install git-core

 

二、在服务器端安装gitolite服务器

 sudo apt-get install gitolite

    Gitolite通过git来管理它的配置文件,我们将要创建一个操作系统的用户,唯一的目的就是为了让其和gitolite进行交流。该系统用户被叫做git.

 sudo adduser --system --group --shell /bin/bash --disabled-password git

    三、为git管理员配置sshkey

    拷贝ssh key到gitolite服务器。例如:

scp ~/.ssh/id_rsa.pub regular_username@git_server_IP_address:/tmp/git-admin.pub

四、配置gitolite

        以下的步骤同样发生在服务器端,我们可以在git用户身份下用刚才拷贝过来的公钥来初始化gitolite 。

#切换git用户身份
sudo su - git  

#使用刚刚传输的公钥初始化gitolite,敲击enter完成设置
gl-setup /tmp/git-admin.pub

五、如何管理gitolite

    回到本地的pc,你可以开始管理gitolite服务器了。

    先确认你本地是否安装git,如果未安装,执行以下步骤,否则跳过该步骤;

 sudo apt-get install git-core

    接下来我们来克隆一下gitolite的配置信息到本地。

git clone git@git_server_IP_address:gitolite-admin

提示:执行该命令以后将会创建一个gitolite-admin的目录.

六、添加新用户到gitolite服务器上

        在本地机器上我们可以进入一下刚刚的gitolite-admin目录,在目录下面我们会看到如下目录:

                                                 conf                          keydir    

提示:通常情况来讲,keydir下面存放的是用户的pub key.

你可以做如下操作将新用户的pub key 拷贝到keydir目录下:

git clone git@git_server_IP_address:gitolite-admin

你需要按git操作的一系列步骤来将pub key上传到gitolite服务器上面:

#配置一下git的基本用户信息
git config --global user.name "your_name_here"
git config --global user.email "your_email@address.com" 

#添加文件到git
git add keydir/john.pub

#提交变动
git commit -m "str you want to add"

#提交变动到gitolite服务器
git push

七、配置gitolite的访问控制权限

在上一段你提交pub的时候可能会出现以下的问题,警告如下:

        这就意味着服务器知道有john这位用户,但是在配置文件中没有设置john的访问权限。现在就可以做一些简单的配置来使John这个用户具备对某个目录的访问控制权限.

打开gitolite-admin目录下conf中的gitolite.conf,做一些配置如下:

        再执行同上一步骤的git 提交操作,将gitolite.conf里面的改动内容上传到服务器处。上传成功后,就可以采用以下方式来下载项目仓库:

git clone git@git_server_IP_address:johnsproject

提示:gitolite.conf的基本配置格式可以查看https://www.digitalocean.com/community/tutorials/how-to-use-gitolite-to-control-access-to-a-git-server-on-an-ubuntu-12-04-vps

八、总结

    如果你正在管理多个组的项目仓库,你最好可以设置对应的仓库到一个用户组,这样也很容易去管理。

© 著作权归作者所有

共有 人打赏支持
大培哥
粉丝 5
博文 31
码字总数 29758
作品 0
浦东
程序员
私信 提问
Mint17/Ubuntu14.04 samba文件服务器搭建

一、简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及...

大培哥
2015/10/25
115
0
千份红包免费拿!方德软件中心的新年问候~~

方德Linux软件中心体验版全新上线,更多的软件,更人性化的UI设计,更强大的功能、分类及应用。支持32/64位Ubuntu14.04 /Ubuntu Kylin14.04 /Mint17 /Deepin操作系统。这里有最丰富的应用,最...

Foundation
2014/12/31
877
4
Gitolite+gitweb 源码搭建及迁移

搭建不难迁移蛋疼 一、软件下载gitolite下载:git clone git://github.com/sitaramc/gitolitegit下载:http://git-scm.com/gitweb下载: git clone git://git.kernel.org/pub/scm/git/git.gitg......

wennan
2014/03/05
0
0
上云连载:搭建私有可协作的 Git 服务器

教程 上云连载:搭建私有可协作的 Git 服务器 本文是「上云连载」系列的第三篇,将介绍如何在腾讯云 CVM 上搭建一个私有可协作的 Git 服务器。文中操作也适用于其他云服务商提供的服务器资源...

EarlGrey
2016/10/24
0
0
LinuxMint13搭建gitolite服务器

1.首先需要阅读 LinuxMint13安装无密码访问git ,在该博文中讲到客户端的id_rsa.pub在执行 ssh-copy-id -i ~/.ssh/idrsa.pub git@localhost 以后,idrsa.pub的内容就被拷贝到了服务器端的/ho...

中华大吉
2013/07/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
38分钟前
6
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
39分钟前
3
0
my.ini

1

architect刘源源
55分钟前
6
0
docker dns

There is a opensource application that solves this issue, it's called DNS Proxy Server It's a DNS server that solves containers hostnames, if could not found a hostname that mat......

kut
今天
5
0
寻找数学的广度——《这才是数学》读书笔记2700字

寻找数学的广度——《这才是数学》读书笔记2700字: 文|程哲。数学学习方式之广:国内外数学教育方面的专家,进行了很多种不同的数学学习方式尝试,如数学绘本、数学游戏、数学实验、数学步道...

原创小博客
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部