воскресенье, 12 декабря 2010 г.

Маленькая заметка о настройке Apache+mod_wsgi+Mercurial в Ubuntu

Собственно, большого количества подробностей не будет, так как это я, в основном, для себя пишу, чтоб не забыть, как это делается.

У меня есть: mercurial, apache2, Ubuntu 10.10, нужно установить libapache2-mod-wsgi.
В конфиге апача (где-то в имеющемся виртуальном хосте, или в отдельном) дописать:
WSGIScriptAliasMatch ^/dirname(.*)$ /path/to/hgweb.cgi$1
Там, соответственно, можно всякие штуки с авторизацией делать, с доступом через https и так далее - всё срадствами апача.

Содержимое hgweb.cgi:
#!/usr/bin/env python
#
# An example hgweb CGI script, edit as necessary
# See also http://mercurial.selenic.com/wiki/PublishingRepositories
# Path to repo or hgweb config to serve (see 'hg help hgweb')
config = "/path/to/hgweb.conf"
# Uncomment and adjust if Mercurial is not installed system-wide:
#import sys; sys.path.insert(0, "/path/to/python/lib")
# Uncomment to send python tracebacks to the browser if an error occurs:
import cgitb; cgitb.enable()
import os
os.environ["HGENCODING"] = "UTF-8"
from mercurial import demandimport; demandimport.enable()
from mercurial.hgweb import hgweb, wsgicgi
application = hgweb(config)
# эту строчку я закомментировал, а то с ней апач выдавал ошибку 500 wsgicgi.launch(application)

Содержимое hgweb.conf:
[paths]
mytestproject = /path/to/repository

Содержимое /path/to/repository/.hg/hgrc:
[web]
allow_push = *
push_ssl = false
contact = reposotory-contact
description = repository-desc

Комментариев нет:

Отправка комментария

Ублюдочный Гугл поломал форму комментариев. Извините.