blob: 7fdf56572bd26f1a5d552976a650c33c528d8076 [file] [log] [blame]
Git for Debian
--------------
When setting up a git.example.org server, there are several things to
configure to make everything work nicely together. All this is optional.
1. Run a git-daemon. This allows people to use a git:// URL to access your
repositories. This package provides the git-daemon program, to enable a
git-daemon service, configure inetd(8) to launch it on demand, or install the
git-daemon-run package to run it permanently:
cat >> /etc/inetd.conf <<EOF
git stream tcp4 nowait nobody /usr/bin/git git daemon --inetd --base-path=/var/lib /var/lib/git
git stream tcp6 nowait nobody /usr/bin/git git daemon --inetd --base-path=/var/lib /var/lib/git
EOF
Or:
apt-get install git-daemon-run
Wait five seconds for the service to be picked up, and check its status and
logs:
sv stat git-daemon
cat /var/log/git-daemon/current
The git daemon by default looks into the directory /var/lib/git/ for
repositories (this is configured in /etc/sv/git-daemon/run). It expects
the repositories' .git subdirectories in /var/lib/git/, symlinks pointing
to the corresponding subdirectories in the repositories are just fine, e.g.:
ln -s ~pape/git/foo/.git /var/lib/git/foo.git
Now git-clone git://git.example.org/git/repo will work.
2. Configure a web server for git. This allows people to use a http:// URL
to access your repositories.
Here's an example for an apache virtual server. Add a stanza to your apache
configuration that looks like this:
<VirtualHost *:80>
ServerName git.example.org
ServerAdmin webmaster@example.org
HeaderName HEADER
# bogus but safe DocumentRoot
DocumentRoot /var/lib/git
ErrorLog /var/log/apache2/git.example.org-error.log
CustomLog /var/log/apache2/git.example.org-access.log combined
Alias /robots.txt /var/www/cvs.robots.txt
Alias /static /usr/share/gitweb/static
Alias /git /var/lib/git
ScriptAlias / /usr/share/gitweb/gitweb.cgi
RedirectMatch permanent "^/~(.*)$" "http://example.org/~$1"
</VirtualHost>
Now git clone http://git.example.org/git/repo will work. And if you
installed the gitweb package, http://git.example.org/ now will display a
list of repositories, making them accessible through a web browser.
-- Gerrit Pape <pape@smarden.org> Fri, 15 Sep 2006 09:19:37 +0000