Como instalar un repositorio privado y remoto con git en servidor con ssh + clientes linux

Como instalar un repositorio remoto con git en servidor + clientes linux

instalando_git_servidor en linux

instalando git servidor en linux

La siguiente configuración fue probada en debian lenny como servidor y ubuntu , trisquel 4.5 como maquinas clientes.

Nota1:

Para otras distribuciones de Linux se recomienda adaptar los pasos a las variantes y caracteristicas de la configuración de git especificas de nuestra distribución.

Nota2:

Se entiende que el lector tiene conocimientos básicos de linux y su interacción con con el CLI, conexiones ssh, claves publicas y privadas.

Previo y Configuración del servidor

El Git al ser un sistema manejador de versiones distribuido y no centralizado(como subversión), lo único necesario antes de empezar es: tener git en el servidor y en las máquinas clientes.

Por cuestión de seguridad y facilidad de la administración cuando existen múltiples desarrolladores, lo que se recomienda es crear un usuario git en el S.O. y apuntar sus archivos(que seran capetas de proyectos) a la carpeta de opciones /opt/ y su interprete hacia el interprete proporcionado por git.

adduser #introducimos los datos que nos pide 

Editamos el registro del usuario git el archivo /etc/passwd quedan la configuración algo como:

git:x:1000:1000::/home/git:/usr/bin/git-shellgit:x:1000:1000::/home/git:/usr/bin/git-shell 

Para concluir con la configuración del servidor hay que darle al usuario git permisos para escritura en el directorio /opt/ y debemos también agregar un usuario administrador que sera el que pueda crear nuevos proyectos, al que llamaremos(usuario_admin) .

Agregando nuevo proyecto

Una vez esto, desde alguna máquina cliente creamos una carpeta de nuestro nuevo repositorio:

mkdir miApp
cd miApp git init 

Partiendo del concepto que el git es un sistema distribuido y que la carpea.git en el servidor es en esencia nuestra carpeta .git( con pequeñas diferencias ), nos podemos enviar los archivos de nuestra carpeta .git a nuestro servidor(olvidándonos de cosas como git clone —bare mi_proyecto.git):

scp -rp .git usuario_admin@miDominio.net://opt/mi_proyecto.git 

Ojo: no podremos utilizar el usuario git ya que por seguridad el shell-git desactiva las conexiones ssh p.e.

ssh git@miDominio.net PTY allocation request failed on channel 0 fatal: unrecognized command 'gitosis-serve schacon@quaternion' Connection to gitserver closed. 

agreando brazo origin y finalizando la configuración

Ahora desde la misma máquina cliente podemos añadir el branch origin:

git remote add origin ssh://git@miDominio.net/opt/mi_proyecto.git 

Nota: observe que el brazo se agrego hacia el usuario git.

Listo lo ultimo es probar que todo funcione:

touch README git add README git commit -m "message for change log" git push -u origin master 

Descargando el proyecto.

Los usuarios que tengan el acceso del usuario git podran integrarse al proyecto como:

git clone ssh://git@miDominio.net/opt/mi_proyecto.git 

Y listo!..

Fuentes:

About these ads

Un pensamiento en “Como instalar un repositorio privado y remoto con git en servidor con ssh + clientes linux

  1. Pingback: Nota para el futuro » Instalación Git + GitWeb ( I )

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Conectando a %s