| 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 |