Настройка веб-интерфейса Mercurial на чуть-чуть речи

Недавно я пытался настроить мой веб-хост для использования в ртутных репозиториях, а также для hgweb. Для хостинга я использую чуть ли не FreeSpeech.net (NFSN).

По умолчанию NFSN имеет CGI-область freebsd72 и ограничивает вас только CGI, без WGSI или подобными. Изначально в NFSN был установлен Mercurial 1.6, но, следуя этим инструкциям, я смог получить установку Mercurial 2.6. Python 2.6.6 также установлен по умолчанию на хосте, и я оставил это как есть.

Моя проблема сейчас заключается в том, что я не могу загрузить файл hgweb.cgi в свой браузер. Когда я запускаю его через SSH на моем хосте, он работает нормально и выводит HTML, но в моем браузере я получаю 500 внутренних ошибок сервера. Файл является исполняемым и CGI включен. Я не уверен, что еще нужно проверить... У кого-нибудь есть какие-либо советы или опыт использования hg и hgweb в NFSN?

Как указано в комментарии, я проверил созданные журналы ошибок и обнаружил, что при посещении сайта я получаю...

[Sun Jun 16 08:22:31 2013] [error] [client 172.17.0.141] CGI ERROR: A system problem prevented your request from being completed.
[Sun Jun 16 08:22:31 2013] [error] [client 172.17.0.141] Premature end of script headers: hgweb.cgi

Немного поиска этой ошибки приводит к тому, что сценарий может не генерировать правильные заголовки при запуске. Если я сохраню вывод сценария в файл, я получу следующее...

Status: 200 Script output follows
Content-Type: text/html; charset=US-ASCII

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />

<title>Mercurial repositories index</title>
</head>
<body>

<div class="container">
<div class="menu">
<a href="http://mercurial.selenic.com/">
<img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
</div>
<div class="main">
<h2>Mercurial Repositories</h2>

<table class="bigtable">
    <tr>
        <th><a href="?sort=name">Name</a></th>
        <th><a href="?sort=description">Description</a></th>
        <th><a href="?sort=contact">Contact</a></th>
        <th><a href="?sort=lastchange">Last modified</a></th>
        <th>&nbsp;</th>
    </tr>

</table>
</div>
</div>

</body>
</html>

1 ответ

Решение

Мне удалось обнаружить, что для сценария hgweb.cgi действительно необходимо установить права доступа 755, для его выполнения было недостаточно.

Другие вопросы по тегам