Smart-http may be an attactive and easy way for people to setup git hosting on shared servers whose primary web server configuration they do not control. To facilite this, provide an example of how it may be done. cc: Shawn O. Pearce <spearce@xxxxxxxxxxx> Signed-off-by: Tarmigan Casebolt <tarmigan+git@xxxxxxxxx> --- Documentation/git-http-backend.txt | 40 ++++++++++++++++++++++++++++++++++- 1 files changed, 38 insertions(+), 2 deletions(-) diff --git a/Documentation/git-http-backend.txt b/Documentation/git-http-backend.txt index 67aec06..0cca5ba 100644 --- a/Documentation/git-http-backend.txt +++ b/Documentation/git-http-backend.txt @@ -60,8 +60,8 @@ automatically by the web server. EXAMPLES -------- -All of the following examples map 'http://$hostname/git/foo/bar.git' -to '/var/www/git/foo/bar.git'. +Unless otherwise noted, the following examples map +'http://$hostname/git/foo/bar.git' to '/var/www/git/foo/bar.git'. Apache 2.x:: Ensure mod_cgi, mod_alias, and mod_env are enabled, set @@ -144,6 +144,42 @@ ScriptAliasMatch \ ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/ ---------------------------------------------------------------- +In the following example, a repository at +'/home/$username/devel/foo/bar.git' will be accessible at +'http://$hostname/\~$username/cgi-bin/git/foo/bar.git' + +From UserDir on Apache 2.x:: + One way to configure 'git-http-backend' to execute and serve + from a user directory (for example, on a shared hosting + provider), is to have a symbolic link that points from the cgi + directory to the 'git-http-backend' executable in libexec. The + advantage of the symblic link is that any updates to the + installed version of 'git-http-backend' also update the version + that is run in the userdir. Depending on the configuration of + the server, the symbolic link may be able to point to a global + installation of git. If, for security reasons, the server is + configured to follow symbolic links only if the owner matches, + an installation of git into the user directory may be required. + In that case, install git as that user into \~/bin, \~/libexec + etc. Then create a symlink named 'git' in the cgi-bin + directory that points to + \~/libexec/git-core/git-http-backend. Put the following in + \~/public_html/cgi-bin/.htaccess: ++ +---------------------------------------------------------------- +SetHandler cgi-script +Options +SymLinksIfOwnerMatch +SetEnv GIT_PROJECT_ROOT /home/$username/devel +---------------------------------------------------------------- ++ +Also add any needed authentication to the .htaccess file as discussed +in earlier examples. ++ +If the web server does not follow any symbolic links, the +'git-http-backend' executable may be copied into the cgi-bin directory +and renamed to 'git' to acheive the same effect, but it will also need +to be manually updated whenever a new version of 'git-http-backend' is +installed. ENVIRONMENT ----------- -- 1.6.6 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html