Настройка сервера Mercurial в Windows с помощью apache и hgweb.wsgi

Мой первый пост здесь и ищу советы. Уже пару дней я пытаюсь запустить сервер Mercurial на своей работе. Но я терплю неудачу с теми же ошибками. По независящим от меня причинам доступ к нему должен осуществляться через Apache.

В настоящее время у меня есть:

  • Windows Server 2008 R2
  • Apache 2.2
  • Python 2.7
  • Mercurial 2.7.2
  • Локальный репозиторий для тестирования (в C:\Repositories \ repo1)
  • mod_wsgi

Мои hgweb.config и hgweb.wsgi находятся в C:\Repositories и вместе с httpd.conf выглядят так:

hgweb.config

[paths]
/ = C:/Repositories/*

[web]
style = coal
push_ssl = false

hgweb.wsgi

config = "C:\Repositories\hgweb.config"
#import sys; sys.path.insert(0, "C:\Program Files (x86)\Mercurial")
import sys; sys.path.insert(0, "C:\Python27\Lib\site-packages\mercurial")
from mercurial import demandimport; demandimport.enable()
from mercurial.hgweb import hgweb
application = hgweb(config)

httpd.conf

<VirtualHost *>
    ServerName hg.example.net
    ServerAdmin me@myplace.com
    DocumentRoot "C:/Repositories"
    LogLevel debug
    ErrorLog C:/Repositories/error_log
    CustomLog C:/Repositories/access_log common
    LogLevel debug

    WSGIScriptAlias  /hg  "C:/Repositories/hgweb.wsgi"
    #WSGIScriptAlias  /  "C:/Repositories/Hello World.wsgi"

    <Directory C:/Repositories>
        Order allow,deny
        Allow from all      
        AllowOverride All
        AddHandler wsgi-script .wsgi
    </Directory>
</VirtualHost>

Простой Hello World.wsgi отлично работает, что говорит о том, что Apache, Python и mod_wsgi прекрасно играют вместе. Но всякий раз, когда я использую hgweb.wsgi, я получаю внутреннюю ошибку сервера... свяжитесь со мной@myplace.com... Что, хотя и не работает, подразумевает, что он хотя бы читает и использует ServerAdmin в httpd.conf

В файле error.log говорится, что hgweb.wsgi не может быть загружен как модуль Python (вывод ниже без даты, ip и т. Д.):

mod_wsgi (pid=4764): Target WSGI script 'C:/Repositories/hgweb.wsgi' cannot be loaded as Python module.
mod_wsgi (pid=4764): Exception occurred processing WSGI script 'C:/Repositories/hgweb.wsgi'.
Traceback (most recent call last):
  File "C:/Repositories/hgweb.wsgi", line 19, in <module>
    application = hgweb(config)
  File "C:\\Python27\\lib\\site-packages\\mercurial\\hgweb\\__init__.py", line 26, in hgweb
    return hgwebdir_mod.hgwebdir(config, baseui=baseui)
  File "C:\\Python27\\lib\\site-packages\\mercurial\\hgweb\\hgwebdir_mod.py", line 89, in __init__
    self.refresh()
  File "C:\\Python27\\lib\\site-packages\\mercurial\\hgweb\\hgwebdir_mod.py", line 98, in refresh
    u = ui.ui()
  File "C:\\Python27\\lib\\site-packages\\mercurial\\ui.py", line 45, in __init__
    for f in scmutil.rcpath():
  File "C:\\Python27\\lib\\site-packages\\mercurial\\demandimport.py", line 86, in __getattribute__
    self._load()
  File "C:\\Python27\\lib\\site-packages\\mercurial\\demandimport.py", line 58, in _load
    mod = _origimport(head, globals, locals)
  File "C:\\Python27\\lib\\site-packages\\mercurial\\scmutil.py", line 274, in <module>
    class vfs(abstractvfs):
  File "C:\\Python27\\lib\\site-packages\\mercurial\\scmutil.py", line 302, in vfs
    @util.propertycache
  File "C:\\Python27\\lib\\site-packages\\mercurial\\demandimport.py", line 86, in __getattribute__
    self._load()
  File "C:\\Python27\\lib\\site-packages\\mercurial\\demandimport.py", line 58, in _load
    mod = _origimport(head, globals, locals)
  File "C:\\Python27\\lib\\site-packages\\mercurial\\util.py", line 27, in <module>
    cachestat = platform.cachestat
  File "C:\\Python27\\lib\\site-packages\\mercurial\\demandimport.py", line 86, in __getattribute__
    self._load()
  File "C:\\Python27\\lib\\site-packages\\mercurial\\demandimport.py", line 58, in _load
    mod = _origimport(head, globals, locals)
  File "C:\\Python27\\lib\\site-packages\\mercurial\\windows.py", line 36, in <module>
    posixfile.__doc__ = osutil.posixfile.__doc__
  File "C:\\Python27\\lib\\site-packages\\mercurial\\demandimport.py", line 86, in __getattribute__
    self._load()
  File "C:\\Python27\\lib\\site-packages\\mercurial\\demandimport.py", line 58, in _load
    mod = _origimport(head, globals, locals)
ImportError: DLL load failed: %1 is not a valid Win32 application.

Любая помощь или идеи будут приветствоваться.

Заранее спасибо.

0 ответов

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