1. Inicio
  2. Tecnologia
  3. Linux
  4. Instalar Git Público

Instalar un Repositorio Público de Git en un Servidor Debian

Git es un control de versiones distribuido, que fué creado inicialmente por Linus Torvalds para el desarrollo del kernel Linux. Principalmente desarrollado para Linux, puede ser usado en otros sistemas operativos incluyendo BSD, Solaris y Darwin. Git es extremadamente rápido en sistemas basados en POSIX como Linux.

Algunos projectos populares que usan Git

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