我是在ubuntu和CentOS系统上分别搭建的git服务器,大致过程都是相同的:
基本上都是通过软件源直接安装的
第一步,给服务器安装ssh服务(这个CentOS自带了)
apt-get install ssh
第二步,安装git
ubuntu:
apt-get install git
CentOS
yum install git
CentOS还要再多一步,因为CentOS默认的perl少了这个模块.
yum install 'perl(Data::Dumper)'
其实到这里为止就安装完了,git已经能用了,远程访问使用ssh协议,用linux的用户登录访问即可.
但是在实际的生产环境中可不能这么用,服务器的安全性没法保障,git的权限没法管理.要管理git的权限有很多种方法,可以自己配置一个专门的用户,然后为此用户设置多个多个公钥,并且设置这个账户只能通过git的shell来访问就可以了,通过linux自己的权限管理来控制此用户对文件的访问.大体的思路就是这样,其实也不是很复杂.但是git既然有专门的工具来控制权限,就再安装个工具吧,有两个工具,一个是gitosis另一个是gitolite.我这里用的是gitolite,下面开始安装gitolite.
首先确认下,系统上perl是否已经安装了,ubuntu应该是自带的,没有的话用apt-get install perl安装一下.
然后在服务器上创建一个用户git,按提示为用户设定密码.
adduser git
用户创建成功后切换到这个用户
su - git
然后拷贝ssh公钥到服务器上,生成密钥的工具很多,xshell,git客户端都可以.或者用系统自带的ssh-keygen命令
ssh-keygen
生成一对密钥,生成过程中可以设置一个密码,也可以不设置,生成完后,密钥在当前用户的.ssh目录下(/home/git/.ssh/),密钥一对,有两个文件id_rsa.pub和
id_rsa. 以pub结尾的是公钥,另一个是私钥.把公钥考出来重命名为<yourname>.pub.
以上这些准备工作都做好之后,开始安装gitolite.
首先,通过git拷贝gitolite
git clone git://github.com/sitaramc/gitolite
然后到/home/git下创建一个bin目录,不创建的话是会报错的
cd /home/git mkdir bin
进入刚刚拷贝的gitolite目录执行安装
./install -ln没有什么错误信息输出的话,安装就初步成功了,现在进入刚刚创建的bin目录,可以看到里面多了一个gitolite文件,然后执行
cd /home/git/bin gitolite setup -pk <yourpath>/<yourname>.pub这个个命令在服务器上创建了一个名为
gitolite-admin
的Git仓库。
现在你可以看到在git目录下多了一个repositories目录,这是git默认的仓库的路径,里面有两个仓库,一个是gitolite-admin,另一个是test.
至此,git以及gitolite就安装完成了
安装完成后,在本地工具里用刚刚的秘钥进行登录,拷贝gitolite-admin仓库到本地
git clone git@<gitserver>:gitolite-admin
克隆到本地后,打开gitolite-admin目录,可以看到conf和keydir两个目录. conf目录里是配置文件,keydir目录里是用户的公钥,打开keydir目录,可以看到刚才安装的时候导入的那个公钥,也就是现在登录的这个用户的公钥.如果需要添加用户,只要把他的公钥拷贝到keydir这个目录中即可,非常的简单.
然后打开conf目录下的gitolite.conf文件
刚开始这个文件可能是这样的:
repo gitolite-admin RW+ = scott repo testing RW+ = @all
repo是后面是项目名称,RW+是权限,scott是用户
例如下面这个配置文件:
首先是定义了两个组, 一个是admin管理员组,另一个是om项目组
然后看到repo om部分,定义了om项目的权限,整个项目是admin组的用户有读写权限,master分支是admin组的用户有读写权限,dev分支是om组用户有读写权限.如果需要分配只读权限的话分配一个R即可.
@admin = abc @om = abc bcd repo gitolite-admin RW+ = abc repo testing RW+ = @all repo om RW+ = @admin RW+ master = @admin RW+ dev = @om
这样就完成了一个简单的git服务器以及权限配置.
相关推荐
此资源主要讲解了window环境下怎样搭建svn和git服务器,如何创建用户和组,并对仓库进行用户访问权限设置等。
window下本地git服务器搭建与使用详解
(git服务器搭建+git教程+git廖雪峰)
本人自己写的关于git服务器搭建的文档,非常详细,亲测成功。
git服务器搭建。这个是window上面搭建的git服务器,有详细的图文步骤,使得开发者可以轻易的搭建git服务器
搭建openshift需要使用到git服务器。git服务器搭建、使用。
centos_git服务器搭建 使用Git来部署一个Web站点笔记
Git服务器搭建和配置
关于ubuntu下git服务器的搭建
centos中GIT服务器搭建及使用密钥连接.pdf
git服务器搭建安装包,使用说明见https://blog.csdn.net/qq_32077121/article/details/118107712
Ubuntu下Git服务器打搭建 客户端的使用教程和git学习资料等,资源分虽然要了10分但是这是我一周总结的,现在没分了想坑一点积分。有积分后我就免费下载了,下载的人不要为要积分而喷。也谢谢大家给我积分
一、 Windows2003下安装GIT服务器所需的软件 5 二、 Msysgit与copssh的安装 5 三、 程序配置 6 1. 服务端git支持配置 6 2. 服务端Copssh配置 6 3. 客户端git配置(配置成支持远程无密码登入) 8 四、 测试Git服务器 ...
手把手教你Git私有服务器搭建,就是你是小白看完也可以自己搭建自己的git服务器
git服务器搭建的时候所遇问题及解决方案
这是一个Git私服搭建的文档,来源: https://www.cnblogs.com/jeremylee/p/5626240.html 前四步为配置java环境 第五步:下载Gitblit.下载地址:http://www.gitblit.com/ 第六步:解压缩下载的压缩包即可,无需...
freeBSD11.0系列安装文档,本人实际操作记录,希望给大家带来上些帮助
Git服务器客户端搭建文档,Git服务器客户端搭建,Git服务器客户端搭建
linux下搭建git服务器步骤,本人亲测可用。linux下搭建git服务器步骤,本人亲测可用