Cómo instalar y configurar un servidor Git en Linux

27 feb 2021 3 min di lettura
Cómo instalar y configurar un servidor Git en Linux
Indice dei contenuti

Introducción

Cuando se trata de hosting Git, hay varias opciones disponibles. GitHub, Gitlab y Bitbucket son soluciones populares, pero ejecutar su propio servidor Git es una alternativa que vale la pena considerar.

La configuración de un servidor Git le permite crear repositorios privados sin las restricciones de los planes gratuitos de los proveedores. En esta guía, explicamos cómo configurar un servidor Git básico en Linux. Esta configuración es buena si tienes pocos repositorios y los colaboradores son expertos en tecnología. Si no es así, debería considerar instalar una aplicación de git autohospedada como Gitea, Gogs o Gitlab.

El servidor Git se puede configurar en cualquier máquina Linux remota o incluso en su sistema local.

Configurar el servidor Git

El primer paso es instalar Git en su servidor.

Si está utilizando Debian o Ubuntu, actualice el índice del paquete local e instale git ejecutando los siguientes comandos como usuario sudo:

sudo apt update && sudo apt install git

Para instalar el paquete git en el servidor CentOS, escriba:

sudo yum install git

A continuación, cree un nuevo usuario que gestionará los repositorios de Git:

sudo useradd -r -m -U -d /home/git -s /bin/bash git

El directorio de inicio del usuario está configurado en /home/git. Todos los repositorios se almacenarán en este directorio. No hemos establecido una contraseña para el usuario "git", el acceso solo será posible usando las claves ssh.

Cambie al usuario "git" usando el comando su

sudo su - git

Ejecute los siguientes comandos para crear el directorio SSH y establecer los permisos correctos:

mkdir -p ~/.ssh && chmod 0700 ~/.ssh

Cree un archivo llamado ~/.ssh/authorized_keys que contendrá las claves SSH de los usuarios autorizados:

touch ~/.ssh/authorized_keys && chmod 0600 ~/.ssh/authorized_keys

Eso es todo. La instalación del servidor está completa. Ahora está listo para crear su primer repositorio de Git.

Ejecute el siguiente comando para iniciar un nuevo repositorio vacío:

git init --bare ~/projectname.git

Puede nombrar el directorio como desee. Lo importante es crear el repositorio en el directorio de inicio del usuario de git.

Initialized empty Git repository in /home/git/projectname.git/

Configurar el repositorio local de Git

Para enviar cambios de git locales al servidor de Git, es necesario agregar la clave pública SSH del usuario local al authorized_keys

Si ya tiene un par de claves SSH creado en su sistema local, puede ver la clave pública escribiendo:

cat ~/.ssh/id_rsa.pub

La salida debería verse así:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== [email protected]

No such file or directory, significa que no se ha generado un par de claves SSH en la computadora local.

Para generar un nuevo par de claves SSH, use el siguiente comando:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Copie la salida del cat anterior y vuelva a la consola del servidor Git.

En el servidor, abra el editor de texto y pegue la clave pública que copió de su computadora local en el ~/.ssh/authorized_keys:

vi /home/git/.ssh/authorized_keys

El texto completo de la clave pública debe estar en una línea.

Supongamos que el paquete Git ya está instalado en su computadora local. Si no es así, instálelo como se explica en las secciones anteriores.

Si tiene un proyecto existente sin verificar, vaya al directorio del proyecto. Si está comenzando desde cero, cree el directorio del proyecto y navegue hasta él:

cd /path/to/local/project

Inicializa un repositorio de git:

git init.

El último paso es agregar git remote al repositorio local:

git remote add origin git@git_server_ip:projectname.git

No olvide reemplazar git_server_ip con el nombre de host o la dirección IP del servidor Git.

Para verificar que todo esté configurado correctamente, cree un archivo de prueba:

touch test_file

Agregue los cambios al área de preparación:

git add.

Confirmar cambios:

git commit -m "descriptive message"

Envíe los cambios al repositorio local en un repositorio remoto:

git push -u origin master

Si todo está configurado correctamente, la salida debería verse así:

Counting objects: 3, done.
 Writing objects: 100% (3/3), 218 bytes | 218.00 KiB/s, done.
 Total 3 (delta 0), reused 0 (delta 0)
 To git_server_ip:projectname.git
 * [new branch] master -> master
 Branch 'master' set up to track remote branch 'master' from 'origin'.

Para agregar un nuevo colaborador, simplemente copie su clave SSH pública en el ~/.ssh/authorized_keys usuario "git".

Puede seguir los mismos pasos para crear nuevos repositorios. Es importante tener en cuenta que el repositorio remoto debe existir antes de agregar git remote al repositorio local.

Conclusión

En este tutorial, le mostramos cómo configurar su servidor Git privado y crear repositorios.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.