Como configurar gitolite

www.onlinetis.com
 

Para configurar Gitolite, necesitas tener un servidor Linux y Git instalado. Gitolite es una herramienta de administración de acceso que te permite gestionar el acceso a múltiples repositorios Git desde un único servidor, utilizando claves SSH. 🔐

Aquí te presento una guía paso a paso para la configuración.


1. Requisitos Previos

Asegúrate de que tu servidor tenga lo siguiente:

  • Git instalado: Si no lo tienes, puedes instalarlo con sudo apt-get install git (en sistemas basados en Debian/Ubuntu) o sudo yum install git (en sistemas basados en Red Hat/CentOS).

  • Perl: Gitolite está escrito en Perl, que generalmente ya está instalado en la mayoría de los sistemas Linux.

  • Una cuenta de usuario dedicada: Por seguridad, es mejor crear un usuario específico para Gitolite. No uses la cuenta root.


2. Creación del Usuario Git

Crea un nuevo usuario en tu servidor, que será el usuario que Gitolite usará para gestionar los repositorios.

Bash
sudo adduser git

Establece una contraseña segura para este usuario. Después de crearlo, inicia sesión como este usuario.

Bash
su - git

3. Instalación de Gitolite

Una vez que estás en la cuenta de usuario git, clona el repositorio de Gitolite.

Bash
git clone https://github.com/sitaramc/gitolite.git

Ahora, instala el script de Gitolite en el directorio del usuario git.

Bash
mkdir -p $HOME/bin
gitolite/install -to $HOME/bin

Esto copiará el ejecutable de Gitolite a tu directorio personal bin. Asegúrate de que este directorio esté en tu PATH.


4. Configuración Inicial de Gitolite

El siguiente paso es inicializar Gitolite con la clave SSH de tu máquina cliente, que será la máquina desde la que administrarás los repositorios.

  • Genera la clave SSH en tu máquina cliente: Si no tienes una, créala con el siguiente comando en tu máquina local.

    Bash
    ssh-keygen -t rsa -b 4096 -C "tu_email@ejemplo.com"
    

    Esto generará los archivos id_rsa (clave privada) e id_rsa.pub (clave pública) en el directorio ~/.ssh/.

  • Copia la clave pública al servidor: Necesitas transferir tu clave pública (id_rsa.pub) a la máquina del servidor. Puedes usar scp para esto.

    Bash
    scp ~/.ssh/id_rsa.pub git@servidor_ip:/tmp/admin.pub
    

    Reemplaza servidor_ip con la dirección IP de tu servidor.

  • Inicializa Gitolite con la clave: De nuevo, en el servidor y como usuario git, inicializa Gitolite con la clave que acabas de copiar.

    Bash
    gitolite setup -pk /tmp/admin.pub
    

Este comando hace varias cosas:

  • Crea el repositorio de administración de Gitolite llamado gitolite-admin.

  • Añade tu clave pública como administrador.

  • Establece los permisos necesarios.


5. Administración de Repositorios

A partir de este momento, todo el control de Gitolite se realiza desde tu máquina cliente, modificando el repositorio gitolite-admin.

  • Clona el repositorio de administración: En tu máquina cliente, clona el repositorio que se acaba de crear.

    Bash
    git clone git@servidor_ip:gitolite-admin
    

    Esto creará un directorio llamado gitolite-admin que contiene la configuración.

  • Estructura del repositorio de administración: Dentro de este directorio, encontrarás:

    • conf/: Contiene el archivo de configuración principal, gitolite.conf.

    • keydir/: Contiene las claves públicas de los usuarios, cada una con el nombre usuario.pub.

  • Añadir un nuevo usuario o repositorio:

    1. Añadir un usuario: Copia la clave pública SSH del nuevo usuario (que debe proporcionártela) al directorio keydir/ con el nombre nuevo_usuario.pub.

    2. Modificar gitolite.conf: Abre el archivo conf/gitolite.conf en tu editor de texto y añade la configuración para los repositorios y usuarios. Por ejemplo:

      Fragmento de código
      @developers = alice bob
      
      repo helloworld
          RW+     = @developers
      

      Esto crea un repositorio llamado helloworld y da permisos de lectura/escritura (y reescritura de historial) a los usuarios alice y bob.

  • Aplicar los cambios: Una vez que hayas modificado los archivos, haz un commit y push para que los cambios se apliquen.

    Bash
    git add .
    git commit -m "Added helloworld repo"
    git push
    

    ¡Listo! Ahora el nuevo repositorio helloworld está disponible para los usuarios alice y bob.

Entradas populares de este blog

Ciberseguridad y hacking con Whatweb

Como robar contraseñas haciendo un phishing web

Arsenal software hacking NFC