1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-05 00:37:55 +01:00
git/Documentation/git-instaweb.txt
Jakub Narebski 78646987e4 git-instaweb: Add support for running gitweb via 'plackup'
PSGI is an interface between Perl web applications and web servers, and
Plack is a Perl module and toolkit that contains PSGI middleware, helpers
and adapters to web servers; see http://plackperl.org

PSGI and Plack are inspired by Python's WSGI and Ruby's Rack (and
probably JavaScript's Jack/JSGI).

Plack core distribution includes HTTP::Server::PSGI, a reference PSGI
standalone web server implementation.  'plackup' is a command line
launcher to run PSGI applications from command line, connecting web
app to a web server via Plack::Runner module.  By default it uses
HTTP::Server::PSGI as a web server.

git-instaweb generates gitweb.psgi wrapper (in $GIT_DIR/gitweb).  This
wrapper uses Plack::App::WrapCGI to compile gitweb.cgi (which is a CGI
script) into a PSGI application using CGI::Compile and CGI::Emulate::PSGI.
git-instaweb then runs this wrapper, using by default HTTP::Server::PSGI
standalone Perl server, via Plack::Runner.

The configuration for 'plackup' is currently embedded in generated
gitweb.psgi wrapper, instead of using httpd.conf ($conf).

To run git-instaweb with '--httpd=plackup', you need to have instaled
Plack core, CGI::Emulate::PSGI, CGI::Compile.  Those modules have to be
available for Perl scripts (which can be done for example by setting
PERL5LIB environment variable).  This is currently not documented.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Acked-by: Petr Baudis <pasky@suse.cz>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-06-02 11:54:06 -07:00

94 lines
2.3 KiB
Text

git-instaweb(1)
===============
NAME
----
git-instaweb - Instantly browse your working repository in gitweb
SYNOPSIS
--------
[verse]
'git instaweb' [--local] [--httpd=<httpd>] [--port=<port>]
[--browser=<browser>]
'git instaweb' [--start] [--stop] [--restart]
DESCRIPTION
-----------
A simple script to set up `gitweb` and a web server for browsing the local
repository.
OPTIONS
-------
-l::
--local::
Only bind the web server to the local IP (127.0.0.1).
-d::
--httpd::
The HTTP daemon command-line that will be executed.
Command-line options may be specified here, and the
configuration file will be added at the end of the command-line.
Currently apache2, lighttpd, mongoose, plackup and webrick are supported.
(Default: lighttpd)
-m::
--module-path::
The module path (only needed if httpd is Apache).
(Default: /usr/lib/apache2/modules)
-p::
--port::
The port number to bind the httpd to. (Default: 1234)
-b::
--browser::
The web browser that should be used to view the gitweb
page. This will be passed to the 'git web--browse' helper
script along with the URL of the gitweb instance. See
linkgit:git-web--browse[1] for more information about this. If
the script fails, the URL will be printed to stdout.
--start::
Start the httpd instance and exit. This does not generate
any of the configuration files for spawning a new instance.
--stop::
Stop the httpd instance and exit. This does not generate
any of the configuration files for spawning a new instance,
nor does it close the browser.
--restart::
Restart the httpd instance and exit. This does not generate
any of the configuration files for spawning a new instance.
CONFIGURATION
-------------
You may specify configuration in your .git/config
-----------------------------------------------------------------------
[instaweb]
local = true
httpd = apache2 -f
port = 4321
browser = konqueror
modulepath = /usr/lib/apache2/modules
-----------------------------------------------------------------------
If the configuration variable 'instaweb.browser' is not set,
'web.browser' will be used instead if it is defined. See
linkgit:git-web--browse[1] for more information about this.
Author
------
Written by Eric Wong <normalperson@yhbt.net>
Documentation
--------------
Documentation by Eric Wong <normalperson@yhbt.net>.
GIT
---
Part of the linkgit:git[1] suite