常见3种Git服务器的构建

2025-09-07

学习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 repositoryin/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-f/root/.ssh/id_rsa-N''

[root@web2~]# ssh-copy-id192.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 repositoryin/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/

结束.

标签:

本文地址:https://www.lifejia.cn/news/215861.html

免责声明:本站内容仅用于学习参考,信息和图片素材来源于互联网,如内容侵权与违规,请联系我们进行删除,我们将在三个工作日内处理。联系邮箱:cloudinto#qq.com(把#换成@)