常见3种Git服务器的构建

学习Git不同的服务器形式,具体如下:

- 创建SSH协议服务器

- 创建Git协议服务器

- 创建HTTP协议服务器

方案: Git支持很多服务器协议形式,不同协议的Git服务器,客户端就可以使用不同的形式访问服务器.常见的服务器协议有SSH协议、Git协议、HTTP协议.

拓扑图:

步骤:

一, SSH协议服务器(支持读写操作)

1. 在web1上创建基于密码验证的SSH协议服务器

    [root@web1 ~]# git init --bare /var/git/base_ssh

    Initialized empty Git repository in /var/git/base_ssh/

2. 客户端web2访问

    [root@web2 ~]# git clone root@192.168.2.100:/var/git/base_ssh

    [root@web2 ~]# rm -rf base_ssh

3.客户端web2生成SSH密钥,实现免密码登陆git服务器

   [root@web2 ~]# ssh-keygen -/root/.ssh/id_rsa -N ''

   [root@web2 ~]# ssh-copy-id 192.168.2.100

   [root@web2 ~]# git clone root@192.168.2.100:/var/git

   [root@web2 ~]# git push

二, Git协议服务器(只读操作的服务器)

1. web1上安装git-daemon软件包

    [root@web1 ~]# yum -y install git-daemon

2. web1上创建版本库

    [root@web1 ~]# git init --bare /var/git/base_git

    Initialized empty Git repository in /var/git/base_git/

3. 在web1上修改配置文件,启动git服务

    [root@web1 ~]# vim /usr/lib/systemd/system/git@.service

   修改前:

                ExecStart=-/usr/libexec/git-core/git-daemon --base-path=/var/lib/git

                --export-all --user-path=public_git --syslog --inetd –verbose

    修改后:

               ExecStart=-/usr/libexec/git-core/git-daemon --base-path=/var/git

               --export-all --user-path=public_git --syslog --inetd –verbose

     [root@web1 ~]# systemctl start git.socket

4. 客户端web2访问

    [root@web2 ~]# git clone git://192.168.2.100/base_git

三, HTTP协议服务器(只读操作的服务器)

1. web1上安装gitweb、httpd软件包

    [root@web1 ~]# yum -y install httpd gitweb

2. web1上修改配置文件,设置仓库根目录

    [root@web1 ~]# vim +11 /etc/gitweb.conf

    $projectroot "/var/git";       #添加这一行

3. web1上创建版本仓库

    [root@web1 ~]# git init --bare /var/git/base_http

4. web1启动httpd服务器

    [root@web1 ~]# systemctl start httpd

5. 客户端web2访问

    注意:调用虚拟机中的firefox浏览器,需要在远程时使用ssh -X 服务器IP,并且确保真实主机的firefox已经关闭

    [root@web2 ~]# firefox http://192.168.2.100/git/

结束.

想了解更多关于常见3种Git服务器的构建的内容,请扫微信
或微信搜索jiemingpan

本文链接:http://www.soufuzi.com/jianzhan/2405

(0)
上一篇 2024-08-08 14:32:52
下一篇 2024-08-08 14:32:52

相关推荐

  • laravel和tp有什么区别

    laravel和ThinkPHP的区别 一:渲染模版方式的不同: 1:在Laravel框架里,使用return view()来渲染模版; 2:ThinkPHP里则使用了$this->display()的方式渲染模版; 二: 防跨站攻击方式不同 1:在Laravel框架里,由于其考虑到了跨站请求伪造, 所以如果使用form表单以post方式进行传值时,如果不再form表单中加入{{csr

    2024-07-20 22:46:04
  • 电子口岸IC卡的原始密码是什么

     新办理的ic卡,不管是法人卡还是操作员卡,原始密码都是88888888,.拿到卡后需要更改操作员密码。如果还是登陆不了,可能是密码错误,也可能是你的ic卡已经过期。

    2023-08-31 19:00:26