1gitolite构建git服务器



软件环境:在有网络条件下(主要是为了安装软件),UbuntuKylin
14.04

1 安装openssh-serveropenssh-client,如果用的是VPS之类的一般都默认安装好了,不过,不管有没有安装好,都执行下面的命令仍然是没有问题

sudo apt-get -y install openssh-server openssh-client

2 安装git,这个是核心软件,不可以缺少

sudo apt-get -y install git

3添加gitolite用户和同名用户组,加上–system参数,用户就不会再登录界面显示。

sudo adduser --system --shell /bin/sh --group --disabled-password --home /home/gitolite gitolite

4生成ssh key,一路回车下来

ssh-keygen -t rsa(关于要存储路径的,我选择的是默认的,也就是说直接点击enter实现)

进入/home/toto/MyDisk/gitolite目录,输入命令:ls
–a 可以看到如下信息:

其中,admin是私钥,不能删除,要自己保存好,admin.pub就是验证所需的公钥

5 将你当前用户的sshpub key复制到/tmp下备用(这种情况是本地安装的方式)

cp admin.pub /tmp/ubuntugege.pub

pwd

 

如果你是ssh远程登陆到服务器上安装,就要把你本地的key复制到远程的机器上

scp ~/.ssh/admin.pub gitolite.server:/tmp/ ubuntugege.pub

6 安装gitolite,在ubuntu中已经集成了,不用自己去下载。

sudo apt-get –y install gitolite

注意,上面提示要安装git-daemon-run和gitweb

安装命令是:

sudo apt-get –y install git-daemon-run

sudo apt-get –y install gitweb

7切换到gitolite用户环境中,因为我要以gitolite用户身份去初始化安装。

sudo su – gitolite

接着输入:

gl-setup /tmp/ ubuntugege.pub

注意:在安装过程中会出现如下情况,直接退出即可:

版本仓库位于:/home/gitolite/repositories/gitolite-admin.git/

进入/home下,ls,发现如下:

输入exit退出上面的命令行

8 把管理库gitolite-admin克隆过来就可以开始gitolite用户及代码库的管理了,如果不能克隆,那么就说明初始化的ssh
pub key错了,如图就是成功了。

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

输入自己设置的密码:123456

注意:所属用户

执行git clone之后,发现已经有了一个克隆的仓库了。

9 管理Gitolite

A管理员克隆gitolite-admin管理库

当gitolite安装完成后,在服务器端自动创建了一个用于gitolite自身管理的git库:gitolite-admin.git,克隆gitolite-admin.git库。命令如下:

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

验证的命令如下:

toto@toto-virtual-machine:~/gitolite-admin$ pwd

/home/toto/gitolite-admin

toto@toto-virtual-machine:~/gitolite-admin$ ls

conf keydir

toto@toto-virtual-machine:~/gitolite-admin$ ls -F

conf/ keydir/

toto@toto-virtual-machine:~/gitolite-admin$ ls conf/

gitolite.conf

toto@toto-virtual-machine:~/gitolite-admin$ ls keydir/

ubuntugege.pub

toto@toto-virtual-machine:~/gitolite-admin$

从上面可以看出gitolite-admin目录下有两个目录conf/和keydir

keydir/ ubuntugege.pub文件

目录keydir下初始时只有一个用户公钥.即ubuntugege用户的公钥。

conf/ gitolite.conf文件

该文件尾授权文件。初始内容为:

toto@toto-virtual-machine:~/gitolite-admin/conf$ cat gitolite.conf

repo   gitolite-admin

       RW+    
=   ubuntugege

 

repo   testing

       RW+    
=   @all

缺省授权文件中设置了两个版本库的授权:

gitolite-admin

即本版本库(gitolite管理版本库)只有ubuntugege用户有读写和强制更新的权限

testing

缺省设置的测试版本库,设置为任何人都可以读写以及强制更新。

10 增加新用户

   增加新用户,就是允许新用户能够通过公钥访问git.只要新用户的公钥添加到gitolite-admin版本库的keydir目录下,即完成新用户的添加。

A 管理员从用户获取公钥,并将公钥按照username.pub格式进行重命名。

用户可以通过邮件或其他方式将公钥传递给管理员,切记不要将私钥误传给管理员。如果发生私钥泄露,马上重新生成新的公钥/私钥对,并将新的公钥传递给管理员,并申请将旧的公钥作废。

用户从不同的客户端主机访问着不同的公钥,如果希望使用同一个用户名进行授权,可以按照username@host.pub方式明明年公钥文件,和名为username@pub的公钥指向同一个用户username.

Gitolite也支持邮件地址格式的公钥,即形如username@gmail.com.pub的公钥。Gitolite能够智能的区分是以邮件地址命名的公钥还是相同用户在不同主机上的公钥。如果是邮件地址命名的公钥,将以整个邮件地址作为用户名。

  B
管理员进入gitolite-admin本地克隆版本库中,复制新用户公钥到keydir目录。

$ cp dev1.pub keydir/ (注意生成公钥的方法是通过ssh-keygen
–t rsa的方式生成)

 

查看git仓库的状态

执行git add命令,将公钥添加入版本库。

执行git commit,完成提交

执行git push,同步到服务器,才真正完成新用户的添加。

 

 

时间: 2024-09-20 18:01:19

1gitolite构建git服务器的相关文章

Gitolite 构建 Git 服务器

 作者: 北京群英汇信息技术有限公司 网址: http://www.ossxp.com/ 版本: 0.1-1 日期: 2010-10-07 14:52:19 目录 1   SSH 协议 1.1   SSH 公钥认证 1.2   SSH 主机别名 2   Gitolite 服务架设 2.1   安装 Gitolite 2.1.1   服务器端创建专用帐号 2.1.2   Gitolite 的安装/升级 2.1.3   关于 SSH 主机别名 2.1.4   其他的安装方法 2.2   管理 G

Centos 通过 Nginx 和 vsftpd 构建图片服务器

1.Nginx 简介 nginx_百度百科 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日. 其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名.2011年6月1日,nginx 1.0.4发布. Nginx是一款轻量级的

Linux下用vsftpd构建FTP服务器

在Linux下如何使用vsftpd构建FTP服务器,构建后的FTP服务器有哪些特点?本文将作详细介绍. vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点.vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux.BSD.Solaris. HP-UNIX等系统上面,是一个完全免费的.开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征.比如:非常高的安全性需求.带宽限制.良好的可伸

如何在Linux上用Apache搭建Git服务器

最近在学Linux,终于在Linux上用Apache搭建起了Git服务器,在此记录一下. 服务器:阿里云服务器 Linux版本:CentOS 6.5 Apache版本:Apache/2.2.15 Git版本:git 1.7.1 Git访问方式:基于http的基本验证(非SSL) Apache的安装 1. 安装Apache软件:yum install httpd 2. 设置Apache在服务器启动时运行:chkconfig --levels 235 httpd on Git的安装与配置 1. 安装

如何在apache上安装gitweb实现浏览器访问git服务器

搭建好git服务器(在Linux上用Apache搭建Git服务器),可以checkout, pull, push之后,产生了一个新的需求--走在路上或坐在车上,等人或排队的时候,如果想在平板电脑或手机上浏览代码库中的代码,怎么办呢? 这时gitweb闪亮登场!gitweb是一个支持git的CGI程序,有了它,你可以方便地浏览器Git代码库中的代码. 更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Servers/web/ 下面分享一下如何安

如何搭建基于金山快盘的Git服务器

最近迷上了Git,这货堪称神器,用了它就再也不想用其他VCS了,就像上了高速就不想再走国道一样. 一般人使用Git+Github来搭建进行本地远程交互,不过Github弄个私人仓库是要刀乐思的,如果你很抠,或者你的伟大idea不想被别人瞄去,可以考虑用Git+金山快盘搭建私人服务器. 不多说,以下是步骤: 下载安装金山快盘,指定路径,申请账号 下载安装Git桌面版,配置各参数 在快盘文件夹里新建一个文件夹,在这个文件夹里新建仓库一定要选中央资料库,否则会push不上(个人档案库会在这个目录下面生

金山快盘的Git服务器、快盘+ Git GUI 实现代码版本管理

  Git,这货堪称神器,用了它就再也不想用其他VCS了,就像上了高速就不想再走国道一样. Git的强大之处在于,你可以在局域网内的任何一个共享路径下创建仓库,而不需要运行任何服务.所有的操作都是基于本地的.这也不难理解可以直接放在快盘里了. 一般的大些公司都有自已的版本管理服务器,远程时 登录VPN也可以实现操,但是几人的小团队就不太现实了,基本没有VPN,如果是几个异地朋友想凑在一起创业,就 只能买台服务器做版本管理服务器,这个第一想到成本,对于几个人来说一台服务器一年的成本也不是小数,还

用gitblit搭建的git服务器,怎么实现文件的权限设置?

问题描述 用gitblit搭建的git服务器,怎么实现文件的权限设置? 用gitblit搭建的git服务器,怎么实现文件的权限设置?比如a文件b用户可以看到c不能看到 解决方案 参考官网http://gitblit.com/setup.htmlgrants privileges那里

linux搭建git服务器

git是非常方便的版本控制工具,目前网上有很多免费的git仓库可以给我们使用,但是有些时候我们并不放心将我们的项目寄放在别人的服务器上,这个时候就需要自己搭建一个git服务器. 在linux上面搭建git服务器是一件非常轻松的事情,只需要按照以下几步就能完成.为了确保整个过程的顺利,最好新创建一个名为git的账号,再使用该账号进行配置 1.安装git 在linux系统中,git安装只需要简单命令就可以完成,只需要打开终端,输入 sudo apt-get update sudo apt-get i