Тепер, коли у вас є базовий доступ до вашого проекту з правом читання та з правами на читання та запис, можливо ви бажаєте налаштувати простий візуалізатор через веб. Git поставляє CGI скрипт GitWeb, який іноді для цього використовують.
Якщо ви бажаєте подивитись, як виглядає 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
або dnf
, отже можливо варто спочатку спробувати ці команди.
Ми дуже швидко розглянемо встановлення GitWeb вручну.
Спочатку треба отримати програмний код Git, в якому є і код GitWeb, та згенерувати власний CGI скрипт:
$ git clone git://git.kernel.org/pub/scm/git/git.git
$ cd git/
$ make GITWEB_PROJECTROOT="/srv/git" prefix=/usr gitweb
SUBDIR gitweb
SUBDIR ../
make[2]: `GIT-VERSION-FILE' is up to date.
GEN gitweb.cgi
GEN static/gitweb.js
$ sudo cp -Rf gitweb /var/www/
Зауважте, що ви маєте вказати цій команді, де розташовані ваші сховища Git за допомогою змінної змінної GITWEB_PROJECTROOT
.
Тепер вам треба щоб Apache використовувати CGI для цього скрипту, що можна зробити за допомогою VirtualHost:
<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>
Як і попередній CGI скрипт, GitWeb може працювати на будь-якому здатному на CGI або Perl веб сервері. Якщо ви хочете використовувати щось інше, налаштування має бути легким.
Тепер ви можете зайти до http://gitserver/
та побачити ваші сховища.