diff options
author | Jeff King <peff@peff.net> | 2013-04-10 23:36:13 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-04-11 07:33:21 -0700 |
commit | 3813a33de5f9e8224eb2bd2ebae167b3bb00ef73 (patch) | |
tree | 2e09bb55b0a69db3e528619a47c6cdffdd2bd52d | |
parent | doc/http-backend: clarify "half-auth" repo configuration (diff) | |
download | tgif-3813a33de5f9e8224eb2bd2ebae167b3bb00ef73.tar.xz |
doc/http-backend: give some lighttpd config examples
The examples in the documentation are all for Apache. Let's
at least cover the basics: an anonymous server, an
authenticated server, and a "half auth" server with
anonymous read and authenticated write.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | Documentation/git-http-backend.txt | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/Documentation/git-http-backend.txt b/Documentation/git-http-backend.txt index f43980ff9c..cad18ceb9d 100644 --- a/Documentation/git-http-backend.txt +++ b/Documentation/git-http-backend.txt @@ -167,6 +167,61 @@ ScriptAliasMatch \ ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/ ---------------------------------------------------------------- +Lighttpd:: + Ensure that `mod_cgi`, `mod_alias, `mod_auth`, `mod_setenv` are + loaded, then set `GIT_PROJECT_ROOT` appropriately and redirect + all requests to the CGI: ++ +---------------------------------------------------------------- +alias.url += ( "/git" => "/usr/lib/git-core/git-http-backend" ) +$HTTP["url"] =~ "^/git" { + cgi.assign = ("" => "") + setenv.add-environment = ( + "GIT_PROJECT_ROOT" => "/var/www/git", + "GIT_HTTP_EXPORT_ALL" => "" + ) +} +---------------------------------------------------------------- ++ +To enable anonymous read access but authenticated write access: ++ +---------------------------------------------------------------- +$HTTP["querystring"] =~ "service=git-receive-pack" { + include "git-auth.conf" +} +$HTTP["url"] =~ "^/git/.*/git-receive-pack$" { + include "git-auth.conf" +} +---------------------------------------------------------------- ++ +where `git-auth.conf` looks something like: ++ +---------------------------------------------------------------- +auth.require = ( + "/" => ( + "method" => "basic", + "realm" => "Git Access", + "require" => "valid-user" + ) +) +# ...and set up auth.backend here +---------------------------------------------------------------- ++ +Note that unlike the similar setup with Apache, we can easily match the +query string for receive-pack, catching the initial request from the +client. This means that the server administrator does not have to worry +about configuring `http.receivepack` for the repositories (the default +value, which enables it only in the case of authentication, is +sufficient). ++ +To require authentication for both reads and writes: ++ +---------------------------------------------------------------- +$HTTP["url"] =~ "^/git/private" { + include "git-auth.conf" +} +---------------------------------------------------------------- + ENVIRONMENT ----------- |