LinuxMint13搭建gitolite服务器

本文详细介绍了如何通过Gitolite实现Git服务器的管理和授权。包括公私钥对的生成、SSH配置、Gitolite源码下载及安装过程,并解决了安装过程中的一些常见问题。

1.首先需要阅读 LinuxMint13安装无密码访问git ,在该博文中讲到客户端的id_rsa.pub在执行

ssh-copy-id -i ~/.ssh/id_rsa.pub  git@localhost

以后,id_rsa.pub的内容就被拷贝到了服务器端的/home/git/.ssh/authorized_keys文件中。

在本篇博文开始的时候,需要另外选一台PC机,作为Git管理和授权者的操作机,和服务器机器已经开发者机器不同,需要在授权机生成一对单独公私钥对,执行以下命令:

ssh-keygen -f  ~/.ssh/gitolite_skwiki

生成两个文件分别是:~/.ssh/gitolite_skwiki和~/.ssh/gitolite_skwiki.pub

将gitolite_skwiki.pub拷贝到服务器的/tmp/目录,修改权限为777,命令为:

scp ~/.ssh/gitolite_skwiki.pub git@服务器公网IP:/tmp/gitolite_skwiki.pub

此处因为我们事先做了git账号的免密码登录,所以不会遇到权限问题。

2.在授权机创建SSH主机别名:

编辑~/.ssh/config文件,没有该文件的话可以自动创建并编辑,输入以下内容:

host GitoliteServer

       user git

       hostname 主机公网IP

       port 22

       identityfile ~/.ssh/gitolite_skwiki

3.在服务器端,使用以下命令下载gitolite的源码:

git clone git://github.com/ossxp-com/gitolite.git

4.在服务器端,创建相关目录:

sudo mkdir -p /usr/local/share/gitolite/conf

sudo mkdir -p /usr/local/share/gitolite/hooks

5.在服务器端,进入刚clone下来的gitolite/src目录,进行安装:

cd gitolite/src

sudo ./gl-system-install /usr/local/bin  /usr/local/share/gitolite/conf   /usr/local/share/gitolite/hooks

6.在服务器端,安装平台的gitolite包:

sudo aptitude install gitolite

最近试了一下这个命令不能用了,后来又试了

sudo apt-get install gitolite

结果还是不行,提示:

Package 'gitolite' has no installation candidate

后来执行:

sudo apt-get update

还是不行,继续使用命令:

sudo apt-get upgrade

还是不行,看来apt-get 装不了gitolite,

后来我使用:

sudo apt-get install aptitude

sudo aptitude update

sudo aptitude upgrade

安装上述步骤安装了aptitude,继续执行sudo aptitude install gitolite

还是不行。。。。

 

7.在服务器端,这一步特别要小心,首先保证前面的步骤1已经执行了,然后执行以下命令:

cd ~

gl-setup /tmp/gitolite_skwiki.pub

执行以后有一个特别要注意的地方,程序提示编辑.gitolite.rc文件,很多书籍上说保持默认,

实际上需要对.gitolite.rc做一定修改:

$GL_WILDREPOS=0需要修改为1

不然会出现/homg/git/repositories无法生成的问题,提示没有设置$GL_WILDREPOS

成功后会生成repositories目录,里面有2个子目录,一个是gitolite-admin.git,一个是testing.git

7.在客户端,克隆gitolite-admin,输入以下命令:

git clone GitoliteServer:gitolite-admin.git

8.在客户端,现在理论上的话使用命令:

ssh GitoliteServer会显示:

@R  W gitolite-admin

@R  @testing

之类的,这是正常的

在输入ssh git@localhost的时候应该进入shell才对,但是却出现了这样的提示:

agent admitted failure to sign using the key

解决办法是,在客户端执行以下命令:

 ssh-add   ~/.ssh/id_rsa

 

 

 

转载于:https://my.oschina.net/armsky/blog/142914

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值