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

Posted Badwood-涂鸦

tags:

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

  截至目前,对gitweb的掌握还没达到最终目标,仅仅实现了通过浏览器来浏览项目,通过git命令仍然未能clone项目。但仍然要记录下来,主要是因为打算暂时放弃这条路,而所收获的一些经验还是要记录下来。说不定哪天又捡起来了呢。

  首先描述下目标:可以按照项目、人员来分别控制项目的读写权限。方法应该很多,之前通过git-http-backend的hook可以搞定,gitlab也应该可以搞定。根据已有的资料,gitweb也应该可以搞定。思路之一应该是scriptalias,把git命令的申请路由到git-http-backend或gitolite等目录下,而普通的浏览器的申请直接由gitweb实现:

# 对git库的各种请求,执行git-http-backend.cgi
ScriptAliasMatch     "(?x)^/(.*/(HEAD | \
    info/refs |     objects/(info/[^/]+ |      [0-9a-f]{2}/[0-9a-f]{38} |      pack/pack-[0-9a-f]{40}\.(pack|idx)) |     git-(upload|receive)-pack))$" \
    /usr/lib/git-core/git-http-backend/$1
# 其余的请求,执行gitweb.cgi
ScriptAlias / /usr/share/gitweb/gitweb.cgi

  另外的思路不打算仔细看了,回去走hooks的路吧。下面附上一些很好的文章:

使用Smart HTTP和Gitweb搭建简易个人git服务器

git-http-backend(1) Manual Page

git官网关于gitweb的手册

 

以上是关于再谈git的http服务-权限控制gitweb版(未成功)的主要内容,如果未能解决你的问题,请参考以下文章

如何在Windows上安装GitWeb?

再谈git的http服务

Gitweb 安装与配置

ubuntu 16.04 下搭建git服务器(gitosis+git-daemon+gitweb)

git instaweb 500 error

CentOS下配置apache+gitweb