На данный момент борюсь с настройкой lighttpd вместе с ViewVC. Конфигурация была перенесена из Apache 2.2.x, который все еще работает на машине, обслуживая материалы WebDAV / SVN, через прокси.
Теперь проблема, с которой я столкнулся, связана с правилами перезаписи, и я не совсем уверен, что мне здесь не хватает. Вот моя конфигурация (слегка сжатая для краткости):
var.hgwebfcgi = "/var/www/vcs/bin/hgweb.fcgi"
var.viewvcfcgi = "/var/www/vcs/bin/wsgi/viewvc.fcgi"
var.viewvcstatic = "/var/www/vcs/templates/docroot"
var.vcs_errorlog = "/var/log/lighttpd/error.log"
var.vcs_accesslog = "/var/log/lighttpd/access.log"
$HTTP["host"] =~ "domain.tld" {
$SERVER["socket"] == ":443" {
protocol = "https://"
ssl.engine = "enable"
ssl.pemfile = "/etc/lighttpd/ssl/..."
ssl.ca-file = "/etc/lighttpd/ssl/..."
ssl.use-sslv2 = "disable"
setenv.add-environment = ( "HTTPS" => "on" )
url.rewrite-once += ("^/mercurial$" => "/mercurial/" )
url.rewrite-once += ("^/$" => "/viewvc.fcgi" )
alias.url += ( "/viewvc-static" => var.viewvcstatic )
alias.url += ( "/robots.txt" => var.robots )
alias.url += ( "/favicon.ico" => var.favicon )
alias.url += ( "/mercurial" => var.hgwebfcgi )
alias.url += ( "/viewvc.fcgi" => var.viewvcfcgi )
$HTTP["url"] =~ "^/mercurial" {
fastcgi.server += (
".fcgi" => ( (
"bin-path" => var.hgwebfcgi,
"socket" => "/tmp/hgwebdir.sock",
"min-procs" => 1,
"max-procs" => 5
) )
)
} else $HTTP["url"] =~ "^/viewvc\.fcgi" {
fastcgi.server += (
".fcgi" => ( (
"bin-path" => var.viewvcfcgi,
"socket" => "/tmp/viewvc.sock",
"min-procs" => 1,
"max-procs" => 5
) )
)
}
expire.url = ( "/viewvc-static" => "access plus 60 days" )
server.errorlog = var.vcs_errorlog
accesslog.filename = var.vcs_accesslog
}
}
Теперь, когда я получаю доступ к domain.tld
, Я правильно вижу индекс репозиториев. Однако, когда я смотрю на ссылки для каждого соответствующего репозитория (или щелкаю по ним, если на то пошло), он имеет форму https://domain.tld/viewvc.fcgi/reponame
вместо предполагаемого https://domain.tld/reponame
.
Что мне нужно изменить / добавить для этого? Должен ли я как-то «злоупотреблять» механизмом индексного файла? Цель - сохранить /mercurial
псевдоним функциональный.
До сих пор я пытался снова просмотреть книгу lighttpd от Packt, а также документацию по lighttpd, но не нашел ничего, что могло бы соответствовать проблеме.