搭建 Git 服务器

腾讯云提供了开发者实验室教你搭建 Git 服务器,教程内容如下,用户可以点击开发者实验室快速上机完成实验。

下载安装 git

任务时间:5min ~ 10min

Git 是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

此实验以 CentOS 7.2 x64 的系统为环境,搭建 git 服务器。

安装依赖库和编译工具

为了后续安装能正常进行,我们先来安装一些相关依赖库和编译工具

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

安装编译工具

yum install gcc perl-ExtUtils-MakeMaker

下载 git

选一个目录,用来放下载下来的安装包,这里将安装包放在 /usr/local/src 目录里

cd /usr/local/src

到官网找一个新版稳定的源码包下载到 /usr/local/src 文件夹里

wget https://www.kernel.org/pub/software/scm/git/git-2.10.0.tar.gz

解压和编译

解压下载的源码包

tar -zvxf git-2.10.0.tar.gz

解压后进入 git-2.10.0 文件夹

cd git-2.10.0

执行编译

make all prefix=/usr/local/git

编译完成后, 安装到 /usr/local/git 目录下

make install prefix=/usr/local/git

配置环境变量

任务时间:5min ~ 10min

将 git 目录加入 PATH

将原来的 PATH 指向目录修改为现在的目录

echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc

生效环境变量

source /etc/bashrc

此时我们能查看 git 版本号,说明我们已经安装成功了。

git --version

创建 git 账号密码

任务时间:5min ~ 10min

创建 git 账号

为我们刚刚搭建好的 git 创建一个账号

useradd -m gituser

然后为这个账号设置密码

passwd gituser

控制台输入创建密码后,输入您自定义的密码,并二次确认。

初始化 git 仓库并配置用户权限

任务时间:5min ~ 10min

创建 git 仓库并初始化

我们创建 /data/repositories 目录用于存放 git 仓库

mkdir -p /data/repositories

创建好后,初始化这个仓库

cd /data/repositories/ && git init --bare test.git

配置用户权限

给 git 仓库目录设置用户和用户组并设置权限

chown -R gituser:gituser /data/repositories
chmod 755 /data/repositories

查找 git-shell 所在目录 , 编辑 /etc/passwd 文件,将最后一行关于 gituser 的登录 shell 配置改为 git-shell 的目录如下

示例代码:/etc/passwd
gituser:x:500:500::/home/gituser:/usr/local/git/bin/git-shell

如果按照刚才的步骤执行, 这个位置应该是 /usr/local/git/bin/git-shell, 否则请通过 which git-shell 命令查看位置

安全目的, 限制 git 账号的 ssh 连接只能是登录 git-shell

使用搭建好的 Git 服务

克隆 test repo 到本地

cd ~ && git clone gituser@<您的 CVM IP 地址>:/data/repositories/test.git

大功告成

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 zhuanlan_guanli@qq.com 删除。

编辑于

我来说两句

1 条评论
登录 后参与评论

相关文章

来自专栏Laoqi's Linux运维专列

exportfs+NFS客户端问题

一、exportfs配置: 1.1 原理图: 假如要是A上面的NFS服务停掉了,但是B和C还在挂载着A分享的分区,就不可以正常工作了,由于B和C上面的进程是d...

3256
来自专栏服务端技术杂谈

BeeGo web搭建–环境配置

学习一个新框架,对于有较多编程经验的开发人员写代码不是问题,但是往往卡在了环境配置或者第一段Hello World,今天介绍一下Beego web框架的搭建和环...

2705
来自专栏极客慕白的成长之路

利用ELK搭建Docker容器化应用日志中心

1334
来自专栏雨过天晴

原 CentOS(亚马逊EC2,亚马逊班)

1213
来自专栏Web项目聚集地

Linux养成计划(六)

导读: 通过前五篇教程,我们成功的在虚拟机上安装了Linux系统,并且学会了远程登陆与文件传输。还学习了系统的目录结构和Vim编辑器的使用等相关知识,这篇文章将...

702
来自专栏Jaycekon

Java FtpClient 实现文件上传服务

一、Ubuntu 安装 Vsftpd 服务    1、安装     sudo apt-get install vsftpd    2、添加用户(uftp) su...

3405
来自专栏奇梦博客

云服务器只开放子账号ssh登录,获得root权限方法 原创 Linux 面板

1173
来自专栏有趣的Python和你

Django学习(第二天:工欲善其事,必先利其器)Django项目的创建

1244
来自专栏13blog.site

javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites

前言 今天一个朋友让我帮他做一下tomcat的https配置,中间遇到了标题中这个错误,因此记录了一下过程,服务器、域名、证书、tomcat都已经准备好,就是需...

3658
来自专栏企鹅号快讯

python智能合约编程-如何编译pyeos

pyeos的编译和eos类似,只是为了支持python,需要安装一些额外的库和工具,下面来介绍下具体过程。 1. 下载pyeos代码 2. checkout p...

2338

扫描关注云+社区