mercurial で wsgi を使うときの設定

まずmod_wsgi入れて

LoadModule wsgi_module modules/mod_wsgi.so

みたいのを書く。

mercurial.confとかいう名前でapache用の設定(とりあえずBasic認証だけ)

Alias /hg /var/www/cgi-hg
<Directory "/var/www/cgi-hg">
  AuthType Basic
  AuthName "hg repo"
  AuthUserFile /ht/passwd/file
  Require valid-user
  DirectoryIndex index.cgi
  AddHandler cgi-script .cgi
  Options ExecCGI
</Directory>

上の場合なら/var/www/cgi-hg/下にindex.cgi作って下記を入力

#!/usr/bin/env python
from mercurial import demandimport
demandimport.enable()

import cgitb
cgitb.enable()

from mercurial.hgweb.hgwebdir_mod import hgwebdir
import mercurial.hgweb.wsgicgi as wsgicgi
applicaiton = hgwebdir('hgweb.config')
wsgicgi.launch(application)

ほいでもってまた/var/www/cgi-hg/下にhgweb.configっつーの作って下記みたいにリポジトリへのパスを書く

[paths]
japan = /hoge/fuga/piyo
foreign = /foo/bar/boo
[web]
style = monoblue

他にもしないといけないことあったかもしれないけど基本こんな感じやろーか。