diff options
Diffstat (limited to 'gitweb/README')
-rw-r--r-- | gitweb/README | 104 |
1 files changed, 46 insertions, 58 deletions
diff --git a/gitweb/README b/gitweb/README index e02e90f042..471dcfb691 100644 --- a/gitweb/README +++ b/gitweb/README @@ -1,82 +1,70 @@ GIT web Interface ================= -The one working on: - http://www.kernel.org/git/ - From the git version 1.4.0 gitweb is bundled with git. -How to configure gitweb for your local system ---------------------------------------------- - -You can specify the following configuration variables when building GIT: - * GITWEB_SITENAME - Shown in the title of all generated pages, defaults to the servers name. - * GITWEB_PROJECTROOT - The root directory for all projects shown by gitweb. - * GITWEB_LIST - points to a directory to scan for projects (defaults to project root) - or to a file for explicit listing of projects. - * GITWEB_HOMETEXT - points to an .html file which is included on the gitweb project - overview page. - * GITWEB_CSS - Points to the location where you put gitweb.css on your web server. - * GITWEB_LOGO - Points to the location where you put git-logo.png on your web server. - * GITWEB_CONFIG - This file will be loaded using 'require' and can be used to override any - of the options above as well as some other options - see the top of - 'gitweb.cgi' for their full list and description. If the environment - $GITWEB_CONFIG is set when gitweb.cgi is executed the file in the - environment variable will be loaded instead of the file - specified when gitweb.cgi was created. +Build time gitweb configuration +------------------------------- +There are many configuration variables which affect building gitweb (among +others creating gitweb.cgi out of gitweb.perl by replacing placeholders such +as `++GIT_BINDIR++` by their build-time values). + +Building and installing gitweb is described in gitweb's INSTALL file +(in 'gitweb/INSTALL'). Runtime gitweb configuration ---------------------------- +Gitweb obtains configuration data from the following sources in the +following order: -You can adjust gitweb behaviour using the file specified in `GITWEB_CONFIG` -(defaults to 'gitweb_config.perl' in the same directory as the CGI). -See the top of 'gitweb.cgi' for the list of variables and some description. -The most notable thing that is not configurable at compile time are the -optional features, stored in the '%features' variable. You can find further -description on how to reconfigure the default features setting in your -`GITWEB_CONFIG` or per-project in `project.git/config` inside 'gitweb.cgi'. +1. built-in values (some set during build stage), +2. common system-wide configuration file (`GITWEB_CONFIG_COMMON`, + defaults to '/etc/gitweb-common.conf'), +3. either per-instance configuration file (`GITWEB_CONFIG`, defaults to + 'gitweb_config.perl' in the same directory as the installed gitweb), + or if it does not exists then system-wide configuration file + (`GITWEB_CONFIG_SYSTEM`, defaults to '/etc/gitweb.conf'). +Values obtained in later configuration files override values obtained earlier +in above sequence. -Webserver configuration ------------------------ +You can read defaults in system-wide GITWEB_CONFIG_SYSTEM from GITWEB_CONFIG +by adding -If you want to have one URL for both gitweb and your http:// -repositories, you can configure apache like this: + read_config_file($GITWEB_CONFIG_SYSTEM); -<VirtualHost www:80> - ServerName git.domain.org - DocumentRoot /pub/git - RewriteEngine on - RewriteRule ^/(.*\.git/(?!/?(info|objects|refs)).*)?$ /cgi-bin/gitweb.cgi%{REQUEST_URI} [L,PT] - SetEnv GITWEB_CONFIG /etc/gitweb.conf -</VirtualHost> +at very beginning of per-instance GITWEB_CONFIG file. In this case +settings in said per-instance file will override settings from +system-wide configuration file. Note that read_config_file checks +itself that the $GITWEB_CONFIG_SYSTEM file exists. + +The most notable thing that is not configurable at compile time are the +optional features, stored in the '%features' variable. -The above configuration expects your public repositories to live under -/pub/git and will serve them as http://git.domain.org/dir-under-pub-git, -both as cloneable GIT URL and as browseable gitweb interface. -If you then start your git-daemon with --base-path=/pub/git --export-all -then you can even use the git:// URL with exactly the same path. +Ultimate description on how to reconfigure the default features setting +in your `GITWEB_CONFIG` or per-project in `project.git/config` can be found +as comments inside 'gitweb.cgi'. -Setting the environment variable GITWEB_CONFIG will tell gitweb to use -the named file (i.e. in this example /etc/gitweb.conf) as a -configuration for gitweb. Perl variables defined in here will -override the defaults given at the head of the gitweb.perl (or -gitweb.cgi). Look at the comments in that file for information on -which variables and what they mean. +See also gitweb.conf(5) manpage. +Web server configuration +------------------------ +Gitweb can be run as CGI script, as legacy mod_perl application (using +ModPerl::Registry), and as FastCGI script. You can find some simple examples +in "Example web server configuration" section in INSTALL file for gitweb (in +gitweb/INSTALL). + +See "Webserver configuration" and "Advanced web server setup" sections in +gitweb(1) manpage. + + +AUTHORS +------- Originally written by: Kay Sievers <kay.sievers@vrfy.org> Any comment/question/concern to: Git mailing list <git@vger.kernel.org> - |