Gitweb

Ahora si, un facil y divertido gitweb para nuestros repositorios en git... en ubuntu karmic koala (9.10) instalarlo es tan sencillo como esto:

sudo apt-get install gitweb

1. Gitweb es un simple cgi escrito en perl (gitweb.cgi) la instalacion lo coloca en /usr/lib/cgi-bin, podemos moverlo si gustamos ... por lo pronto lo dejare ahi.

2. Las imagenes y css los coloca en /var/www/ este es el DocumentRoot de Apache2, asi que recomiendo copiarlas en otro lugar para configurar un VirtualHost digamos que las copiamos a /home/git.miweb.com/docs

3. Tambien genera un archivo de configuracion (gitweb.conf) en /etc/ en el cual podemos algunas variables de las cuales nos interesa por lo pronto modificar solamente una $projectroot en el cual colocaremos el directorio donde tenemos nuestros proyectos, lo mas probable es que dependiendo la version de gitweb deba cambiarse alguna otra en mi caso no fue asi.

4. Para publicar el cgi en web configure un VirtualHost de la siguiente manera:


<VirtualHost *:8081 >
ServerName git.miweb.com
ServerAdmin webmaster@localhost

DocumentRoot "/home/git.miweb.com/docs"
DirectoryIndex index.html
ErrorLog /home/git.miweb.com/logs/error_log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /home/git.miweb.com/logs/access_log combined
ServerSignature on

<Directory>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

Alias /cgi-bin /usr/lib/cgi-bin
<Directory /usr/lib/cgi-bin >
Options ExecCGI FollowSymLinks
AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
</Directory>
</VirtualHost>


Esta configuracion incluye sus propios logs, configura la carpeta para accesar a imagenes,css, js desde raiz con el DocumentRoot y configura cgi-bin para ejecucion de cgis con perl. Si se fijan tambien configuramos DirectoryIndex como index.html, este es un archivo que contiene lo siguiente:


<html>
<head>
<meta equiv="Refresh" content="0; URL=/cgi-bin/">
</head>
<body><h1>Direccionando a gitweb</h1></body></html>


Y esto se comporta asi: cuando accesamos http://git.miweb.com:8081 abrira index.html el cual direccionara a http://git.miweb.com:8081/cgi-bin/ que a su vez direccionara a gitweb.cgi que si se fijan esta definido como DirectoryIndex de cgi-bin y Voilá!! Tenemos funcionando gitweb en nuestro VirtualHost.

2 comentarios:

Injured dijo...

que bien! estoy a medio orgasmo :D jaja usuario linux, yo eh usado opensuse, ubuntu y debian. ahora ando probando la de unos amigos Venenux pasate si quieres es basada en debian pero solo FS saludo. :D (debian no es 100% libre <.<

Pseudemys dijo...

Ke onda!! pues yo solo he usado mandrake (ahora mandriva... jajaja) y luego ya puro ubuntu, en el trabajo uso servers solaris con gentoo ... pues según Richard Stallman en una conferencia que dio aqui en la universidad pues nada es libre, ni ubuntu siquiera... mencionó varias distros extrañas, supongo que Venenux es una de ellas que si son 100% libres Stallman Certified