CentOS7下搭建Git服务器

安装git

(以下命令如果报错,请尝试在前面加sudo)

  1. 我买的是阿里云的学生机,轻量级云服务器,用CentOS7系统,一般用yum install -y git 但是yum的仓库最高版本的git是1.8。x,目前我这个年代的版本是2.19.2,查看git最新的网址:https://github.com/git/git/releases,最好不要下载-rc版的
  2.             如果有安装git  移除命令———>
    # yum remove git

     

  3. 安装依赖库
1# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
2

 # yum install gcc perl-ExtUtils-MakeMaker 

     4. 参照了网上的做法,我进入了/usr/local目录下新建git目录,   

     1

     2

# mkdir git

# cd git

     5. 下载最新的源代码包

1# sudo wget https://github.com/git/git/archive/v2.19.2.tar.gz

     6. 解压到当前目录

1

# tar -xzvf v2.19.2.tar.gz

     7.安装git,编译时间较长,可以慢慢等待

1

2

3

# cd git-2.19.2

# make prefix=/usr/local/git all

# make prefix=/usr/local/git install

     8. 添加到环境变量

1#vim /etc/profile

 

     在将光标移动到末尾,按a编辑 添加 :  export PATH="/usr/local/git/bin:$PATH"    这行在最末尾,这个git路径按照         自己的一开始建的路径填。

     填完之后,用命令 source /etc/profile   配置立即生效

          9. 将git设置为默认路径,克隆时避免报错 

1

 

2

# ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack 

 

 # ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack 

          至此,CentOS 就安装上了最新版本的 Git。

正式创建git服务器

  1. 创建用户和用户名:
    # groupadd git
    # useradd git -g git
    # passwd git  #参数是用户名
  2. 最好切换到git用户 不然后面新建的git仓库都要改权限。
    # su - git

     

    3. (可选) 出于安全执行 3 的步骤

       禁止git用户登录:

       修改/etc/passwd文件,修改

# 找到这句:
git:x:503:503::/home/git:/bin/bash

# 改为:
git:x:503:503::/home/git:/bin/git-shell

   4. 创建证书登录(不需要sudo)

 

  1. # mkdir /home/git/.ssh
  2. # chmod 700 /home/git/.ssh
  3. # touch 700 /home/git/.ssh/authorized_keys
  4. # chmod 600 /home/git/.ssh/authorized_keys

  5. 

在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开,

# sudo vi /etc/ssh/sshd_config

即:

1.RSAAuthentication yes

2.PubkeyAuthentication yes

3.AuthorizedKeysFile .ssh/authorized_keys

这里我们可以看到公钥存放在.ssh/authorized_keys文件中。

所以我们在/home/git下创建.ssh目录,然后创建authorized_keys文件,并将刚生成的公钥导入进去。

然后再次clone的时候,或者是之后push的时候,就不需要再输入密码了

如果是采用的sudo方式来创建git和相应的文件的,需要设置/home/git/.ssh/的owner为git,否则还是每次要输入密码的。

# owner改为git
$ sudo chown -R git:git /home/git/.ssh/

 

6. 附:如何创建私钥:
# 创建私钥,文件位于用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件
$ ssh-keygen -t rsa -C "youremail@example.com"

 

 7.初始化git仓库

  1. # cd /srv
  2. # mkdir gitrepo
  3. # chown git:git gitrepo/
  4. # cd gitrepo

    #       创建一个空的Git仓库,服务器上的Git仓库通常都以.git结尾
  5. # git init --bare project.git
     
  6. #      将仓库所属用户改为git
  7. # chown -R git:git project.git

  8. 克隆仓库

  在开发机上,(跳过开发机的git安装),在空白文件夹下使用以下命令:

  1. #  git clone git@10.123.123.123:/srv/gitrepo/project.git

参考博文:

https://blog.csdn.net/martinwangjun/article/details/78780885 搭建知识

https://my.oschina.net/u/2343829/blog/644663  验证和项目的推拉

https://blog.csdn.net/permanent_2008/article/details/73839315 搭建和解决问题的博客

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值