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:
- Gitlab CE (Community Edition) – autoalojado, gratuito y con soporte del foro de la Comunidad.
- Gitlab EE (Enterprise Edition) – autoalojado, aplicación de pago, viene con características adicionales.
- GitLab.com – SaaS, gratuito.
- 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
- Actualizar el repositorio y actualizar los paquetes
- Instalar las dependencias
- Instalar la Edición Comunitaria de GitLab
- Generar el certificado SSL Letsencrypt y DHPARAM
- Configurar HTTPS para GitLab
- Configurar el cortafuegos UFW de Ubuntu
- Post-Instalación de GitLab
- 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.
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».
Y luego introduce el nombre de dominio del servidor que se utilizará para enviar un correo electrónico.
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
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.
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.
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/*
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.
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.
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.
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’.
Ahora inicia sesión como usuario ‘root’ con tu propia contraseña y haz clic en el botón ‘Iniciar sesión’.
Ahora obtendrás el panel de control de GitLab.
Cambiar el perfil
Haz clic en el botón de perfil y elige «Configuración».
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».
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’.
Ahora vuelve al panel de usuario de GitLab y haz clic en el menú «Clave SSH» de la izquierda.
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».
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.
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».
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.
Ahora abre el proyecto ‘project01’ desde tu navegador web, y verás que el nuevo archivo README.md se ha añadido al repositorio.
La guía de instalación de GitLab en Ubuntu 18.04 se ha completado con éxito.