Eu estou usando o Debian Wheezy e quero configurar um servidor Mercurial.
Aqui está o que eu fiz:
1. Então, eu criei os seguintes diretórios:
/var/www/hg
/var/www/hg/cgi-bin
/var/repo
/var/repo/hg
2. Dentro /var/www/hg/cgi-bin
pasta são dois arquivos:
2.1. hgweb.config:
[web]
style = coal
allow_push = *
push_ssl = false
[paths]
/=/var/repo/hg/**
2.2. hgwebdir.wsgi:
config = "/var/www/hg/cgi-bin/hgweb.config"
import cgitb; cgitb.enable();
from mercurial import demandimport
from mercurial.hgweb import hgweb
application = hgweb(config)
3. Então criei uma entrada nos sites do apache2 e reiniciei:
<VirtualHost *:80>
ServerName hg.********.com
DocumentRoot /var/www/hg
WSGIScriptAliasMatch ^(.*)$ /var/www/hg/cgi-bin/hgwebdir.wsgi\$1
</VirtualHost>
4. Depois disso, adicionei um repositório chamado "default" aqui:/var/repo/hg/default
Questão
Então, de acordo com isso, eu deveria ter um.) A interface do usuário mercurial porque "hgweb" é chamado no script eb.) Eu deveria ser capaz de puxar do TortoiseHg. Mas nada disso funciona ainda. Em vez disso, recebo um erro 404 quando eu chamo o domínio.
Alguma ideia?
Editar:
Esta parece ser a linha que faz o problema:
WSGIScriptAliasMatch ^(.*)$ /var/www/hg/cgi-bin/hgwebdir.wsgi\$1
Porque quando eu removo \$1
, funciona. Realmente não funciona, mas não exibe mais um erro 404. Então, o que posso usar para expressar esse regex corretamente?
fonte