Настройка Mercurial на сервере Debian Wheezy не совсем работает

1137
bytecode77

Я использую Debian Wheezy и хочу установить сервер Mercurial.

Вот что я сделал:

1. Итак, я сначала создал следующие каталоги:

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

2. Внутри /var/www/hg/cgi-binпапки находятся два файла:

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. Затем я создал запись на сайтах apache2 и перезапустил ее:

<VirtualHost *:80> ServerName hg.********.com DocumentRoot /var/www/hg WSGIScriptAliasMatch ^(.*)$ /var/www/hg/cgi-bin/hgwebdir.wsgi\$1 </VirtualHost> 

4. После этого я добавил сюда хранилище с именем «default»:/var/repo/hg/default

Вопрос

Таким образом, в соответствии с этим, я должен иметь.) Mercurial пользовательский интерфейс, потому что "hgweb" вызывается в скрипте и б.) Я должен быть в состоянии извлечь из TortoiseHg. Но ничего из этого пока не работает. Вместо этого я получаю ошибку 404, когда я вызываю домен.

Есть идеи?

Редактировать:

Похоже, что это линия, которая делает проблему:

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

Потому что, когда я удаляю \$1, это вроде работает. Это на самом деле не работает, но больше не выдает ошибку 404. Итак, что я могу использовать, чтобы правильно выразить это регулярное выражение?

2

1 ответ на вопрос

1
bytecode77

Я понял это после попытки разных URL:

Эта линия

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

следует заменить на эту строку:

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

И все отлично работает :)

Похожие вопросы