Git
Chapters ▾ 2nd Edition

4.7 Git на Сервер - GitWeb

GitWeb

Сега кога имате основен пристап за читање / запишување и само за читање за вашиот проект, можеби ќе сакате да поставите едноставен веб-базиран визуелизатор. Git доаѓа со CGI скрипта наречена GitWeb која понекогаш се користи за ова.

The GitWeb web-based user interface.
Figure 46. The GitWeb web-based user interface.

Ако сакате да проверите што изгледа како GitWeb за вашиот проект, Git доаѓа со команда за оган привремено, ако имате лесен веб сервер на вашиот систем како lighttpd или` webrick`. На машините за Линукс, lighttpd често се инсталира, па можеби ќе можете да го стартувате со внесување` git instaweb` во вашиот проектен директориум. Ако работите со Mac, Леопард доаѓа преинсталиран со Ruby, па webrick може да биде вашиот најдобар влог. За да започнете со инсталирање со не-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>

Повторно, GitWeb може да се сервира со CGI или Perl способен веб сервер; ако сакате да користите нешто друго, не треба да биде тешко да се постави. Во овој момент, треба да бидете во можност да ја посетите http: // gitserver / за да ги видите вашите складишта онлајн.