在Centos7上安装git服务

前言

一开始,打算在Windows上安装git服务,折腾了一天,在Copssh(win2008、win7、win2003)上总是配置不成功,最终无功而返,最后只好先放弃Windows了,以后有时间再研究研究。

当然Windows版的还有其它软件可用,比如Gitstack、Gitblit等,不想搞Windows版的了,不是这个限制就是那个问题,麻烦多,所以直接上Linux版的。

下面一段是Linux工具,引用自http://blog.chinaunix.net/uid-15174104-id-3843570.html

在Git服务管理工具这个领域,主要有三种流行的方案,它们分别是:

Gitosis - 轻量级,开源项目,使用SSH公钥认证,只能做到库级的权限控制。目前项目已经停止开发,不再维护。

Gitolite - 轻量级,开源项目,使用SSH公钥认证,能做到分支级的权限控制。

Git + Repo + Gerrit - 超级重量级,集版本控制,库管理和代码审核为一身。可管理大型及超大型项目。

注:其实还有很多,如:gitlab、gitblit、gitbucket、gogs,请参考“几个Git仓库开源软件的比较” http://dz.sdut.edu.cn/blog/subaochen/2016/01/github_like_softwares/

安装

Step 1 安装git

yum install perl openssh git

Step 2建立一个git用户,并做初步配置

adduser --system --shell /bin/sh --create-home --home-dir /home/git git
# 进入git用户的home目录
cd /home/git
# 新建一个目录,用于存放git的全部仓库
mkdir repositories
# 设置该目录的所有权
chown git:git -R ./repositories
# 修改该目录的操作权限
chmod 700 ./repositories

Step 3生成一对公钥证书(空密码则直接回车)

# 可直接在服务器上生成,也可以在本地生成,在这里我直接在服务器上生成了。
ssh-keygen -t rsa
# 最后生成两个文件,分别为id_ras.pub(公钥) 和id_rsa(私钥)
# 将公钥移到/home/git/.ssh/目录下,注意,公钥文件名改了,公钥名对应gitolite里配置的用户名,admin我用于做系统管理员的账号名。
mv id_rsa.pub /home/git/.ssh/admin.pub
# 将私钥id_rsa用SFTP下载回到本地Windows的C:\Users\Administrator\.ssh\目录下,Administrator是我登录Windows的账号,你要改成自己电脑对应的目录下,用于本地git登录远程服务器。

Step 4切换至刚建的git用户,安装gitolite

su git
git clone git://github.com/sitaramc/gitolite
mkdir -p $HOME/bin
# 安装gitolite
gitolite/install -to $HOME/bin
# 安装时报错,根据错误提示,百度了几下,安装相关的依赖
yum install wget perl-ExtUtils-MakeMaker gcc

wget http://www.cpan.org/modules/by-module/Data/Data-Dumper-2.154.tar.gz
tar xvzf Data-Dumper-2.154.tar.gz
cd Data-Dumper-2.154
perl Makefile.PL
make
make install

Step 5配置gitolite

$HOME/bin/gitolite setup -pk admin.pub
# 完成后,在/home/git/repositories里面,生成两个仓库gitolite-admin.git和test.git,一个是管理仓库用的,另一个是测试用的;下面我们主要对gitolite-admin.git仓库进行操作,就可以管理服务器上的全部仓库了。

Step 6管理gitolite

git clone [email protected]172.16.13.229:gitolite-admin
#完成后有两个目录,分别是conf和keydir,conf/gitolite.conf是用户、仓库的权限配置,keydir是放对应用户的公钥,修改好后push回服务器,就完成了管理操作。

下面,我们用个例子说明如何管理git仓库。

1、  最初的conf/gitolite.conf内容如下:

repo gitolite-admin
    RW+     =   admin

repo testing
    RW+     =   @all

2、  然后我们在gitolite.conf内容下面添加如下内容

@ android_group = zhangsan lisi

repo androidapp
    RW+     =   @android_group

3、  @ android_group = zhangsan lisi,定义了@android_group组,组员是zhangsan和lisi两个人,当然,组里也可以包含另一组,人员或组之间用空格分开,我们修改后如下:

@ android_group = zhangsan lisi
@ ios_group = zhangsan wanwu
@ app_group = @android_group @ios_group

repo androidapp
    RW+     =   @android_group

repo appdoc
    RW+     =   @ app_group

4、  repo androidapp,定义了一个androidapp仓库,该仓库读写权限为@android_group,最后push回服务器后,我们就可以在本地执行

git remote add origin [email protected]172.16.13.229: androidapp.git
git push origin master

两次命令来首次推送本地仓库到远程服务器仓库,下次有修改再推送时直接git push即可。

Step 7给公司里每位童鞋分配私钥证书

1、  生成证书

ssh-keygen -t rsa –C “[email protected]”

2、  将公钥id_ras.pub改名为童鞋名字全拼,比如zhangsan.pub,并拷到gitolite-admin仓库的keydir目录下;

3、  将私钥id_rsa飞Q发给相应的童鞋;

4、  重复1到3,直到全部发给每位童鞋;

5、  修改gitolite.conf,配置各个项目的访问权限;

6、  推送gitolite-admin修改后的内容到服务器;

7、  完成分配工作。

注:人员名字全拼为公钥文件名,同时也是gitolite.conf里的用户名;私钥id_rsa让童鞋们放在C:\Users\Administrator\.ssh\目录下。

Administrator是系统登录名,如果你的不是这个名,那就改改。

当然了,也可以让童鞋们自己生成公钥对,然后把公钥统一发给我。

在Windows下使用git图形客户端

1、  安装Windows git,下载地址https://git-for-windows.github.io/,下载后一路next安装即可。

2、  安装TortoiseGit,TortoiseSVN的兄弟,下载地址https://tortoisegit.org/download/,也是一路next安装。

3、  配置TortoiseGit,参考其他文章即可,网上文章还是比较多的,比如下面这篇写得就很好http://blog.csdn.net/renfufei/article/details/41647937

时间: 2024-12-08 05:22:56

在Centos7上安装git服务的相关文章

AWS ec2的ubuntu14.04上安装git服务

http://imerc.xyz/2015/11/13/Ubuntu-14-04%E4%B8%8AGit%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E6%90%AD%E5%BB%BA/ 工具与平台 平台: Ubuntu Server 14.04 工具: gitolite 搭建步骤 1.安装 git 和 openssh-server 假设服务器系统 Ubunut 上有有一个名为 admin 的管理员用户,在 admin 用户下安装 git 和 openssh-serv

在 CentOS7 上安装 zookeeper-3.4.9 服务

在 CentOS7 上安装 zookeeper-3.4.9 服务 1.创建 /usr/local/services/zookeeper 文件夹: mkdir -p /usr/local/services/zookeeper 2.进入到 /usr/local/services/zookeeper 目录中: cd /usr/local/services/zookeeper 3.下载 zookeeper-3.4.9.tar.gz: wget https://mirrors.tuna.tsinghua.

CentOS7 上安装 Zookeeper-3.4.9 服务

在 CentOS7 上安装 zookeeper-3.4.9 服务 1.创建 /usr/local/services/zookeeper 文件夹:    mkdir -p /usr/local/services/zookeeper 2.进入到 /usr/local/services/zookeeper 目录中:    cd /usr/local/services/zookeeper 3.下载 zookeeper-3.4.9.tar.gz:    wget https://mirrors.tuna.

安装Git服务&使用Gitosis管理成员、项目并做项目授权(上)

转自:安装Git服务&使用Gitosis管理成员.项目并做项目授权 这是一篇实际的操作文档,里面的大部分图都是自己亲手截屏,力求达到真实并希望帮助到更多的遇到类似问题的困惑者.如果遇到问题,可以直接在文章最下面联系到我,也欢迎拍砖. 弄清楚关键词眼与概念 裸仓库(bare repository) 即一个没有当前工作目录的仓库.因为该仓库只是一个合作媒介,所以不需要从硬盘上取出最新版本的快照:仓库里存放的仅仅是 Git 的数据.简单地说,裸仓库就是你工作目录中 .git 子目录内的内容. 补充一下

在 CentOS7 上安装 MySQL5.7

在 CentOS7 上安装 MySQL5.7 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中:cd /usr/local/ 3 创建目录 /usr/local/tools,如果有则忽略: mkdir -p tools 4 创建 /usr/local/mysql 目录,如果已存在则忽略:mkdir -p mysql 5 进入到目录 /usr/local/tools 中:cd tools/ 6 查看系统中是否已安装 MySQL 服务:

CentOS7上安装稻壳CMS

CentOS7上安装稻壳CMS 1, 安装用途 为了给某公司建设一个小型网站,租用了一个阿里云ECS服务器,最基础的硬件配置,因此选择了CentOS7操作系统. 稻壳CMS(docCMS)源于深喉咙CMS,使用广泛,配置简单,因此采用其作为建站模板. 2,CentOS7环境安装 阿里云ECS中的CentOS7操作系统属于“裸”操作系统,没有配置基础的Web应用环境.为和稻壳CMS匹配,需安装配置的软件有: ²        Apache服务器Httpd ²        防火墙IPTables

CentOS7上安装、配置、监控RabbitMQ

CentOS7上安装.配置.监控RabbitMQ RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发.RabbitMQ据说具有良好的性能和时效性,同时还能够非常好的支持集群和负 载部署,非常适合在较大规模的分布式系统中使用,具体特性还在验证中,待检验.由于项目需要,安装并配置了RabbitMQ,服务器操作系统是CentOS7. 环境:CentOS7.2 步骤 一.安装Erla

(转)在 CentOS7 上安装 MongoDB

在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录: cd /usr/local 3 在当前目录下创建 tools 目录: mkdir -p tools 4 进入到 tools 目录中: cd tools 5 下载与 CentOS 系统匹配的 mongodb-linux-x86_64-rhel70-3.2.4.tgz 文件: wget https://fastdl.mongodb.org/linux

一次在CentOS7上安装部署Zabbix3.0版本及快速进行基本配置的实例

Zabbix3.0的安装.部署.配置,必须基于LAMP环境或是是LNMP环境. 关于LAMP环境的简单快速搭建,见博客:http://afterdawn.blog.51cto.com/7503144/1923139 注意:以下步骤都是在LAMP配置之后进行的. 本文不会再对zabbix-server和zabbix-agent理论知识再进行介绍,建议看完http://afterdawn.blog.51cto.com/7503144/1922502再进行zabbix实战. Zabbix3.0对软硬件