Использование Mercurial hgweb без CGI не работает в IIS 6.0 - PullRequest
0 голосов
/ 19 июля 2011

Я пытаюсь заставить работать Mercurial hgweb с использованием ISAPI по этим двум ссылкам http://blog.jaredreisinger.com и Vampire Basic .Сервер - IIS 6.0 Windows Server 2003.

На той же машине я успешно запустил Mercurial hgweb, используя CGI для TortoiseHG 1.0 в качестве эксперимента год назад, но по некоторым причинам, когда я пытался добавить TortoiseHG 1.9+ проекты веб-сайта репозитория будут повреждены, и похоже, что каталог .hg имел совершенно разные файловые структуры для 1.0 и 1.9+, я думаю, что самый простой способ - это создать новый репозиторий и веб-каталог.

Так что на этот раз после поиска более обновленной информации для настройки Mercurial я решил выбрать маршрут ISAPI вместо CGI, так как он кажется более простым в настройке и должен быть быстрее в работе (хотя для меня это не имеет большого значения),

Но после поэтапного следования обеим статьям я всегда получаю сообщение об ошибке в Chrome: «Системе не удалось найти введенный параметр среды».каждый раз после перезапуска IIS, а затем сообщение будет изменено на «Unspecified error», если я обновлю страницу.

Если я просматриваю эту страницу в IE, появится сообщение об ошибке «Веб-сайт не может отобразить страницу HTTP 500».

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

Для моего hgwebdir_wsgi.py я изменил только эту строку:

# Configuration file location
hgweb_config = r'c:\Inetpub\HgWeb\hgweb.config'

и для моего hgweb.config IЯ использую минимальную конфигурацию

[paths]
/ = I:\CompanyName\Development\SVCProjects\*

Я использую Python 2.6.6, PyWin32 2.16 для Python 2.6, Mercurial 1.9 для Windows для Py2.6 и ISAPI_WSGI для Windows 0.42.

Редактировать:Глядя на журнал IIS, я получил следующие строки:

2011-07-19 03:42:51 W3SVC1 127.0.0.1 GET /hg/hgwebdir.cgi - 443 pstar 127.0.0.1 Mozilla / 5.0+ (Windows + NT + 5.2) + AppleWebKit / 534.30 + (KHTML, + like + Gecko) + Chrome / 12.0.742.122 + Safari / 534.30 500 0 203 333 435

2011-07-19 03:42: 51 W3SVC1 127.0.0.1 GET /favicon.ico - 443 - 127.0.0.1 Mozilla / 5.0 + (Windows + NT + 5.2) + AppleWebKit / 534.30 + (KHTML, + like + Gecko) + Chrome / 12.0.742.122 + Safari /534.30 404 0 2 1830 358

Похоже, IIS все еще пытается использовать hgwebdir.cgi, который я уже удалил, не знаю, как это исправить.

1 Ответ

1 голос
/ 20 июля 2011

Я выясняю причину, используя "python -m win32traceutil" (получено из комментариев исходного кода hgwebdir_wsgi.py).По сути, он не смог загрузить модуль 'hgwebdir_wsgi'.Причина в том, что модуль Mercurial Python 1.9 не был установлен должным образом с помощью установщика win32.Я попробовал метод отсюда другое решение вопроса SO , за исключением того, что я не скопировал MFC71.dll, и это не работает для меня.Наконец я нашел эту ссылку issue2582 и следовал временному решению , загрузив неофициальную сборку установщика win32 Mercurial Python, и она работает

...