¿Cómo hacer que gitolite / gitweb trabajen juntos?
Tengo instalado gitweb y gitolite. Puedo configurar un repositorio para acceso a gitweb y aparece en el archivo "projects.list", pero el repositorio no aparece en la lista de gitweb en el navegador.
He estado buscando y buscando pero no puedo encontrar lo que me falta para que esto funcione.
Mi gitweb.conf contiene
$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";
Mi .gitolite.rc contiene
$PROJECTS_LIST = $ENV{HOME} . "/projects.list";
Lo he comprobado y el archivo projects.list recibe actualizaciones según los cambios en la configuración de gitlite una vez que se devuelve al repositorio. Así que creo que es solo gitweb no ver la lista y actuar en consecuencia, pero no puedo entender por qué.
Acabo de obtener la página de gitweb con "404 - No se encontraron proyectos" donde debería estar la lista de proyectos.
ACTUALIZAR
Encontré que en mi caso el problema fue causado por una configuración incorrecta de Apache. Había seguido ahttp: //git@boron/testing.gi. Tenía lo siguiente en mi 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>
Esto ejecutó gitweb.cgi directamente, como el usuario httpd y sin ninguna configuración de entorno. Reemplacé este bloque con una llamada explícita a mi contenedor suexec:
# Call GitoWeb cgi via suexec wrapper for relevant URLs
ScriptAliasMatch "^/$" /srv/http/git-suexec/gitweb.cgi.suexec-wrapper
Y eso solucionó mi problema.