再谈git的http服务

Posted Badwood-涂鸦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了再谈git的http服务相关的知识,希望对你有一定的参考价值。

  因为git服务器搬迁,需要重新安装git服务器,在网搜索了下,发现之前的方法太复杂,复杂到自己都没彻底弄明白。其实通过git自带的git-http-backend脚本配合apache2的http服务可以更简单的做到。原文请参见:

搭建Git Http服务器git-http-backend

  主要做法就是配置apache,启用git-http-backend脚本、指明git仓库所在路径、启用用户密码验证。几个步骤如下:

一、准备步骤:

1、找到git安装目录:操作系统是他人安装,git的安装路径只需要先弄清楚。centos的7查找软件安装目录命令如下,路径是/usr/libexec/git-core/git-http-backend:

rpm -ql git | grep git-http-backend

2、找到apache2的配置文件:同样的,系统是别人装的,apache2使用的名字是httpd(不叫apache2),相应的路径在/etc/httpd,包括服务名都是httpd。配置文件可以放在/etc/httpd/conf.d/下,取名为git.conf。不习惯。

3、生成用户鉴权文件,保持原来的不变,文件名git.passwd。使用htpasswd命令生成。

二、apache配置:

  新建git.conf,内容如下,其中%repo%是git仓库的根目录,可放多个项目。暂时未发现如何能够修改/var/www为别的。

SetEnv GIT_PROJECT_ROOT /var/www/%repo%
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /%repo%/ /usr/libexec/git-core/git-http-backend/

<Location /%repo%/>
    AuthType Basic  
    AuthName "Git Access"  
    AuthUserFile /etc/httpd/conf.d/git.passwd
    Require valid-user  
</Location>

三、验证:

1、httpd服务启停

2、生成服务器的test项目

3、客户端验证脚本

以上是关于再谈git的http服务的主要内容,如果未能解决你的问题,请参考以下文章

再谈git的http服务-权限控制gitweb版(未成功)

再谈 Go Http 服务的优雅重启

再谈EF Core内存数据库单元测试问题

再谈git和github-深入理解

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程