Как заставить gitolite / gitweb работать вместе?
У меня установлены gitweb и gitolite. Я могу настроить репо для доступа к gitweb, и он появляется в файле "projects.list", но репозиторий не указан в браузере gitweb.
Я искал и искал, но не могу найти то, что мне не хватает, чтобы сделать эту работу.
Мой gitweb.conf содержит
$git_temp = "/tmp";
# The directories where your projects are. Must not end with a slash.
$projectroot = "/srv/git/repositories";
$projects_list = "/srv/git/projects.list";
Мой .gitolite.rc содержит
$PROJECTS_LIST = $ENV{HOME} . "/projects.list";
Я проверил, и файл projects.list получает обновления в соответствии с изменениями в конфигурации gitlite после того, как они возвращаются в репозиторий. Поэтому я думаю, что это просто дурак, не видящий список и не действующий по нему, но я не могу понять, почему.
Я просто получаю страницу gitweb с надписью «404 - Проекты не найдены», где должен быть список проектов.
ОБНОВИТЬ:
Я обнаружил, что в моем случае проблема была вызвана неправильной настройкой Apache. Я следовалHttp: //git@boron/testing.git, У меня было следующее в моем VirtualHost:
# Make sure we can execute gitweb okay
<Directory "/srv/http/gitweb">
Options ExecCGI
AllowOverride None
AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
Order allow,deny
Allow from all
</Directory>
Это выполняется gitweb.cgi напрямую, как пользователь httpd и без каких-либо настроек среды. Я заменил этот блок явным вызовом моей оболочки suexec:
# Call GitoWeb cgi via suexec wrapper for relevant URLs
ScriptAliasMatch "^/$" /srv/http/git-suexec/gitweb.cgi.suexec-wrapper
И это решило мою проблему.