Instalación de un Servidor Git en CentOS

0
Instalación de un Servidor Git en CentOS

Cuando estamos desarrollando o cuando manejamos grandes cantidades de documentos y necesitamos guardar las ediciones de dichos documentos o código fuente usamos un repositorio de versionamiento, vamos a instalar el popular software Git sobre CentOS 8. Para mayor información sobre este sistema distribuido de control de versión que es gratuito y de código libre se puede visitar su sitio web.

La instalación y configuración de git es muy sencilla, pero se requiere que el lector tenga conocimiento básico en Linux.



Una vez que tenemos disponible el servidor, empezamos:


Consideraciones iniciales

Para una instalación eficiente de git debemos tener en cuenta:


  • Contar con acceso de usuario root: para instalar paquetes, crear usuarios, crear grupos, crear directorios, etc.
  • Estimar dentro de lo posible el espacio que se va a usar y el crecimiento de uso de espacio (dimensioning & capacity planning).
  • Tener una redundancia RAID en los discos si es para producción. Recomiendo RAID-5.
  • Usar discos SSD (solid-state drive), si su repositorio va a generar mucha actividad.
  • Abrir sólo la puerta del firewall necesaria en el servidor 9418 (git://).
  • Si están dentro de una VLAN para uso exclusivo de desarrollo, configurar QoS (Quality of Service) en el Switch para este servidor.
  • Establecer una estrategia de respaldo y recuperación.
  • Instalar los últimos paquetes disponibles del sistema operativo.
  • Si es posible sincronizar el reloj del servidor, NTP (Network Time Protocol).
  • Dirección IP estática y si va a tener acceso desde internet hacer el NAT (Network Address Translation) hacia una IP pública.
  • Nota importante: si estás publicando tu repositorio en internet, debe estar en la DMZ.
  • Si va a usar otros clientes para usar git, asegurarse abrir las puertas 22 (ssh), 80 (http), 443 (https) en el firewall.

Instalación de software

Con usuario root o sudo, ejecutamos:


$ su - 
# dnf -y install git

Comprobar la versión

Una vez que la instalación finalizó comprobamos la versión de git. A esta fecha (27/Dic/2019), la versión disponible es 2.18.1:


# git --version 

Crear grupo de usuarios

Crear un grupo de usuarios para los permisos al repositorio:


# groupadd reposcm 

Creación del usuario administrador

Crear un usuario administrador del repositorio:


# useradd –g reposcm -c "Git Admin" gitadmin
# passwd gitadmin

Crear directorio

El repositorio va a ser creado donde usted lo necesite, si tiene un storage externo debe ser direccionado hacia ese punto. En mi caso lo voy a crear en el directorio /var

# cd /var
# mkdir gitrepo
# chmod g+rwx /var/gitrepo
# chown :reposcm /var/gitrepo
# chown gitadmin /var/gitrepo

Inicializar nuestro repositorio

Configurar nuestro repositorio, nos conectamos con el usuario gitadmin:


$ cd /var/gitrepo 
$ mkdir repositorio.git 
$ cd repositorio.git 
$ git init --bare 
$ git config core.sharedRepository true 
$ git config receive.denyCurrentBranch ignore 

Verificar la Configuración

Aquí ya tenemos configurado nuestro servidor, para revisar la configuración en git, usamos:


$ git config --list 

Creación de un usuario del repositorio

Crear un usuario, tendrá que crear tanto usuarios como acceso quiera otorgar a su repositorio, con usuario root:


# useradd –g reposcm -c "Ing. Juan Leon" juanleon 
# passwd juanleon

Configurar su identidad

Configurar nuestra identidad en el repositorio, puede ser en el mismo servidor para hacer unas pruebas (en mi caso con el usuario juanleon):


$ git config –-global user.name "Juan Leon" 
$ git config –-global user.email juanleon@solucionesleon.com 

El primer commit

Crear un archivo de prueba para nuestro primer commit, logeado con mi usuario juanleon.


$ cd /home/juanleon
$ git clone ssh://juanleon@centos8/var/gitrepo/repositorio.git
$ cd repositorio 
$ touch esta_es_una_prueba.txt 
$ git add . 
$ git commit –m "mi primer commit" 

Finalizar instalación

Tenemos un servidor git propio usando CentOS 8. Ahora podemos acceder a nuestro repositorio desde nuestro IDE (Integrated Development Environment) preferido en mi caso Visual Studio y Eclipse. También puede que este acostumbrado a usar github ... si desea poder navegar en su repositorio desde la web puede instalar gitlab.


Problemas comunes en la instalación de git en CentOS

A continuación una lista con los posibles problemas que pueden aparecer en la instalación de git y cómo solucionarlos:


"No se encuentra el paquete Git": A veces, al intentar instalar git, puede recibir un mensaje que indica que el paquete no se encuentra. Asegúrese de que su sistema esté actualizado y que los repositorios correctos estén habilitados. Ejecute:


sudo yum update -y
sudo yum install git -y

"Permiso denegado" al intentar instalar Git: Si recibe un error de "Permiso denegado" al intentar instalar Git, probablemente no está utilizando una cuenta con permisos suficientes. Ejecute el comando de instalación con `sudo` para obtener privilegios de superusuario:


sudo yum install git -y

"Git command not found" después de la instalación: Después de instalar Git, el sistema indica que el comando `git` no está disponible. Asegúrese de que la instalación se realizó correctamente verificando la versión de Git:


git --version

Si no se encuentra el comando, intente reinstalar git o verifique que su PATH esté configurado correctamente.


Conexión fallida al clonar un repositorio: Puede que reciba un error de conexión fallida al intentar clonar un repositorio desde GitHub o GitLab. Verifique su conexión a Internet y asegúrese de que el servidor remoto esté accesible. También puede ser útil comprobar si hay restricciones de firewall que bloqueen el acceso.


Error "SSL certificate problem" al clonar un repositorio: Este error ocurre cuando Git no puede verificar el certificado SSL del servidor remoto. Puede desactivar temporalmente la verificación SSL (no recomendado para ambientes de producción) o configurar Git para que reconozca el certificado del servidor:


git config --global http.sslVerify false

Error "Permission denied (publickey)" al conectar a un repositorio SSH: Si intenta conectarse a un repositorio utilizando SSH y recibe un error de "permission denied", es probable que su clave SSH no esté configurada correctamente. Asegúrese de que su clave pública SSH esté agregada a su cuenta de GitHub, GitLab, o el servidor que esté utilizando. Puede generar una nueva clave SSH con:


ssh-keygen -t rsa -b 4096 -C "su_email@example.com"

Git se instala en una versión antigua: Si instala Git desde los repositorios predeterminados de CentOS, puede obtener una versión más antigua. Para instalar la versión más reciente de Git, puede compilarla desde la fuente o usar un repositorio más actualizado:


sudo yum remove git
sudo yum install https://repo.ius.io/ius-release-el8.rpm -y
sudo yum install git2u -y

Configuración de Git después de la instalación: Después de instalar git, debe configurarlo para su uso, de lo contrario, podría enfrentar problemas al intentar hacer commits. Configure su nombre de usuario y correo electrónico con los siguientes comandos:


git config --global user.name "su_nombre"
git config --global user.email "su_email@example.com"

Error "Repository not found" al intentar clonar o acceder a un repositorio: Esto sucede cuando el repositorio no existe en la URL proporcionada, o su cuenta no tiene acceso a él. Verifique que la URL del repositorio sea correcta y que tenga los permisos adecuados para acceder a él. Revise también si ha iniciado sesión correctamente en la plataforma de control de versiones.


"Error: Your local changes to the following files would be overwritten by merge" al hacer un pull: Este error ocurre cuando intenta hacer un pull y tiene cambios locales que no se han comprometido (commit o comitiados). Puede comprometer (commit) sus cambios locales, guardarlos temporalmente con `git stash`, o forzar el pull (con precaución):


git stash
git pull

Conclusión

Instalar Git en CentOS 8 es un proceso sencillo y directo que permite a los desarrolladores gestionar versiones de su código de manera eficiente. Siguiendo los pasos descritos en este artículo, desde la instalación del software hasta la configuración de usuarios y repositorios, puede establecer un servidor Git robusto y funcional. Esta guía asegura que pueda empezar a usar Git en tu entorno de desarrollo con facilidad y seguridad.


Tal vez te interesen estas entradas

No hay comentarios