Configurando o Mercurial em um servidor Debian Wheezy não está funcionando

2

Estou usando o Debian Wheezy e quero configurar um servidor Mercurial.

Veja o que eu fiz:

1. Primeiramente, criei os seguintes diretórios:

/var/www/hg
/var/www/hg/cgi-bin
/var/repo
/var/repo/hg

2. Dentro da pasta /var/www/hg/cgi-bin há 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\
</VirtualHost>

4. Depois disso, adicionei um repositório chamado "default" aqui: /var/repo/hg/default

Pergunta

Então, de acordo com isso, eu deveria ter um.) A interface do usuário mercurial porque "hgweb" é chamado no script e b.) Eu deveria ser capaz de puxar do TortoiseHg. Mas nada disso funciona ainda. Em vez disso, obtenho um erro 404 quando eu chamo o domínio.

Alguma idéia?

Editar:

Esta parece ser a linha que causa o problema:

WSGIScriptAliasMatch ^(.*)$ /var/www/hg/cgi-bin/hgwebdir.wsgi\

Porque quando eu removo o \ , funciona. Realmente não funciona, mas não exibe mais um erro 404. Então, o que posso usar para expressar esse regex corretamente?

    
por bytecode77 13.12.2013 / 17:16

1 resposta

1

Eu descobri depois de tentar URLs diferentes:

Esta linha

WSGIScriptAliasMatch ^(.*)$ /var/www/hg/cgi-bin/hgwebdir.wsgi\

deve ser substituído por esta linha:

WSGIScriptAlias / /var/www/hg/cgi-bin/hgwebdir.wsgi/

E tudo funciona bem:)

    
por 15.12.2013 / 20:01