Git 服务器搭建(CentOs7)

我们经常使用远程仓库Github,Github 公开的项目是免费的,但是如果你不想让其他人看到你的项目就需要收费。

这时我们就需要自己搭建一台Git服务器作为私有仓库使用。

接下来我们将以 Centos 为例搭建 Git 服务器。

1、安装Git

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
$ yum install git

接下来我们 创建一个git用户组和用户,用来运行git服务:

$ groupadd git
$ useradd git -g git

禁用shell登录,编辑/etc/passwd文件:

修改前内容

git:x:1001:1001:,,,:/home/git:/bin/bash

修改后内容 

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell 

2、创建证书登录

收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。

如果没有该文件创建它:

$ cd /home/git/
$ mkdir .ssh
$ chmod 755 .ssh
$ touch .ssh/authorized_keys
$ chmod 644 .ssh/authorized_keys

 

3、初始化Git仓库

首先我们选定一个目录作为Git仓库,假定是/home/gitrepo/cyq.git,在/home/gitrepo目录下输入命令:

$ cd /home
$ mkdir gitrepo
$ chown git:git gitrepo/
$ cd gitrepo

$ git init --bare cyq.git
Initialized empty Git repository in /home/gitrepo/cyq.git/

以上命令Git创建一个空仓库,服务器上的Git仓库通常都以.git结尾。然后,把仓库所属用户改为git:

$ chown -R git:git cyq.git

4、克隆仓库

$ git clone git@192.168.20.145:/home/gitrepo/cyq.git
Cloning into 'cyq'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

192.168.20.145 为 Git 所在服务器 ip ,你需要将其修改为你自己的 Git 服务 ip。

这样我们的 Git 服务器安装就完成。

补充:为了安全,应当隐藏服务器端的文件位置,我们可以在家目录里建一个软链接

cd /home/git

ln -s /home/gitrepo www

现在我们就可以通过下面这个地址来克隆仓库了

git clone git@192.168.20.145:www/cyq.git

5、HTTP 协议克隆

1.git钩子设置

cd /home/gitrepo/cyq.git

cp hooks/post-update.sample hooks/post-update

source hooks/post-update

2.nginx中加入如下配置

location ^~ /gitrepo {
	root /home/;
	charset utf-8;
	autoindex on;
	autoindex_exact_size on;
	autoindex_localtime on;
	if ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$){
		add_header Content-Disposition 'attachment';
	}
}

现在我们就可以通过下面这个地址来克隆仓库了

git clone http://192.168.20.145/gitrepo/cyq.git

6、优化美观克隆地址

在第四步的软链接所在目录里,我们建一个gitrepo的软链接

cd /home/git

ln -s /home/gitrepo gitrepo

这样的我们的git克隆地址就变得更优雅了,和github上的一样啦,如下:

git clone git@192.168.20.145:gitrepo/cyq.git
或
git clone http://192.168.20.145/gitrepo/cyq.git

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值