Теперь, когда у вас есть основной доступ на чтение и запись и доступ
только на чтение к вашему проекту, вероятно, вы захотите настроить
простой веб-визуализатор. Git поставляется в комплекте с CGI-сценарием,
называющимся GitWeb, который обычно используется для этого. Вы можете
увидеть GitWeb в действии на таких сайтах как http://git.kernel.org (рис. 4-1).

Если вы хотите проверить, как GitWeb будет выглядеть для вашего
проекта, Git поставляется с командой для быстрой установки временного
экземпляра, если в вашей системе есть легковесный веб-сервер, такой как lighttpd или webrick. На машинах с Linux'ом lighttpd часто установлен, поэтому возможно вы сможете его запустить, выполнив git instaweb в каталоге с вашим проектом. Если вы используете Mac, Leopard поставляется с предустановленным Ruby, поэтому webrick может быть лучшим выбором. Чтобы запустить instaweb не с lighttpd, вы можете запустить команду с параметром --httpd.
$ git instaweb --httpd=webrick
[2009-02-21 10:02:21] INFO WEBrick 1.3.1
[2009-02-21 10:02:21] INFO ruby 1.8.6 (2008-03-03) [universal-darwin9.0]
Это запустит сервер HTTPD на порте 1234 и затем запустит веб-браузер,
открытый на этой странице. Это очень просто. Когда вы закончили и
хотите остановить сервер, вы можете запустить ту же команду с параметром
--stop:
$ git instaweb --httpd=webrick --stop
Если вы хотите иметь постоянно работающий веб-интерфейс на сервере
для своей команды или для своего проекта с открытым кодом, вам
необходимо установить CGI-сценарий на своём веб-сервере. В некоторых
дистрибутивах Linux есть пакет gitweb, который можно установить, используя apt или yum,
так что вы можете попробовать сначала этот способ. Мы рассмотрим
установку GitWeb вручную очень быстро. Для начала вам нужно получить
исходный код Git'а, с которым поставляется GitWeb, и сгенерировать
CGI-сценарий под свою систему:
$ git clone git://git.kernel.org/pub/scm/git/git.git
$ cd git/
$ make GITWEB_PROJECTROOT="/opt/git" \
prefix=/usr gitweb
$ sudo cp -Rf gitweb /var/www/
Помните, что вы должны указать команде, где расположены ваши Git-репозитории с помощью переменной GITWEB_PROJECTROOT. Теперь нужно настроить Apache на использование этого сценария, для чего вы можете добавить виртуальный хост:
<VirtualHost *:80>
ServerName gitserver
DocumentRoot /var/www/gitweb
<Directory /var/www/gitweb>
Options ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
AllowOverride All
order allow,deny
Allow from all
AddHandler cgi-script cgi
DirectoryIndex gitweb.cgi
</Directory>
</VirtualHost>
Повторюсь, GitWeb может быть установлен на любой веб-сервер,
совместимый с CGI. Если вы предпочитаете использовать что-то другое,
настройка не должна стать для вас проблемой. К этому моменту вы должны
иметь возможность зайти на http://gitserver/ для просмотра ваших репозиториев онлайн, а также использовать http://git.gitserver для клонирования и извлечения данных для ваших репозиториев по HTTP.