GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar Gitlab de forma segura (un tutorial)

¿Ha decidido que necesita comenzar a usar GitLab para la gestión de su proyecto, pero no está seguro de cómo instalar GitLab de forma segura? La instalación de GitLab no solo es un proceso complejo, sino que, si no se hace correctamente, sus datos podrían estar en riesgo. Pero no te preocupes, ¡has venido al lugar correcto!

¿No eres un lector? ¡Mira este video tutorial relacionado! ¿No ve el video? Asegúrate de que tu bloqueador de anuncios esté deshabilitado.

En este tutorial, aprenderá todo el proceso de instalación segura de GitLab, para que pueda configurar el cifrado SSL y configurar GitLab para un rendimiento óptimo.

¿Suena interesante? ¡Salta directamente!

Requisitos

Este tutorial será una demostración práctica. Si desea seguirnos, asegúrese de tener lo siguiente:

  • Un servidor Linux con acceso raíz:esta demostración usa Ubuntu 20.04 LTS, pero cualquier distribución de Linux funcionará.
  • Un nombre de dominio completo (FQDN) que apunta a su servidor.
  • 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.

Instalando GitLab Community Edition

Ahora que tiene un FQDN y su servidor está preparado, es hora de instalar GitLab. Hay varias formas de instalar GitLab, como usar el paquete Omnibus o compilar desde la fuente. Pero este tutorial se enfoca en instalar GitLab usando el repositorio de GitLab de su desarrollador.

GitLab viene en dos distribuciones:

  • Edición de la comunidad de GitLab (CE) – para usuarios que prefieren una versión de GitLab de código abierto y compatible con la comunidad.
  • Edición GitLab Enterprise (EE) – para usuarios que necesitan las funciones adicionales que proporciona GitLab Enterprise Edition.

Pero esta demostración usa Community Edition para probar la aplicación en su entorno de desarrollador.

1. Abre tu terminal y ejecuta el apt update Comando a continuación para asegurarse de que su sistema tenga acceso a todas las últimas actualizaciones de software.

El apt update El comando actualiza los archivos de índice del paquete utilizados por el apt utilidad para recuperar información sobre los paquetes disponibles.

sudo apt update -y

2. A continuación, ejecute el apt install comando a continuación para descargar (curl ) y install las siguientes dependencias requeridas para su instalación de GitLab:

  • openssh-server paquete:contiene el demonio del servidor OpenSSH y las herramientas relacionadas, como la herramienta de administración de claves de host y el servidor, para proporcionar acceso de inicio de sesión remoto a los usuarios.
  • ca-certificates paquete:contiene una lista de certificados de CA. Este paquete proporciona los archivos necesarios para habilitar la compatibilidad con HTTPS en su servidor.
sudo apt install curl openssh-server ca-certificates -y

3. Ejecute el curl comando a continuación para descargar (curl ) el script de instalación de GitLab ( https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce ). Luego, el comando guarda el script de instalación como un script de shell (script.deb.sh ) y lo ejecuta como superusuario (sudo bash ).

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

Una vez que el curl completa el comando, obtendrá el siguiente resultado.

4. Ejecute el apt-cache Comando a continuación para verificar que ha agregado el repositorio de GitLab con éxito.

apt-cache policy docker-ce

5. Ahora, vuelve a ejecutar el apt update comando para actualizar la lista de paquetes disponibles. Este comando garantiza que su sistema utilizará el repositorio de GitLab recién agregado cuando instale GitLab.

sudo apt update -y

6. Finalmente, ejecuta el apt install comando a continuación para instalar GitLab (gitlab-ce ) en su sistema.

sudo apt install gitlab-ce -y

La instalación llevará un tiempo, pero verá el siguiente resultado cuando se complete la instalación. Este resultado confirma que ahora ha instalado correctamente GitLab en su sistema.

Configurando su instalación de GitLab

Ahora tiene GitLab instalado en su sistema, pero deberá realizar algunos cambios de configuración antes de usar GitLab. Archivo de configuración de GitLab (/etc/gitlab/gitlab.rb ) contiene la configuración global de GitLab que no es específica del entorno de su servidor de GitLab.

Modificará el archivo de configuración de GitLab para establecer su nombre de dominio FQDN y una conexión segura a su dominio.

1. Abra el /etc/gitlab/gitlab.rb archivo de configuración en su editor de texto favorito.

Una de las entradas más importantes en el archivo de configuración de GitLab es la url externa directiva, como se muestra a continuación. Esta directiva permite a los usuarios acceder a GitLab a través de un navegador web.

Cambiar la url externa valor de la directiva de http://gitlab.example.com a https://gitlab.yourdomain.com , donde tudominio.com es su nombre de dominio FQDN.

2. A continuación, navegue hasta la integración de Let's Encrypt sección ubicada en la parte inferior, y configure las directivas con lo siguiente:

  • Descomenta el letsencrypt['enable'] directiva eliminando el anterior # y cambie el valor de nil a true . Esta directiva le dice a GitLab que configure HTTPS en su servidor automáticamente.
  • Descomenta el letsencrypt['contact_emails'] directiva eliminando el anterior # y coloque su dirección de correo electrónico como valor. Let's Encrypt utilizará esta dirección de correo electrónico para contactarlo cuando necesite renovar su certificado SSL (cada 90 días).
  • Guarde los cambios y salga del editor.

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

sudo gitlab-ctl reconfigure

Configurando su Firewall para conexiones SSL

Ahora que configuró GitLab, deberá configurar las reglas de su firewall para permitir SSL y conexiones seguras a su servidor. Uncomplicated Firewall (UFW) es el programa predeterminado para administrar las reglas de firewall en Ubuntu.

Si coloca su servidor detrás de un firewall, deberá abrir el puerto HTTP 80 y puerto HTTPS 443 para conexiones SSL.

Ejecute el siguiente comando para abrir OpenSSH , HTTP y HTTPS puertos para su servidor GitLab.

sudo ufw allow OpenSSH && sudo ufw allow http && sudo ufw allow http

Ahora, ejecute el siguiente comando para verificar el estado de su firewall.

sudo ufw status 

Asegurar GitLab a través de la interfaz web

Su firewall está activo, pero ¿significa que su GitLab es seguro? Agregar capas de seguridad nunca está de más. Por lo tanto, protegerá aún más su instalación de GitLab a través de la interfaz web.

1. Abra su navegador web favorito y navegue hasta su servidor GitLab. Por ejemplo, http://gitlab.example.com , donde ejemplo.com es su nombre de dominio FQDN.

Elija Chrome o Firefox cuando acceda a su servidor GitLab para mayor seguridad. Estos navegadores web utilizan sus propios protocolos HTTP/HTTPS, que ayudan a aplicar las políticas de seguridad.

A continuación, puede ver la página de inicio de sesión de GitLab.

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

Regrese a su terminal y ejecute el cat comando a continuación para obtener su initial_root_password .

De manera predeterminada, la instalación de GitLab viene con una contraseña raíz inicial generada automáticamente.

 cat /etc/gitlab/initial_root_password

Copie y guarde su contraseña raíz inicial en un lugar seguro. Utilizará esta contraseña para iniciar sesión en GitLab (paso cuatro).

4. Regrese a su navegador web, escriba root como nombre de usuario e ingrese su contraseña raíz inicial como contraseña. Haga clic en Iniciar sesión para iniciar sesión en su servidor GitLab.

Después de iniciar sesión en su servidor de GitLab, su navegador se redirige al panel de control de GitLab, como se muestra a continuación.

Agregar una clave SSH a su cuenta de GitLab

Además de la interfaz web, también puede acceder a GitLab a través de un entorno de línea de comandos de forma segura. ¿Cómo? Primero deberá agregar una clave SSH a su cuenta, para que pueda acceder a GitLab ejecutando un comando en su terminal sin tener que ingresar una contraseña.

1. Ejecute el ssh-keygen Comando para generar un par de claves SSH adecuado para su uso en conexiones SSH. Cuando se le solicite, presione la tecla Intro para mantener la ubicación de almacenamiento predeterminada para la clave SSH (/root/.ssh/id_rsa ) y no agregue una frase de contraseña.

ssh-keygen

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

 cat ~/.ssh/id_rsa.pub

3. Regrese al panel de control de GitLab en su navegador para agregar su clave pública con lo siguiente:

  • Haga clic en Claves SSH menú en el panel izquierdo de la Configuración de usuario página para acceder a las claves SSH página.
  • Pegue la clave pública que copió (paso dos) en la Clave campo, como se muestra a continuación
  • Proporcione su nombre preferido para la clave en el Título campo. Pero para esta demostración, el nombre se establece como ATAGitHub.
  • Haga clic en Agregar clave para finalizar la adición de la clave pública a su cuenta.

Deshabilitar registros públicos

Para mayor seguridad, puede deshabilitar los registros públicos en GitLab. ¿Por qué? La función de registros públicos 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, haga clic en Menú —> Administrador para acceder al panel de administración, luego haga clic en Configuración para acceder a General del panel de administración página de configuración (paso dos).

2. Deshabilite el registro habilitado bajo la opción Restricciones de registro sección. Si lo hace, deshabilitará la función de registros públicos de GitLab.

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

4. Finalmente, cierre sesión en su cuenta y navegue por la pantalla de inicio de sesión de GitLab.

Como puede ver a continuación, el botón Regístrese ahora el enlace se ha ido

Prueba de su servidor GitLab

En este punto, ya ha configurado y asegurado su servidor GitLab, ¡y eso es genial! Pero, ¿cómo sabes que tu servidor GitLab realmente está funcionando? Probarás tu servidor creando un proyecto de GitLab a través del tablero de GitLab y clonando el proyecto en tu servidor.

1. En el panel de control de GitLab, haga clic en el signo más (+) junto al cuadro de búsqueda, luego haga clic en Nuevo proyecto , como se muestra a continuación, para crear un nuevo proyecto de GitLab.

2. A continuación, proporcione su Proyecto preferido nombre , pero para esta demostración, el nombre del proyecto se establece como ATA GitLab y el slug del proyecto se establece en (atagitlab ).

Haga clic en Crear proyecto para crear tu nuevo proyecto.

3. Regrese a su terminal y ejecute los siguientes comandos para configurar su 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 únicos globalmente en todas las cuentas en el servidor de GitLab.

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

4. Ahora, ejecuta el git clone Comando a continuación para clonar el proyecto ATA GitLab que creó (paso dos) en su directorio actual. Reemplazar yourdomain.com con su FQDN.

git clone http://gitlab.yourdomain.com/root/ATA-GitLab.git

Si todo va bien, verá un resultado similar al siguiente. Cuando se complete la clonación, tendrá un nuevo directorio llamado ATA-GitLab .

5. Finalmente, ejecuta el ls comando para verificar que el directorio ATA-GitLab existe.

ls

Dado que puede clonar el nuevo proyecto ATA GitLab y que existe el directorio ATA GitLab, el siguiente resultado confirma que su servidor GitLab funciona correctamente.

Conclusión

En este tutorial, aprendió cómo realizar una instalación segura de GitLab en su sistema Ubuntu Linux. Se aseguró de proteger su servidor GitLab a través de la interfaz web, agregar claves SSH a su cuenta GitLab y probar si su servidor GitLab funciona.

Con este nuevo conocimiento, tal vez le gustaría aprender a configurar sistemas automatizados de integración continua (CI) con GitLab.


Linux
  1. Cómo instalar Dig en Windows

  2. Cómo instalar GitLab en Ubuntu 20.04

  3. Cómo instalar Gitlab en CentOS 8

  4. Cómo instalar y usar el comando fd en Linux

  5. Cómo instalar Locate en un servidor Fedora

Cómo configurar GitLab en CentOS 8

Cómo instalar TimescaleDB en Ubuntu 20.04

Cómo instalar GitLab CE en Oracle Linux 8

Cómo instalar phpMyAdmin de forma segura en Linux

Cómo instalar XAMPP en CentOS 8

Cómo instalar TeamViewer en Ubuntu 20.04 LTS