Instalar un Repositorio Público de Git en un Servidor Debian
Algunos projectos populares que usan Git
- YUI
- Merb
- `DragonFly` BSD
- GPM
- Git
- Linux Kernel
- Perl
- Gnome
- Ruby on Rails
- Android
- Wine
- Fedora
- X.org
- VLC
- Prototype
Instalar git y gitweb en una distribución Debian
gitweb es una interface web para Git que está escrita en Perl, que puede ser usada como un CGI o bajo mod_perl y que nos permite navegar en un repositorio Git.
Se puede obtener git y git web de los repositorios de Debian con aptitude:
$ sudo aptitude install git-core gitweb
Creamos algunos directorios: /var/cache/git (the git repository), /var/www/git contiene a gitweb.cgi:
$ sudo mkdir /var/www/git
$ [ -d "/var/cache/git" ] || sudo mkdir /var/cache/git
En nuestro ejemplo el directorio /var/www esta configurado como el DocumentRoot de Apache; procederemos a configurar Git en el directorio de configuración de Apache:
$ sudo cat vim /etc/apache2/conf.d/git
<Directory /var/www/git>
Allow from all
AllowOverride all
Order allow,deny
Options ExecCGI
<Files gitweb.cgi>
SetHandler cgi-script
</Files>
</Directory>
DirectoryIndex gitweb.cgi
SetEnv GITWEB_CONFIG /etc/gitweb.conf
Mover los archivos gitweb.cgi, logo y css files a /var/www/git:
$ sudo mv /usr/share/gitweb/* /var/www/git
$ sudo mv /usr/lib/cgi-bin/gitweb.cgi /var/www/git
Debemos realizar algunos cambios en /etc/gitweb.conf:
$ sudo vim /etc/gitweb.conf
$projectroot = '/var/cache/git/';
$git_temp = "/tmp";
#$home_link = $my_uri || "/";
$home_text = "indextext.html";
$projects_list = $projectroot;
$stylesheet = "/git/gitweb.css";
$logo = "/git/git-logo.png";
$favicon = "/git/git-favicon.png";
Recargar Apache para que tome la configuración de Git:
$ sudo /etc/init.d/apache2 reload
Ahora inicializamos un repositorio para un proyecto y configuramos el nombre y el correo electrónico:
$ cd /var/cache/git/
$ mkdir project.git
$ cd project.git
$ git init
$ echo "Descripción corta del Proyecto" > .git/description
$ git config --global user.name "Su Nombre"
$ git config --global user.email "nombre@ejemplo.com"
$ git commit -a
Para exportar un repositorio usamos el archivo git-daemon-export-ok:
$ cd /var/cache/git/project.git
$ touch .git/git-daemon-export-ok
Git tiene un mini-servidor para sus repositorios. Éste es pequeño y simple y puede se usado para repositorios compartidos. Arrancamod el demonio de git con nuestro repositorio como directorio base, el cual no debe finalizar con slash(/):
$ git daemon --base-path=/var/cache/git --detach --syslog --export-all
El demonio de Git corre en el puerto 9418 y podemos accesarlo con el siguiente URL git:///location. Ahora podemos hacer una copia del proyecto:
$ git clone git://server/project.git project
Si la copia es satisfactoria entonces tendremos una copia local del proyecto.
Fuente : http://www.howtoforge.com/how-to-install-a-public-git-repository-on-a-debian-server