Has decidido que necesitas empezar a utilizar GitLab para la gestión de tu proyecto, ¿pero no estás seguro de cómo instalar GitLab de manera segura? La instalación de GitLab no solo es un proceso complejo, sino que si no se realiza correctamente, tus datos podrían estar en riesgo. ¡Pero no te preocupes, has llegado al lugar correcto!
En este tutorial, aprenderás todo el proceso de instalación de GitLab de manera segura, para que puedas configurar el cifrado SSL y configurar GitLab para un rendimiento óptimo.
¿Suena interesante? ¡Vamos allá!
Prerrequisitos
Este tutorial será una demostración práctica. Si quieres seguirlo, asegúrate de tener lo siguiente:
- A Linux server with root access – This demo uses Ubuntu 20.04 LTS, but any Linux distribution will work.
- A fully qualified domain name (FQDN) pointing to your server.
- Let’s Encrypt instalado en el servidor.
- Requisitos mínimos: 8 GB de RAM, ancho de banda de 50-100 Mb/s, procesador de 2 GHz y 20 GB de espacio en disco.
Instalación de GitLab Community Edition
Ahora que tienes un FQDN y tu servidor preparado, es el momento de instalar GitLab. Hay varias formas de hacerlo, como usar el paquete Omnibus o compilar desde el origen. Pero este tutorial se centra en instalar GitLab utilizando el repositorio de GitLab de su desarrollador.
GitLab viene en dos distribuciones:
- GitLab Community Edition (CE) – para usuarios que prefieren una versión de GitLab de código abierto y respaldada por la comunidad.
- GitLab Enterprise Edition (EE) – para usuarios que necesitan las características adicionales que proporciona GitLab Enterprise Edition.
Pero esta demostración utiliza la Community Edition para probar la aplicación en tu entorno de desarrollo.
1. Abre tu terminal y ejecuta el comando apt update
a continuación para asegurarte de que tu sistema tenga acceso a todas las últimas actualizaciones de software.
El comando apt update
actualiza los archivos de índice de paquetes utilizados por la utilidad apt
para recuperar información sobre los paquetes disponibles.

2. A continuación, ejecuta el comando apt install
a continuación para descargar (curl
) e instalar
las siguientes dependencias requeridas para la instalación de GitLab:
- Paquete
openssh-server
– Contiene el demonio del servidor OpenSSH y herramientas relacionadas, como la herramienta de gestión de claves de host y el servidor, para proporcionar acceso de inicio de sesión remoto a los usuarios. paquete de ca-certificates
– Contiene una lista de certificados de CA. Este paquete proporciona los archivos necesarios para habilitar el soporte HTTPS en su servidor.

3. Ejecute el comando curl
a continuación para descargar (curl
) el script de instalación desde GitLab ( https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce
). El comando luego guarda el script de instalación como un script de shell (script.deb.sh
) y lo ejecuta como superusuario (sudo bash
).
Una vez que se complete el comando curl
, obtendrá la siguiente salida.

4. Ejecute el comando apt-cache
a continuación para verificar que ha agregado correctamente el repositorio de GitLab.

5. Ahora, vuelva a ejecutar el comando apt update
para actualizar la lista de paquetes disponibles. Este comando asegura que su sistema utilizará el repositorio de GitLab recién agregado cuando instale GitLab.
6. Finalmente, ejecute el comando apt install
a continuación para instalar GitLab (gitlab-ce
) en su sistema.

La instalación llevará un tiempo, pero verá la siguiente salida cuando se complete la instalación. Esta salida confirma que ha instalado GitLab con éxito en su sistema.

Configuración de su instalación de GitLab
Ahora tienes GitLab instalado en tu sistema, pero necesitarás hacer algunos cambios de configuración antes de usar GitLab. El archivo de configuración de GitLab (/etc/gitlab/gitlab.rb) contiene los ajustes globales para GitLab que no son específicos del entorno de tu servidor de GitLab.
Modificarás el archivo de configuración de GitLab para establecer el nombre de dominio FQDN y la conexión segura a tu dominio.
1. Abre el archivo de configuración /etc/gitlab/gitlab.rb en tu editor de texto favorito.
Una de las entradas más importantes en el archivo de configuración de GitLab es la directiva external url, como se muestra a continuación. Esta directiva permite a los usuarios acceder a GitLab a través de un navegador web.
Cambia el valor de la directiva external url de http://gitlab.example.com a https://gitlab.tudominio.com, donde tudominio.com es tu nombre de dominio FQDN.

2. A continuación, ve a la sección de integración de Let’s Encrypt ubicada al final, y configura las directivas de la siguiente manera:
- Descomenta la directiva
letsencrypt['enable']
eliminando el#
precedente y cambia el valor denil
atrue
. Esta directiva indica a GitLab que configure automáticamente HTTPS en tu servidor. - Descomenta la directiva
letsencrypt['contact_emails']
eliminando el#
precedente, y coloca tu dirección de correo electrónico como el valor. Let’s Encrypt usará esta dirección de correo electrónico para contactarte cuando necesites renovar tu certificado SSL (cada 90 días). - Guarda los cambios y sal del editor.

3. Por último, ejecuta el siguiente comando para reconfigurar
y aplicar los cambios en el archivo de configuración de GitLab /etc/gitlab/gitlab.rb a GitLab.

Configuración de tu Firewall para Conexiones SSL
Ahora que has configurado GitLab, necesitarás configurar las reglas de tu firewall para permitir conexiones SSL y seguras a tu servidor. Uncomplicated Firewall (UFW) es el programa predeterminado para gestionar las reglas del firewall en Ubuntu.
Si has colocado tu servidor detrás de un firewall, necesitarás abrir el puerto HTTP 80
y el puerto HTTPS 443
para conexiones SSL.
Ejecuta el siguiente comando para abrir los puertos OpenSSH
, HTTP
y HTTPS
para tu servidor GitLab.

Ahora, ejecuta el siguiente comando para verificar el estado de tu firewall.

Asegurando GitLab a través de la Interfaz Web
Tu firewall está activo, pero ¿significa que tu GitLab está seguro? Nunca está de más añadir capas de seguridad. Así que asegurarás aún más la instalación de GitLab a través de la interfaz web.
1. Abre tu navegador web favorito y navega hasta tu servidor GitLab. Por ejemplo, http://gitlab.ejemplo.com, donde ejemplo.com es el nombre de dominio FQDN.
Elige Chrome o Firefox cuando accedas a tu servidor GitLab para una mejor seguridad. Estos navegadores web utilizan sus propios protocolos HTTP/HTTPS, que ayudan a aplicar políticas de seguridad.
A continuación, puedes ver la página de inicio de sesión de GitLab.

2. A continuación, haz clic en el icono del candado (arriba a la izquierda) junto a la barra de direcciones y verás el estado de tu conexión. Esta demostración muestra que la Conexión es segura, lo que indica que tu conexión con el servidor es a través de HTTPS.

Vuelve a tu terminal y ejecuta el comando cat
a continuación para obtener tu initial_root_password
.
De forma predeterminada, la instalación de GitLab viene con una contraseña de root inicial generada automáticamente.
Copia y guarda tu contraseña de root inicial en un lugar seguro. Utilizarás esta contraseña para iniciar sesión en GitLab (paso cuatro).

4. Vuelve a tu navegador web, escribe root como nombre de usuario e introduce tu contraseña de root inicial como contraseña. Haz clic en Iniciar sesión para iniciar sesión en tu servidor GitLab.

Después de iniciar sesión en tu servidor GitLab, tu navegador se redirigirá al tablero de GitLab, como se muestra a continuación.

Agregar una clave SSH a tu cuenta de GitLab
Además de la interfaz web, también puedes acceder a GitLab a través de un entorno de línea de comandos de forma segura. ¿Cómo? Primero necesitarás agregar una clave SSH a tu cuenta, para que puedas acceder a GitLab ejecutando un comando en tu terminal sin tener que introducir una contraseña.
1. Ejecute el comando ssh-keygen
para generar un par de claves SSH adecuado para usar en conexiones SSH. Cuando se le solicite, presione la tecla Enter para mantener la ubicación de guardado predeterminada para la clave SSH (/root/.ssh/id_rsa) y no agregue una frase de contraseña.

2. Ejecute el comando cat
a continuación para imprimir su clave pública en la pantalla, como se muestra a continuación. Copie la cadena de clave pública completa ssh-rsa y guárdela en un lugar seguro. Agregará esta clave pública a su GitLab más adelante (paso tres).

3. Vuelva al panel de control de GitLab en su navegador para agregar su clave pública con lo siguiente:
- Haga clic en el menú Claves SSH en el panel izquierdo de la página de Configuración de Usuario para acceder a la página de Claves SSH.
- Pegue la clave pública que copió (paso dos) en el campo Clave, como se muestra a continuación.
- Proporcione su nombre preferido para la clave en el campo Título. Pero para esta demostración, el nombre se establece como ATA–GitHub.
- Haga clic en Agregar Clave para finalizar la adición de la clave pública a su cuenta.

Desactivación de Inscripciones Públicas
Para seguridad adicional, puede desactivar las inscripciones públicas en GitLab. ¿Por qué? La función de inscripciones públicas en GitLab permite que cualquier persona cree una cuenta en el servidor de GitLab. Deshabilitar esta función le permite evitar ataques de fuerza bruta en su servidor.
1. Desde el panel de control de GitLab, haz clic en Menú —> Admin para acceder al panel de administración, luego haz clic en Configuración para acceder a la página de configuración General del panel de administración (paso dos).

2. Desactiva la opción Habilitar registro bajo la sección de Restricciones de registro. Al hacerlo, desactivarás la función de registros públicos de GitLab.

3. Desplázate hacia abajo y haz clic en Guardar cambios (abajo) para guardar los cambios que hiciste en la configuración de restricciones de registro.

4. Finalmente, cierra sesión en tu cuenta y navega hasta la pantalla de inicio de sesión de GitLab.
Como puedes ver a continuación, el enlace Registrarse ahora ha desaparecido.

Prueba tu Servidor de GitLab
En este punto, ya has configurado y asegurado tu servidor de GitLab, ¡y eso es genial! Pero, ¿cómo sabes si tu servidor de GitLab está realmente funcionando? Probarás tu servidor creando un proyecto de GitLab a través del panel de control de GitLab y clonando el proyecto en tu servidor.
1. En el panel de control de GitLab, haz clic en el icono de más (+) junto al cuadro de búsqueda, luego haz clic en Nuevo proyecto, como se muestra a continuación, para crear un nuevo proyecto de GitLab.

2. A continuación, proporciona tu Nombre del proyecto preferido, pero para esta demostración, el nombre del proyecto se establece como ATA GitLab, y el Slug del proyecto se establece como (ata–gitlab).
Haz clic en Crear proyecto para crear tu nuevo proyecto.

3. Vuelve a tu terminal y ejecuta los siguientes comandos para configurar tu nombre de usuario global (--global user.name
) y correo electrónico (--global user.email
) para Git. Cada nombre de usuario y correo electrónico son globalmente únicos en todos los cuentas en el servidor GitLab.
4. Ahora, ejecuta el comando git clone
abajo para clonar el proyecto de GitLab de ATA que creaste (paso dos) en tu directorio actual. Reemplaza yourdomain.com
con tu FQDN.
Si todo va bien, verás una salida similar a la siguiente. Cuando la clonación se complete, tendrás un nuevo directorio llamado ATA-GitLab.

5. Finalmente, ejecuta el comando ls
para verificar que el directorio ATA-GitLab existe.
Dado que puedes clonar el nuevo proyecto de GitLab de ATA y que el directorio de GitLab de ATA existe, la salida a continuación confirma que tu servidor GitLab está funcionando correctamente.

Conclusión
En este tutorial, aprendiste cómo realizar una instalación segura de GitLab en tu sistema Ubuntu Linux. Te aseguraste de asegurar tu servidor GitLab a través de la interfaz web, agregar claves SSH a tu cuenta de GitLab y probar si tu servidor GitLab funciona.
Con este nuevo conocimiento, ¿quizás te gustaría aprender cómo configurar sistemas automatizados de Integración Continua (CI) con GitLab?