Blog Tinux Net
Publicado en
Linux Cmds

Creacion de un Servidor Git Interno en Linux

Autor

Instalación de Git

Primero, instala Git en tu sistema openSUSE Tumbleweed. Ejecuta los siguientes comandos como usuario root:
Es posibele que no haga falta instalar el repositorio, si ya se ha configurado previamente el servidor con OpenSUSE.
zypper addrepo https://download.opensuse.org/repositories/devel:tools:scm/openSUSE_Tumbleweed/devel:tools:scm.repo zypper refresh zypper install git

Configuración del servidor

sudo adduser git
su git

Configurar el directorio SSH para el usuario git:

cd
mkdir .ssh && chmod 700 .ssh
touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

Creación de un repositorio

Crea un directorio para almacenar los repositorios:

sudo mkdir /opt/git
sudo chown git:git /opt/git

Crea un repositorio vacío:

cd /opt/git
mkdir proyecto.git
cd proyecto.git
git init --bare

Configuración de acceso SSH

Para permitir que los desarrolladores accedan al repositorio, hay que agregar sus claves públicas SSH al archivo authorized_keys del usuario git:

cat /tmp/id_rsa.desarrollador1.pub >> ~/.ssh/authorized_keys
cat /tmp/id_rsa.desarrollador2.pub >> ~/.ssh/authorized_keys

Restricción de acceso (opcional)

Para mayor seguridad, puedes limitar el acceso del usuario git solo a operaciones de Git: Verificar si git-shell está disponible:

cat /etc/shells

Si no está listado, agrégarlo:

which git-shell
sudo vim /etc/shells

Añadir la ruta completa de git-shell al final del archivo. Cambia el shell del usuario git:

sudo chsh git

Ingresar la ruta de git-shell (generalmente /usr/bin/git-shell). Uso del servidor Los desarrolladores pueden ahora clonar el repositorio usando:

git clone git@tu_servidor:/opt/git/proyecto.git

Y pueden enviar cambios al repositorio:

git push origin master