Cómo Configurar un VPS y usar Git para el Control de Versiones
Cómo Configurar un VPS y usar Git para el Control de Versiones

Cómo Configurar un VPS y usar Git para el Control de Versiones

Hay muchas razones para elegir un servicio de alojamiento VPS. Una de ellas es que es una gran solución para el control de versiones. Usando Git, puedes mantener fácilmente el seguimiento de tus proyectos y compartir tu código con otras personas. Pero, ¿cómo se configura un VPS? Bueno, la siguiente guía debería ayudarte.

Empezando por Git y Github

Git es un sistema de control de versiones (Version Control System) creado por Linus Torvalds, creador del núcleo de Linux, porque necesitaba un VCS de código abierto y distribuido para el grupo de desarrolladores que trabajaban en el núcleo de Linux.

Git permite gestionar grandes proyectos mediante un sistema de control de versiones distribuido.

GitHub, un servicio de alojamiento de proyectos Git, ha ayudado a extender el concepto de control de versiones más allá del desarrollo de software. Los escritores utilizan Git para colaborar en proyectos que van desde la documentación técnica hasta los libros.

Por ejemplo, Robot Vulnerability Database (RVD) utiliza Git para facilitar la colaboración acerca de vulnerabilidades y errores de robots. Fue creado como un archivo abierto y contribuido por la comunidad de fallas de seguridad de robots, ilustrando así el funcionamiento de Git en pocas palabras.

Cada colaborador hace una copia del repositorio (los archivos del proyecto) en su ordenador local, trabaja en sus respectivas partes del proyecto, primero enviando (committing) adiciones y cambios a su repositorio local (repo para abreviar), empujando (pushing) esos cambios al repo remoto.

Una forma de que alguien con una cuenta de alojamiento VPS comience a aprender Git y a practicar con Git sería crear un repositorio local en su servidor virtual, practicar la confirmación (committing) de los cambios en el repositorio local y confirmar (commit) esos cambios en el repositorio remoto (en este caso Github).

Eligiendo un Servidor VPS

Así que quieres aprender sobre Git, o simplemente estás tratando de averiguar cómo configurar un VPS. Espectacular. Configurar un VPS (servidor privado virtual) puede ser una tarea desalentadora para los que son nuevos en esto. Pero, no te preocupes, puesto que este artículo asume que no tienes experiencia con la línea de comandos.

Empecemos con el servidor.

Recientemente revisamos los mejores proveedores de servidores Cloud, y encontramos que el más popular de todos ellos era Clouding. Clouding.io ofrece servidores configurables para Linux (AlmaLinux, Ubuntu, CentOS y Debian) y Windows, con la opción de facturar por horas los recursos como RAM, CPU y disco SSD NVMe. Puedes comprobarlo tú mismo con ¡5€ de saldo GRATIS al registrarte!

Considerando que has elegido Clouding, los pasos son los siguientes (es similar a cualquier otro proveedor que hayas elegido):

En la sección de Mis Servidores, añadimos uno nuevo y establecemos la configuración necesaria.

Configuración de servidor con Clouding
Configuración de servidor con Clouding

Una vez preparado el servidor, puedes ver alguna información importante a ser utilizada más adelante: (1) información del hardware sistema, (2) IP pública, (3) llaves SSH, (4) acceso root a través de SSH.

Ajustes e información de servidor
Ajustes e información de servidor

Conexión SSH

La configuración de un VPS en Linux comienza con el establecimiento de una conexión con el servidor. Para ello, puedes utilizar diferentes métodos. Pero nosotros recomendamos Secure Shell, o SSH para abreviar, ya que es el más seguro y conveniente: puedes usarlo para subir un archivo y controlar el servidor enviando comandos. Y si tienes un sistema basado en Unix en tu ordenador, puedes conectarte directamente desde la línea de comandos. Para ello, escribe:

ssh root@<IP>
Conectar a SSH desde Linux
Conectar a SSH desde Linux

(En lugar de <IP>, especifica la IP completa del servidor – como ejemplo: 185.0.2.123).

A continuación, una contraseña (que, al igual que la dirección del VPS, es proporcionada por la empresa de alojamiento). (ver sección 4 en la imagen anterior)

Sin embargo, si tienes Windows, es necesario un cliente especial. Podemos recomendar PuTTY y Bitvise por ser sencillos y funcionales. Después de la instalación, se le llevará a una ventana donde tiene que especificar:

  • La dirección IP de su servidor en la columna de nombre de host;
  • Tipo de conexión SSH de una lista de opciones;
  • número de puerto (22 por defecto);
  • tu nombre de sesión preferido para las conexiones.

A continuación, guarda todo y haz clic en “Conectar” – y la conexión a tu VPS se establece. La confirmación de esto aparecerá en la consola, donde deberás introducir tu nombre de usuario (por defecto es root) y tu contraseña.

Configuración de la Seguridad Básica

Hablar de cómo configurar un VPS en Linux no tiene sentido sin algunas reglas simples para mejorar la seguridad de tu servidor contra el acceso no autorizado. Esto incluye cambiar la contraseña de root y el puerto de conexión, así como actualizar el kernel y los paquetes:

  • Cambiar la contraseña. En la línea de comandos, escribe:
passwd

Esto solicitará una nueva contraseña. Para comprobarlo, crea una segunda conexión SSH, asegúrate de que la conexión con la nueva contraseña es correcta y desconecta la conexión innecesaria.

  • Cambiar el puerto. Por defecto está configurado en el 22. Si tu VPS tiene un puerto estándar, debes cambiarlo tú mismo. Para ello, abre el archivo de configuración SSH con el comando:
nano /etc/ssh/sshd_config

Y cambiar el valor de la variable #Port 22, donde en lugar de 22 colocas un nuevo número (lo eliges entre un rango de 1024 y 65536). Después, reinicia el servicio SSH con el siguiente comando: (para Debian/Ubuntu)

Cambiar número de puerto de SSH
Cambiar número de puerto de SSH
service ssh restart

Para estar seguro, utiliza el mismo truco que en el último punto: crea otra sesión SSH con la nueva configuración.

  • Actualizar el servidor. Por lo general, los hosts responsables, como nuestra empresa, mantienen actualizado el núcleo del VPS. Pero no está de más comprobar personalmente este parámetro. Utiliza el comando de upgrade para las actualizaciones:
apt upgrade

Este proceso puede tardar unos minutos, y después de eso el único paso que queda es reiniciar el servidor usando el comando reboot.

Configurar Git

Primero, instalamos Git en nuestro sistema:

Para Ubuntu/Debian:

sudo apt-get install git

En caso tu servidor sea CentOS:

sudo yum install git

Establece tu nombre de usuario y dirección de correo electrónico para git:

git config --global user.name esgeeks
git config --global user.email contact@esgeeks.com

Comprueba tu configuración:

git config --list

El comando git config --list debería devolver la configuración que añadiste en el paso 1.

user.name=esgeeks
user.email=contact@esgeeks.com
Configurar git en el servidor VPS
Configurar git en el servidor VPS

¿Te gusta vim? ¿Eres fan de emacs? ¿nano se adapta a todas tus necesidades? Cualquiera que sea el editor de texto que prefieras, es aconsejable decírselo a Git. Por ejemplo, para establecer el editor nano por defecto:

git config --global core.editor "nano"

Uso de Git

En esta sección, aprenderás los fundamentos del uso de Git para el control de versiones con un proyecto.

  • Crear el directorio del proyecto
mkdir proyecto1
  • Crear algunos archivos para el proyecto

En primer lugar, cambia los directorios al directorio proyecto1.

cd proyecto1

Luego, crea algunos archivos y un directorio.

touch archivo1 archivo2
Uso de git desde la terminal
Uso de git desde la terminal
  • Inicializar git en el directorio del proyecto1
git init

Esto debería devolver lo siguiente:

Initialized empty Git repository in /root/proyecto1/.git/

El repositorio git está vacío porque aún no has añadido ningún archivo para que git rastree los cambios.

  • Añadir archivos al repositorio

Para añadir todos los archivos en el directorio de trabajo actual a este repositorio git:

git add .
  • Realizar tu commit inicial con un mensaje de confirmación

Todas las commits deben tener un mensaje de commit (valga la redundancia). Normalmente, el mensaje de commit describirá qué adiciones o cambios has hecho en el proyecto.

git commit -m "Comentario inicial" -a

Este comando devolverá algo así:

Inicialización de git en consola
Inicialización de git en consola
[master (root-commit) 6cb839e] Comentario inicial
 2 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 archivo1
 create mode 100644 archivo2

Trabajando con un Repositorio Remoto

Utilizarás Github como repositorio remoto. Si no has establecido una cuenta en Github, hazlo antes de continuar. Si estás haciendo cualquier tipo de desarrollo web, querrás una cuenta en Github.

  • Generar una clave SSH para Github:
ssh-keygen -t rsa -b 4096 -C

La primera vez que intentes utilizar la clave SSH que acabas de crear, ssh te pedirá que cree una frase de contraseña. Una frase de contraseña es una frase que sustituye a una contraseña. Las frases de contraseña suelen ser más seguras que una contraseña.

  • Copiar la clave pública en Github

Cambia el directorio a ~/.ssh

cd ~/.ssh

Abre la clave pública con el comando cat.

cat id_rsa.pub

A continuación, copia la clave pública en el portapapeles.

  • Crea una clave en Github
  • Haz clic en tu foto de perfil de la esquina superior derecha
  • Selecciona la configuración o Settings
  • Haz clic en SSH and GPG keys
  • Haz clic en el botón “New SSH key” de la sección SSH keys.
  • Dale un “título” a la clave que te ayude a identificarla.
  • Coloca o pega la clave pública en el campo “key“.
  • Guarda la clave haciendo clic en el botón Add SSH key.
Crear nueva clave SSH en Github
Crear nueva clave SSH en Github

Ya has confirmado los cambios en tu repositorio local. Ahora, commit en el repositorio remoto.

git remote add origin git@github.com:esgeeks/proyecto1.git
git push -u origin master
Repositorio remoto de Github desde VPS
Repositorio remoto de Github desde VPS

Comandos Básicos de Git

Control remoto de un repositorio Github
Control remoto de un repositorio Github

En esta sección, aprenderás los comandos básicos de Git.

  • git init – Utiliza este comando para iniciar un nuevo repositorio git. Ejecuta siempre git init dentro del directorio raíz del proyecto que quieras empezar a seguir con Git.
  • git clone – Usa clone para hacer una copia de un repositorio local o remoto. Por ejemplo, para clonar un repo local llamado “proyecto1”:
git clone proyectos/proyecto1

Para clonar un repo remoto llamado proyecto2 en GitHub:

git clone git@github.com:github_esgeeks:github_esgeeks/proyecto2.git
  • git commit – Utiliza commit para confirmar los cambios en tu repo local.
  • git add – Añade archivos al índice local (área de preparación).

Para añadir todos los archivos y directorios en el directorio de trabajo actual.

git add .

Para añadir un solo archivo al índice.

git add <archivo>
  • git commit – Confirmar los cambios en el repositorio local.

Para añadir un mensaje (práctica recomendada).

git commit -m "Mensaje que describe los cambios"
  • git push origin masterEmpuja los cambios que has hecho al repositorio remoto (por ejemplo, a un repo de Github).
  • git status – El estado de los archivos que has cambiado, incluyendo los archivos que has cambiado, pero, que aún no has confirmado (con commit).
  • git remote add origin – Usa este comando para conectar tu repositorio local a un repositorio remoto.
  • git remote -v – Lista todos los repositorios remotos a los que está conectado tu repositorio local.

Palabras Finales

Este manual de Git te ha introducido en el concepto de control de versiones y te ha mostrado cómo empezar a usar Git.

La forma más efectiva de aprender Git es empezar a usarlo. Un buen paso siguiente sería instalar Git en tu servidor Cloud (si aún no lo has hecho), estableciendo repos remotos para los proyectos. A medida que uses más Git, se convertirá en una segunda naturaleza el seguimiento de todos tus proyectos.

Por otro lado, configurar un servidor privado virtual (VPS) es una gran manera de poner en marcha tu sitio web rápidamente, especialmente si se trata de un proyecto en curso. Cada vez más personas recurren a los VPS para almacenar todos sus proyectos y aplicaciones. Hay muchas opciones disponibles, pero, si buscas un servidor potente, estable y flexible, puedes optar por Clouding.io, al igual que nosotros.

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda