首页 > 代码库 > 再谈git的http服务

再谈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_ALLScriptAlias /%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服务