Cómo instalar y configurar GitLab en Ubuntu 18.04 LTS

GitLab es un gestor de repositorios GIT de código abierto basado en Rails y desarrollado por GitLab Inc. Es un gestor de repositorios GIT basado en la web que permite a tu equipo trabajar en el código, realizar peticiones de características, seguir los errores y probar e implementar aplicaciones. GitLab ofrece funciones como un wiki, seguimiento de incidencias, revisiones de código, fuentes de actividad y gestión de fusiones. Es capaz de albergar múltiples proyectos.

GitLab está disponible en cuatro ediciones:

  1. Gitlab CE (Community Edition) – autoalojado, gratuito y con soporte del foro de la Comunidad.
  2. Gitlab EE (Enterprise Edition) – autoalojado, aplicación de pago, viene con características adicionales.
  3. GitLab.com – SaaS, gratuito.
  4. GitLab.io – Instancia privada de GitLab gestionada por GitLab Inc.

En este tutorial, te mostraré paso a paso cómo instalar GitLab CE (Community Edition) en tu propio servidor Ubuntu 18.04 LTS (Bionic Beaver). Utilizaré el paquete «omnibus» proporcionado por GitLab para facilitar la instalación.

Requisitos previos

  • Servidor Ubuntu 18.04
  • Memoria RAM mínima de 4GB – para un mejor rendimiento, utiliza 8GB
  • Privilegios de root

Qué vamos a hacer

  1. Actualizar el repositorio y actualizar los paquetes
  2. Instalar las dependencias
  3. Instalar la Edición Comunitaria de GitLab
  4. Generar el certificado SSL Letsencrypt y DHPARAM
  5. Configurar HTTPS para GitLab
  6. Configurar el cortafuegos UFW de Ubuntu
  7. Post-Instalación de GitLab
  8. Prueba de

Paso 1 – Actualizar el repositorio y actualizar los paquetes

Antes de instalar cualquier paquete en el sistema, actualiza todos los repositorios disponibles y luego actualiza todos los paquetes del sistema.

Ejecuta los siguientes comandos apt.

sudo apt update
sudo apt upgrade -y

Espera a que se actualicen los paquetes de la instalación.

Instalar las actualizaciones de Ubuntu

Paso 2 – Instalar las dependencias de Gitlab

GitLab necesita algunas dependencias de paquetes para la instalación, incluyendo curl, postfix y ca-certificados.

Instala las dependencias de los paquetes de GitLab utilizando el comando apt que aparece a continuación.

sudo apt install curl openssh-server ca-certificates postfix -y

Durante la instalación de postfix, se te preguntará por la configuración, selecciona «Sitio de Internet».

Configurar Postfix

Y luego introduce el nombre de dominio del servidor que se utilizará para enviar un correo electrónico.

Introduce el nombre del dominio

Y ya estamos listos para instalar GitLab en el servidor.

Paso 3 – Instalar GitLab

En este paso, instalaremos GitLab utilizando los paquetes omnibus. El Omnibus instalará todos los paquetes, servicios y herramientas necesarios para ejecutar GitLab en el servidor.

Añade el repositorio de GitLab con el comando curl.

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Descargar el script de instalación de gitlab

Y luego instala GitLab CE Community Edition con el comando apt.

sudo apt install gitlab-ce -y

El comando descargará e instalará el paquete de GitLab CE, y cuando la instalación se haya completado, verás los resultados que se muestran a continuación.

Se inicia la rutina de instalación de Gitlab CE

A continuación, debemos configurar la URL que se utilizará para acceder a nuestro servidor de GitLab. Utilizaremos un dominio llamado ‘git.hakase-labs.pw’ para la URL de acceso a GitLab y habilitaremos el HTTPS en él.

Para cambiar la URL de acceso a GitLab, edita el archivo ‘/etc/gitlab/gitlab.rb’.

sudo vim /etc/gitlab/gitlab.rb

Ahora cambia el valor ‘external_url’ con tu propio nombre de dominio.

external_url 'http://git.hakase-labs.pw'

Guarda y sal.

Paso 4 – Generar el certificado SSL Let’s encrypt y el certificado DHPARAM

En este paso, generaremos un nuevo certificado Letsencrypt y un certificado DHPARAM para el nombre de dominio de GitLab ‘git.hakase-labs.pw’.

Instala la herramienta lets encrypt con el comando apt que aparece a continuación.

sudo apt install letsencrypt -y

Y una vez completada la instalación, ejecuta el comando letsencrypt que aparece a continuación.

sudo letsencrypt certonly --standalone --agree-tos --no-eff-email --agree-tos --email [email protected] -d git.hakase-labs.pw

Y cuando se complete, obtendrás el resultado que se muestra a continuación.

Obtener el certificado SSL de lets encrypt

Se han generado los certificados SSL Letsencrypt, ubicados en el directorio ‘/etc/letsencyrpt/’.

A continuación, vamos a generar el certificado DHPARAM utilizando el comando OpenSSL.

Crea un nuevo directorio ‘/etc/gitlab/ssl’ y ejecuta el siguiente comando OpenSSL.

sudo mkdir -p /etc/gitlab/ssl/
sudo openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048

Ahora cambia el permiso del directorio SSL.

chmod 600 /etc/gitlab/ssl/*

Obtener el archivo DHPARAM

Y todos los certificados necesarios para la configuración de GitLab HTTPS han sido generados.

Paso 5 – Configurar HTTPS para GitLab

Para habilitar el HTTPS para la instalación de GitLab, necesitamos editar el archivo ‘gitlab.rb’.

Edita el archivo ‘/etc/gitlab/gitlab.rb’ utilizando el comando vim que aparece a continuación.

sudo vim /etc/gitlab/gitlab.rb

Cambia la ‘external_url’ de Gitlab por la ‘https://git.hakase-labs.pw’.

external_url 'https://git.hakase-labs.pw'

Ahora pega la configuración de abajo en la sección ‘#GitLab Nginx’.

nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/git.hakase-labs.pw/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/git.hakase-labs.pw/privkey.pem"
nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"

Guarda y sal.

Configurar SSL en Gitlab

Ahora ejecuta el comando ‘gitlab-ctl’ de abajo.

sudo gitlab-ctl reconfigure

Este comando instalará y configurará GitLab basándose en el archivo de configuración ‘/etc/gitlab/gitlab.rb’.

Y cuando se complete, verás el resultado que se muestra a continuación.

Reinicia los servicios

La instalación de GitLab se ha completado, y se ha habilitado el HTTPS para GitLab.

Paso 6 – Configurar el cortafuegos UFW de Ubuntu

En este paso, habilitaremos el cortafuegos UFW de Ubuntu. Ya está instalado en el sistema, sólo tenemos que iniciar el servicio. Ejecutaremos GitLab detrás del cortafuegos de Ubuntu UFW, por lo que debemos abrir los puertos HTTP y HTTPS.

Añade los servicios ssh, http y https a la configuración.

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https

Y habilita el cortafuegos de Ubuntu UFW con el siguiente comando.

sudo ufw enable

Escribe «y» en «sí» para habilitarlo.

Ahora comprueba todos los servicios y puertos de la lista.

sudo ufw status

Y tendrás los servicios ssh, http y https en la lista.

Configura el cortafuegos

Paso 7 – Post-Instalación de GitLab

Abre el navegador web y escribe la URL de gitlab ‘git.hakase-labs.pw’, y serás redirigido a la conexión HTTPS.

Crea una nueva contraseña de root de GitLab

Escribe tu nueva contraseña para el usuario root de GitLab, y haz clic en el botón ‘Cambiar tu contraseña’.

Establecer la contraseña de root de Gitlab

Ahora inicia sesión como usuario ‘root’ con tu propia contraseña y haz clic en el botón ‘Iniciar sesión’.

Inicia sesión como root

Ahora obtendrás el panel de control de GitLab.

Panel de control de Gitlab

Cambiar el perfil

Haz clic en el botón de perfil y elige «Configuración».

Cambiar la configuración del perfil de usuario

En la sección «Configuración principal», escribe el nombre del perfil «hakase» y luego haz clic en la opción «actualizar la configuración del perfil».

Cambiar el nombre de usuario

Haz clic en la pestaña «Cuenta» y escribe el nombre de usuario «hakase».

Cambiar el nombre de usuario

Ahora pulsa el botón «Actualizar nombre de usuario».

Añadir clave SSH

Genera una nueva clave utilizando el comando ssh-keygen como se indica a continuación.

ssh-keygen
cat ~/.ssh/id_rsa.pub

Copia la clave ‘id_rsa.pub’.

Añadir una clave SSH

Ahora vuelve al panel de usuario de GitLab y haz clic en el menú «Clave SSH» de la izquierda.

Añadir clave SSH en Gitlab

Pega la clave pública ssh ‘id_rsa.pub’ y haz clic en el botón ‘Añadir clave’.

Restricciones de registro

Haz clic en el botón «Área de administración» en el centro, y luego haz clic en «Configuración».

Configurar las restricciones de inscripción

Desmarca la opción «Registro habilitado» y haz clic en el botón «Guardar cambios».

Límite de la cuenta

Haz clic en la sección «Cuenta y límite» y establece el límite de proyectos por defecto en 20.

Establece los límites de la cuenta

Y haz clic en el botón «Guardar cambios».

Paso 8 – Probando Gitlab

Por último, haremos algunas pruebas para asegurarnos de que nuestro sistema GitLab funciona correctamente.

Crea un nuevo proyecto

Haz clic en el icono del signo más en la parte superior del medio para crear un nuevo repositorio de proyectos. Escribe el nombre de tu proyecto, la descripción y establece la configuración de visibilidad de tu proyecto. Luego haz clic en el botón «Crear proyecto».

Crear proyecto

El nuevo proyecto ha sido creado.

Prueba del primer commit y push

Ahora vamos a empezar a añadir nuevo contenido al repositorio. Asegúrate de que Git está instalado en tu ordenador, y tenemos que configurar el nombre de usuario global y el correo electrónico para git con el siguiente comando.

git config --global user.name "hakase"
git config --global user.email "[email protected]"

Clona el repositorio y añade un archivo README.md.

git clone https://git.hakase-labs.pw/hakase/project01.git
cd project01/
vim README.md

Se te pedirá la contraseña del usuario ‘hakase’. Escribe la misma contraseña que utilizaste cuando accedimos a GitLab la primera vez.

Consigna un nuevo archivo en el repositorio ‘project01’.

git add .
git commit -m 'Add README.md file by hakase-labs'

A continuación, empuja el cambio al repositorio en el servidor de GitLab.

git push origin master

Introduce tu contraseña y pulsa Enter para continuar. Verás el resultado como se indica a continuación.

Confirmación de prueba Git

Ahora abre el proyecto ‘project01’ desde tu navegador web, y verás que el nuevo archivo README.md se ha añadido al repositorio.

Proyecto de prueba en Gitlab

La guía de instalación de GitLab en Ubuntu 18.04 se ha completado con éxito.

Referencia

También te podría gustar...