我有一个 Fossil 项目,想将它托管在我的服务器上。我使用 lighttpd 为其他一些项目提供 git 接口,因此使用 apache 或 nginx 是不可能的。
我遵循了相当简单的指示www-data
并授予cgi 脚本和存储库中的读、写和执行权限。
我的 lighttpd.conf 的相关部分如下所示:
$HTTP["host"] =~ "^fossil-project.my-server.com$" {
server.groupname = "www-data"
server.username = "www-data"
cgi.assign = (
".cgi" => "/usr/bin/fossil"
)
alias.url += (
"/" => "/usr/lib/cgi-bin/fossilweb.cgi"
)
}
在 Web 浏览器中访问我的项目可以确认 cgi 脚本运行良好,因为它从 重定向/
到/index
,这是化石 Web 界面的默认登录页面,但是,它没有显示项目页面(也可以正常工作,通过运行 可以确认fossil ui fossil-project.fossil
),而是显示一个404
!
我猜我在主机配置中遗漏了一些东西,它lighttpd.conf
告诉它/
该子域下的所有 URL 都应该由 lighttpd 处理,fossil
而不是由 lighttpd 处理,但我不知道该怎么做那
有什么指点吗?
答案1
我认为你有两种选择:
使用fossil服务器,然后通过mod_proxy将lighttpd的请求代理到fossil
使用fossil内置的CGIhttp://www.fossil-scm.org/index.html/wiki?name=Cookbook#CGI。
您可能会从 mercurial 和/或 trac 的设置方式中获得一些提示。