Хостинг Подвижного HG через Сервер VisualSVN

Я попытался разместить Подвижный репозиторий HG с помощью Scriptalias.

ScriptAlias/hg/"htdocs/hgwebdir.cgi"

Если я перехожу к Chrome, он отображает содержание cgi файла. В IE это представляет однако изображения, и ссылки не отображены. В любом случае не показывают репозиторий, который я хочу отобразить.

Кому-либо удалось получить эту работу с VisualSVN? Также это будет работать, если у меня будут аутентификация Windows и https?

5
задан OMG Ponies 23 June 2011 в 04:23
поделиться

3 ответа

Вот альтернативная установка с использованием mod_wsgi (быстро!), Комбинированного каталога репозитория, и вы можете управлять доступом на уровне репозитория Mercurial из графического интерфейса VisualSVN Server.

Загрузите mod_wsgi.so для Apache 2.2 Win32 и поместите в "C: \ Program Files \ VisualSVN Server \ bin".

Скопируйте hgwebdir.wsgi из вашей установки Mercurial (каталог contrib) в "C: \ Program Files \ VisualSVN Server \". Это должно выглядеть примерно так:

import sys
sys.path.insert(0, "C:\Program Files\Mercurial\library")
from mercurial.hgweb.hgwebdir_mod import hgwebdir
application = hgwebdir('hgweb.config')

Создайте файл конфигурации "C: \ Program Files \ VisualSVN Server \ hgweb.config".

[paths]
/ = c:/Repositories/*

Вставьте следующее в "C: \ Program Files \ VisualSVN Server \ conf \ httpd-custom.conf". Вам следует настроить значения Auth * на основе раздела httpd.conf.

LoadModule wsgi_module bin/mod_wsgi.so
WSGIScriptAlias /hg "hgwebdir.wsgi"

<Location /hg/>
    AuthName "Mercurial Repositories"
    AuthType VisualSVN
    AuthzVisualSVNAccessFile "C:/Repositories/authz-windows"
    AuthnVisualSVNBasic on
    AuthnVisualSVNIntegrated off
    AuthnVisualSVNUPN Off

    SVNParentPath "C:/Repositories/"

    require valid-user
</Location>

Создайте репозиторий Mercurial:

hg init C:\Repositories\hgtest

Теперь у вас должна быть возможность получить доступ к / hg через браузер и управлять авторизацией на уровне репозитория с помощью инструмента VisualSVN Server.

6
ответ дан 14 December 2019 в 08:48
поделиться

Вы можете запускать hgwebdir за различными модулями аутентификации и https, при условии, что ваш веб-сервер обрабатывает их до того, как переменная REMOTE_USER будет передана CGI.

Я не знаю visualsvn, но ваш ScriptAlias ​​очень похож на Apache. Вам нужна строка AddHandler для .cgi?

-1
ответ дан 14 December 2019 в 08:48
поделиться

Предполагая, что у вас установлен и работает Python 2.6, вот шаги, которые я предпринял.

Получите "mod_cgi.so", созданный для Apache 2.2 Win32 , и поместите его в "C: \ Program Files \ VisualSVN Server \ bin".

Вставьте следующее в «C: \ Program Files \ VisualSVN Server \ conf \ httpd-custom.conf»

LoadModule cgi_module bin/mod_cgi.so
ScriptAliasMatch ^/hg(.*) "cgi-bin/hgweb.cgi$1"

Создайте каталог cgi-bin, «C: \ Program Files \ VisualSVN Server \ cgi-bin». И поместите в него hgweb.cgi . Убедитесь, что он выглядит примерно так:

#!c:/Python26/python.exe -u

import sys
sys.path.insert(0, "C:\Program Files\Mercurial\library")

import cgitb
cgitb.enable()

from mercurial.hgweb.hgwebdir_mod import hgwebdir
import mercurial.hgweb.wsgicgi as wsgicgi

application = hgwebdir('hgweb.config')
wsgicgi.launch(application)

Создайте файл с именем hgweb.config в каталоге cgi-bin.

[paths]
/ = c:/HgRepositories/*

"C: \ Program Files \ Mercurial \ templates" скопирован в "C: \ Program Files \ Mercurial \ library \ templates".

Создайте папку «C: \ HgRepositories» и «hg init c: \ HgRepositories \ test».

Перезапустите VisualSVN Server, откройте браузер, наслаждайтесь репозиторием Mercurial.

2
ответ дан 14 December 2019 в 08:48
поделиться
Другие вопросы по тегам:

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