Я изо всех сил пытаюсь настроить чистый и рабочий сервер мерзавца с gitweb без virtualhost.
Программное обеспечение
Начальная настройка
Цель
Ресурсы сопровождаются
/etc/apache2/sites-enabled/git.conf
Alias /git /home/user/git
<Directory /home/user/git>
Options All
AllowOverride All
Require all granted
Options +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
SetEnv GITWEB_CONFIG /etc/gitweb.conf
RewriteEngine on
RewriteRule ^([^.]+\.git.*)$ /git/gitweb.cgi/$0 [L,PT]
</Directory>
ScriptAliasMatch \
"(?x)^/(.*/(HEAD | \
info/refs | \
objects/(info/[^/]+ | \
[0-9a-f]{2}/[0-9a-f]{38} | \
pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
git-(upload|receive)-pack))$" \
/usr/lib/git-core/git-http-backend/$1
SetEnv GIT_PROJECT_ROOT /home/user/git
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER
/etc/apache2/conf-enabled/git.conf
<IfModule mod_alias.c>
<IfModule mod_cgi.c>
Define ENABLE_GITWEB
</IfModule>
<IfModule mod_cgid.c>
Define ENABLE_GITWEB
</IfModule>
</IfModule>
<IfDefine ENABLE_GITWEB>
Alias /git /usr/share/gitweb
<Directory /usr/share/gitweb>
Options +FollowSymLinks +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
</Directory>
</IfDefine>
Прямо сейчас http://myserver/git
показывает список repos, но http://myserver/git/repo.git/
"не найден", и gitweb не доступен.
После установки gitweb через apt-get вы должны запустить следующее:
# a2enmod cgi
# service restart apache2
Затем введите http: // your-hostname / gitweb