gitweb安装及lighttpd配置

[| 2011/09/03 18:35]
由于前段时间已经把自己开发的代码都纳入到了git版本库的管理。维护代码顺畅了很多。不过查看diff还是有些麻烦,命令行使用起来很繁琐,win下的客户端又要把代码都check下来才能查看。于是决定在server上搭一个gitweb。

由于有yum,安装软件包简单了很多,直接yum install gitweb即可。

然后开始配置gitweb,修改/etc/gitweb.conf
设置our $projectroot为git库目录
设置$feature{'blame'}{'default'} = [1]; 这样就可以查看每个文件的修改历史了。很不错。

然后下一步需要给gitweb配置一个webserver。在我的server上可选的有nginx和lighttpd。由于最近在搞lighttpd,所以决定用lighttpd来作为gitweb的前段server。

首先在lighttpd中打开cgi模块的支持。
配置lighttpd.conf,给gitweb开个新端口,并配置相应的rewrite规则和验证规则



$SERVER["socket"] == "0.0.0.0:9999" {
auth.debug = 1
auth.backend = "htdigest"
auth.backend.htdigest.userfile = "lighttpd.htdigest"
auth.require = ( "" =>
(
"method" => "digest",
"realm" => "Password",
"require" => "valid-user"
)
)
server.document-root = "/var/www/git"
url.rewrite = ("^/static/(.*)$" => "/static/$1" ,
"^(.*)$" => "/gitweb.cgi$1"
)
}
上述配置规则表明,gitweb可从9999端口访问,lighttpd的mod_auth配置debug级别为1,类型为htdigest,指定密码文件,指定document_root和rewrite规则。

这里的htdigest就不多写了,网上资料很多,就是对密码和其他字段md5加密保存并验证的东西。

rewrite规则要注意,静态文件请求不进行rewrite,对于其他请求,统一rewrite到gitweb.cgi,如果配置错误,可能会在gitweb页面报404错误(找不到项目),让人摸不到头脑。验证方法是:如果web页面看到404找不到项目的错误,可以在server上手动执行gitweb.cgi,如果可以得到结果,可以判断是rewrite参数配置错误。
linux下要想管理启动项,直接修改/etc/rc.*是最直接的方法,但易用性很差,且易出错。使用一些工具就显得比较必要。

chkconfig是比较经典的一个工具,直观,用起来也方便,不过老是在命令行敲敲敲的,腻了。

于是用了一下在控制台下的图形管理工具:ntsysv。有了可视化界面,感觉爽了不少。上下键移动,空格设置选中/非选中状态,tab切换选区。
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]