Sadly, Mercurial is not in OpenWrt yet;
here is my lighttpd config (/etc/lighttpd.conf
):
server.modules = ( "mod_rewrite", "mod_alias", "mod_auth", "mod_cgi" ) # OpenWrt has troubles with more advanced backends (#2401) server.network-backend = "write" # needed to store data of POST requests (#2224) server.upload-dirs = ( "/tmp" ) static-file.exclude-extensions = ( ".cgi" ) cgi.assign = ( ".cgi" => "/usr/bin/python" ) # where hgwegdir.cgi resides alias.url = ( "/cgi-bin/" => "/data/www-cgi/" ) # I have public and a private repositories url.rewrite += ( "^/hg-priv([/?].*)?$" => "/cgi-bin/hgwebdir_priv.cgi$1" ) url.rewrite += ( "^/hg([/?].*)?$" => "/cgi-bin/hgwebdir.cgi$1" ) # require user/password for private repositories under /data/hg-priv auth.debug = 0 auth.backend = "htdigest" auth.backend.htdigest.userfile = "/data/hg-priv/.htdigest" auth.require = ( "/cgi-bin/hgwebdir_priv.cgi" => ( "method" => "digest", "realm" => "Private Mercurial repositories", "require" => "valid-user")) # only require require user/password for push requests to public # repositories under /data/hg $HTTP["url"] =~ "^/cgi-bin/hgwebdir.py" { $HTTP["querystring"] =~ "cmd=unbundle" { auth.debug = 0 auth.backend = "htdigest" auth.backend.htdigest.userfile = "/data/hg/.htdigest" auth.require = ( "/cgi-bin/hgwebdir.cgi" => ( "method" => "digest", "realm" => "Mercurial repositories", "require" => "valid-user")) } } $SERVER["socket"] == "nslu2:80" { } $SERVER["socket"] == "nslu2:443" { ssl.engine = "enable" ssl.pemfile = "/etc/ssl/server.pem" }
And the hgweb.config
configuration file (in /data/www-cgi/
):
[collections] /data/hg/repos/ = /data/hg/repos/ [web] motd =Repositories maintained by me
baseurl = /hg push_ssl = true
posted at: 21:49 | path: /projects/OpenWrt | permanent link