Como instalar Git en CentOS sobre un Cloud VPS o Dedicado

Dificultad: Fácil
Tiempo de Lectura: 4 minutos

En el siguiente paso a paso les vamos a dar unos tips y cual seria la manera más simple de instalar nuestro controlador de versiones Git bajo la plataforma de CentOS que tengamos en nuestro Cloud VPS o bien en cualquier Servidor Dedicado.

 

1. Instalación de Git

Los siguientes comandos nos permitirán, primero actualizar nuestros paquetes con el repositorio actual y luego instalar el paquete necesario para administrar nuestro servidor Git.

Comandos a ejecutar. 

yum update
yum install git-core

 

2. Configuración de nuestros repositorios Git

– Primero debemos crear un usuario llamado git este usuario nos va a permitir más adelante conectarnos al servidor desde nuestras maquinas locales vía SSH para subir nuestro código local al repositorio en nuestro servidor. Al ejecutar el comando que tenemos aquí abajo se va a crear una carpeta en /home con nombre git ese viene siendo la ruta por defecto a donde buscara el servidor cuando este usuario se conecte remotamente, esa misma ruta la vamos a utilizar para almacenas nuestros repositorios /home/git/

Comandos a ejecutar. 

adduser git

 

3. Creamos nuestro primer repositorio Git

– Para crear nuestro primer repositorio nos ubicamos en nuestra carpeta /home/git/ y dentro de ella creamos una carpeta con el nombre de nuestro proyecto y que termine en .git por ejemplo infranetworking.git  nos quedaría la carpeta creada /home/git/infranetworking.git/ luego de crearla debemos iniciar el demonio del git dentro de la carpeta con el comando git –bare init y colocar el dueño y grupo de la carpeta sea el usuario git, con esto ya tendremos nuestro primer repositorio listo para empezar a versionar nuestro código.

Comandos a ejecutar. 

cd /home/git
mkdir infranetworking.git
chown -r git.git infranetworking.git
cd infranetworking.git
git --bare init

 

4. Listado de Comandos Basicos para utilizar  Git

git –bare init : inicia el demonio en un repositorio git

git clone [ruta del repositorio] : nos permite clonar un repositorio en la ruta en donde estamos actualmente, no creara una carpeta con el nombre del repositorio sin la extensión  .git 

git add –all : nos permite preparar todos los cambios que hemos hecho en nuestro local para realizar un commit posterior.

git commit -m «Mensaje» :  nos permite crear con  todos los cambios que hicimos una versión de nuestro repositorio entra las comillas colocaremos el mensaje correspondiente a nuestro cambio realizado.

git pull :  nos permite realizar una actualización local de nuestros archivo con los que se encuentran en nuestro repositorio. En otras palabras es traernos los últimos cambios de nuestro repositorio.

git push [origin] [branch] :  nos permite enviar nuestros cambios a nuestro repositorio, este comando espera dos parámetros, el primero es nuestro repositorio origen, por defecto el repositorio origen es origin  y la otra variables es nuestra branch o rama que por defecto es master.

git config –global user.email «tu@correo.com» : nos permite configurar el correo  de nuestro usuario para que quede registrado en cada cambio que hagamos.

git config –global user.name «Tu  nombre» : nos permite configurar el nombre  de nuestro usuario para que quede registrado en cada cambio que hagamos.

 

5. Clonar nuestro Repositorio y realizar un cambio de forma local en el servidor.

– Por ahora solo tenemos acceso local a nuestros repositoriso, así que solo vamos a poder clonar repositorios dentro de nuestro servidor. Para clonar el repositorio en /var/www/ que creamos en el paso 3 hacemos lo siguiente.

Comandos a ejecutar. 

cd /var/www/

Vamos a clonar ahora nuestro repositorio, al estar vació nuestro repositorio nos va a decir que se clono con éxito pero que el repositorio esta vació. No hay  ningún problema con eso.

git clone /home/git/infranetworking.git

Verificamos que creo bien el repositorio

cd infranetworking
ls -la

Nos debe mostrar que no tenemos nada solo la carpeta de configuración de la carpeta.

Ahora vamos a crear nuestro primer archivo

touch README

Lo podemos editar si queremos sino continuamos.

Ahora agregamos nuestro cambio para luego hacer el commit.

git add --all
git commit -m "Primera Versión de nuestro repositorio"

Ya con esto tenemos el cambio solo en nuestro repositorio clonado, ahora debemos enviarlo al repositorio origen.

git push origin master

Con este ultimo comando se envió el cambio al repositorio origen.

 

6. Configurar Git para que acepte cambios desde maquinas remotas

En esta parte vamos a explicar como dar acceso a maquinas vía SSH para poder enviar cambios a nuestros repositorios, la manera de dar acceso SSH con el usuario git es mediante llaves publicas. Debemos tener claro que tenemos dos maquinas para realizar este ejercicio El Servidor y El Cliente vamos a ver que demos hacer de ambos lados para que todo funcione.

– En el Cliente

Debemos saber cual es nuestra clave publica para poder colocarle en El Servidor para que nos pueda dar acceso

Comandos a ejecutar. 

Con este generamos nuestra llave publica, cuando lo ejecutemos  a todo los que nos pida solo basta con darle la tecla enter.

ssh-keygen -t rsa
cd ~/.ssh

Ahora copiamos nuestra clave privada con el resultado que nos de el siguiente comando.

cat  id_rsa.pub

Ahora solo debemos hacer la configuración en el servidor.

– En el Servidor

Debemos crear la carpeta .ssh  en nuestra carpeta del usuario git  en este caso cd /home/git/ luego debemos crear un archivo llamado authorized_keys  si existe la carpeta y el archivo dejarlo como están. Luego cambiar los permisos del archivo para que pueda tomar las conexiones ssh entrates.

Comandos a ejecutar. 

cd /home/git/

Si existe la carpeta .ssh

cd .ssh

Sino exite

mkdir .ssh

Sino existe el archivo authorized_keys

touch authorized_keys

Cambiamos los permisos del archivo

chmod og-rw authorized_keys
chmod a-x authorized_keys

Cambiamos los permisos de la carpeta

cd /home/git
chmod 700 .ssh

Ahora pegamos la llave publica de nuestro cliente en el archivo authorized_keys

nano -w /home/git/.ssh/authorized_keys

Pegamos la llave que nos envio el cliente, para que esto funcione debemos estar pendiente que la llave quede en una sola linea en el archivo authorized_keys, guardamos y salimos.

Ya con eso El Cliente ya tiene acceso SSH a El Servidor  por llaves publicas y sin claves.

 

7. Clonar nuestro Repositorio y realizar un cambio de forma Remota en el servidor.

– Ya que tenemos acceso remoto a nuestros repositoriso, así que vamos a poder clonar repositorios fuera de nuestro servidor. Para clonar el repositorio en /var/www/ que creamos en el paso 3 hacemos lo siguiente.

Comandos a ejecutar. 

cd /var/www/

Vamos a clonar ahora nuestro repositorio, al estar vació nuestro repositorio nos va a decir que se clono con éxito pero que el repositorio esta vació. No hay  ningún problema con eso.

git clone ssh://git@IP:PORT/home/git/infranetworking.git

Verificamos que creo bien el repositorio

cd infranetworking
ls -la

Nos debe mostrar que no tenemos nada solo la carpeta de configuración de la carpeta.

Ahora vamos a crear nuestro primer archivo

touch README

Lo podemos editar si queremos sino continuamos.

Ahora agregamos nuestro cambio para luego hacer el commit.

git add --all
git commit -m "Primera Versión de nuestro repositorio"

Ya con esto tenemos el cambio solo en nuestro repositorio clonado, ahora debemos enviarlo al repositorio origen.

git push origin master

Con este ultimo comando se envió el cambio al repositorio origen y remoto.

Esperamos  comentarios en este tutorial, para seguir con la publicación de algunos temas que nos recomienden o soliciten.

¿Te resultó útil el artículo? Compártelo con tus colegas: