Álvaro González Sotillo

Mi propio hosting git

En una entrada anterior expliqué cómo utilizo hostings de git gratuitos para distribuir mis materiales de clase.

Ya que instalé un pc en casa para hacer de servidor, he decido aprovecharlo también para tener mis repositorios git.

Hay muchos tutoriales de como conseguir un repositorio git a través de ssh, yo me fijé en uno de systutorials

  1. Crear un usuario dedicado (git), de forma que se puedan restringir sus privilegios sobre el sistema
    • Es recomendable que, en vez de una shell general, utilice git-shell. Así no puede realizar acciones que no estén relacionadas con git.
    • Para mayor seguridad, será un usuario sin contraseña, y sólo se podrá conectar a través de SSH con una clave público-privada.
  2. El usuario git tendrá en su $HOME un directorio por repositorio. No será un repositorio corriente, ya que no interesa tener una copia de trabajo, sino uno del tipo bare.

       sudo usermod -s /usr/bin/git-shell git
       sudo mkdir /home/git/git-shell-commands
       sudo chmod 755 /home/git/git-shell-commands
       sudo chown git /home/git/git-shell-commands
       sudo -u git bash # El usuario git no tiene shell
       cd $HOME
       mkdir repositorio.git
       cd repositorio.git
       git --bare init
    
  3. Desde el ordenador cliente, ya se puede añadir el repositorio remoto. La URL tiene la forma usuario@host:/camino/al/directorio/

       git remote add mihosting git@alvarogonzalez.no-ip.biz:/home/git/repositorio.git
       git push mihosting master
    
  4. El diagrama de mis servicios de ficheros en la nube queda así

/assets/blog/mi-propio-hosting-git/mi-propio-hosting-git.svg