Cómo instalar GitLab en Debian 11 / 12

Artículos Guías Manuales Sistemas Linux Windows Binario 0

Requisitos previos

Debian 11 / 12.

Al menos 4 GB de RAM.

Además, se recomienda tener al menos 2 GB de memoria SWAP, incluso si tiene suficiente RAM disponible.

Paso 1. Sistema de actualización

En primer lugar, debemos iniciar sesión a través de SSH:

A continuación, asegurémonos de que estamos en Debian 11 o 12. Puede hacerlo así:

lsb_release -a

Debería obtener esto como salida:

Para Debian 11:

ID de distribuidor: Debian
Descripción: Debian GNU/Linux 11 (bulleseye)
Versión: 11
Nombre en clave: bullseye

Para Debian 12:

ID de distribuidor: Debian
Descripción: Debian GNU/Linux 12 (bookworm)
Versión: 12
Nombre en clave: bookworm

Luego, ejecute el siguiente comando para asegurarse de que todos los paquetes instalados en el servidor estén actualizados a sus últimas versiones disponibles:

sudo apt update && apt upgrade -y

Paso 2. Agregar repositorio

Hay dos formas de instalar GitLab en Debian; podemos instalarlo usando el repositorio o el paquete deb. En este tutorial, usaremos el repositorio para instalar GitLab en Debian.

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

El comando anterior descargará el repositorio de GitLab al archivo de la lista de fuentes de APT en /etc/apt/sources.list.d/gitlab_gitlab-ce.list

Dado que el archivo fuente del paquete de GitLab es para Debian 10, necesitamos modificar estas líneas.

deb https://packages.gitlab.com/gitlab/gitlab-ce/debian/ bullseye main
deb-src https://packages.gitlab.com/gitlab/gitlab-ce/debian/ bullseye main

Reemplace 'bullseye' con 'buster' ejecutando este comando.

Para Debian 11:

sudo sed -i 's/bullseye/buster/g' /etc/apt/sources.list.d/gitlab_gitlab-ce.list

Para Debian 12:

sudo sed -i 's/bookworm/buster/g' /etc/apt/sources.list.d/gitlab_gitlab-ce.list

Ahora, necesitamos actualizar el repositorio.

sudo apt update -y

Paso 3. Instalar GitLab

Después de agregar el repositorio, podemos instalar GitLab Community Edition ejecutando este comando:

sudo apt install gitlab-ce -y

Una vez finalizada la instalación podemos ejecutar este comando para reconfigurarlo y ejecutar GitLab

sudo gitlab-ctl reconfigure

En este punto, debería poder acceder a GitLab http://YOUR_SERVER_IP_ADDRESS/ e iniciar sesión como root usando la contraseña en /etc/gitlab/initial_root_password

Tenga en cuenta que la contraseña en /etc/gitlab/initial_root_password es válida solo durante 24 horas. Puede iniciar sesión y cambiar su contraseña inmediatamente o restablecerla usando este comando a continuación

sudo gitlab-rake "gitlab:password:reset[root]"

Paso 4. Configurar GitLab

GitLab se ha instalado correctamente y es hora de configurarlo.

Asegure el servidor GitLab con el certificado Let's Encrypt SSL

De forma predeterminada, al instalar GitLab sin pasar un entorno para el valor EXTERNAL_URL. La instalación establecerá http://gitlab.example.com como la URL externa. Si queremos acceder a nuestra instalación de GitLab a través de un nombre de dominio o subdominio e instalar un certificado SSL para ello, podemos editar el archivo de configuración /etc/gitlab/gitlab.rb

Abra /etc/gitlab/gitlab.rb y busque la línea external_url

Para dominio rutable:

external_url 'http://gitlab.example.com'

reemplazarlo con

external_url 'https://gitlab.tudominio.com'

Asegúrese de que el registro DNS de su dominio o subdominio apunte a su servidor GitLab.

Para dominio no rutable:

external_url 'http://gitlab.example.com'

reemplazarlo con

external_url 'https://gitlab.tudominio.local'

Paso 5. Habilitar LetsEncrypt (Para dominio rutable)

Luego, aún en el mismo archivo, asegúrese de que no estén comentados y modificados de la siguiente manera.

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['[email protected]']
letsencrypt['auto_renew'] = true

Guarde el archivo y luego salga.

Ahora, necesitamos reconfigurar Omnibus GitLab, y debemos hacer esto cada vez que editamos el archivo /etc/gitlab/gitlab.rb.

sudo gitlab-ctl reconfigure

Ejecute el comando anterior y espere, una vez completado, el certificado SSL de Let's Encrypt debería estar instalado y debería poder acceder a su GitLab en https://YOUR_DOMAIN_NAME

Paso 6. Configuración de correo electrónico

De forma predeterminada, GitLab debería poder enviar su correo electrónico mediante sendmail o postfix. Sin embargo, para una mejor capacidad de entrega de correo electrónico, debe considerar usar un servidor SMTP para este propósito. Con las credenciales de SMTP, podemos configurar GitLab para que use SMTP para enviar su correo electrónico.

Abra /etc/gitlab/gitlab.rb

sudo nano /etc/gitlab/gitlab.rb

Luego, encuentre lo siguiente

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.server"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "smtp user"
gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_domain'] = "example.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_pool'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'none'
gitlab_rails['smtp_ca_path'] = "/etc/ssl/certs"
gitlab_rails['smtp_ca_file'] = "/etc/ssl/certs/ca-certificates.crt"

Debe descomentar las líneas y usar sus credenciales SMTP para que funcione. Además, asegúrese de que su contraseña SMTP no contenga ningún delimitador de cadena utilizado en un archivo YAML; de lo contrario, no funcionará. Guarde sus cambios y luego salga del archivo.

Como se mencionó anteriormente, debemos reconfigurar Omnibus GitLab después de editar el archivo gitlab.rb.

sudo gitlab-ctl reconfigure

Y eso es. A partir de ahora, GitLab enviará correos electrónicos a través de SMTP, lo que dará como resultado una mejor capacidad de entrega de correos electrónicos en comparación con el uso de sendmail. Puede iniciar sesión en su sitio web de GitLab en https://yourdomain.com y comenzar a usarlo.