在CentOS 7中搭建Git服务器

 

 

1)检测系统中git的版本(版本很低)

yum info git

 

2)git最新源码下载地址

https://github.com/git/git/releases
https://www.kernel.org/pub/software/scm/git/

 

3)下载最新的git

wget -P /application/soft/ https://www.kernel.org/pub/software/scm/git/git-2.18.0.tar.gz

4,解压

 tar xzvf git-2.18.0.tar.gz

 

5)指定安装目录

./configure --prefix=/usr/local/git

说明:

   1)没有/usr/local/git目录则自己创建一个;

 

 

6)安装依赖lib

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel -y
yum install  gcc perl-ExtUtils-MakeMaker -y

把上面的合并一处

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker -y

 

 

7)编译安装

在刚刚解压的目录下执行

make && make install

 

8)配置环境变量

#git settings
GIT_HOME=/usr/local/git
export PATH=$JAVA_HOME/bin:$GIT_HOME/bin:$PATH

9)配置生效

source /etc/profile

10)检查git是否安装成功

git --version

11)创建git账户,密码也为git

useradd git
passwd git

 

12)使用git登录并进入git目录

     su - git
     cd ~

 

13)在/home/git目录下创建.ssh目录,并进入

mkdir .ssh && cd .ssh

14)创建一个存储所有登录用户的公钥(id_rsa.pub),一行一个用户

    touch authorized_keys

15)初始化git仓库

    mkdir /var/git && cd /var/git
    git init --bare empty.git
    chown -R git:git empty.git

16)禁用shell

    vi /etc/passwd
    git:x:1000:1000::/home/git:/usr/bin/git-shell

 

 

17)安装windows客户端git,地址https://git-for-windows.github.io/,一路默认安装

    https://github.com/git-for-windows/git/releases/download/v2.14.1.windows.1/Git-2.14.1-64-bit.exe

 

 

 

 

18)打开git bash,直接输出命令生成公钥

    ssh-keygen -t rsa -C "lcj@test.com"

 

$ mkdir /home/git/.ssh
$ chmod 700 /home/git/.ssh
$ touch 700 /home/git/.ssh/authorized_keys
$ chmod 600 /home/git/.ssh/authorized_keys

 

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

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

 

19)将C:\Users\Administrator.ssh\id_rsa.pub文件内容写入到git服务器,用来验证

    cat id_rsa.lcj.pub >> /home/git/.ssh/authorized_keys

 

20)使用idea或gitbash从git服务器上clone项目

    git clone git@ip:/var/git/emtpy.git

 

 

21,设置个人信息

    git config [--global] user.email 'lcj@test.com'
    git config [--global] user.name 'lcj'

 

 

22,一些问题及其解决方法

    加权限
    chown -R git:git .ssh

    修改配置,启用ssh公钥认证
    vi /etc/ssh/sshd_config
    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
    systemctl restart sshd

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值