DEV Community

Cover image for Configura un servidor GitLab en AWS EC2 en minutos
Brian
Brian

Posted on

Configura un servidor GitLab en AWS EC2 en minutos

GitLab es una plataforma poderosa para la gestión de repositorios de código, CI/CD y colaboración en equipo. En este tutorial, te mostraré cómo instalar y configurar GitLab en una instancia EC2 con Amazon Linux 2023. ¡Manos a la obra!


Requisitos previos 🛠️

Antes de empezar, asegúrate de cumplir con estos puntos:

  1. Instancia EC2 configurada:
  • Asegúrate de que tu grupo de seguridad permita tráfico en los puertos 80 (HTTP), 443 (HTTPS) y opcionalmente el 22 (SSH).
  • Si planeas usar un dominio o IP estática, asigna un Elastic IP.
  1. Dominio (opcional):
  • Configura un registro A que apunte a la IP pública de tu instancia si tienes un dominio.

Pasos para instalar GitLab en EC2

1. Actualiza tu sistema

Mantén tu sistema operativo al día:

sudo yum update -y
Enter fullscreen mode Exit fullscreen mode

2. Instala las dependencias necesarias

GitLab requiere ciertos paquetes para funcionar correctamente:

sudo yum install -y curl policycoreutils-python-utils openssh-server
Enter fullscreen mode Exit fullscreen mode

Si encuentras un error relacionado con paquetes en conflicto, usa este comando:

sudo yum install -y curl policycoreutils-python-utils openssh-server --allowerasing
Enter fullscreen mode Exit fullscreen mode

3. Configura el servicio SSH

Habilita y arranca el servicio SSH:

sudo systemctl enable sshd
sudo systemctl start sshd
Enter fullscreen mode Exit fullscreen mode

4. Instala GitLab

4.1. Agrega el repositorio oficial de GitLab

Usa este comando para configurar el repositorio:

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
Enter fullscreen mode Exit fullscreen mode

4.2. Instala GitLab Community Edition (CE)

Instala GitLab y especifica la URL externa (IP o dominio):

sudo EXTERNAL_URL="http://<tu-ip-o-dominio>" yum install -y gitlab-ce
Enter fullscreen mode Exit fullscreen mode

Reemplaza <tu-ip-o-dominio> con la IP pública de tu instancia o tu dominio.


5. Configura GitLab

Ejecuta el script de configuración inicial para aplicar los ajustes:

sudo gitlab-ctl reconfigure
Enter fullscreen mode Exit fullscreen mode

Pantalla inicial GitLab


6. Accede a GitLab

6.1. Obtén la contraseña inicial de root

Después de la instalación, GitLab genera una contraseña para el usuario root. Encuéntrala con:

sudo cat /etc/gitlab/initial_root_password
Enter fullscreen mode Exit fullscreen mode

El resultado será algo como:

# WARNING: This value is valid only in the initial login.
Password: A1b2C3d4E5f6G7h8
Enter fullscreen mode Exit fullscreen mode

Ejemplo contraseña root inicial

6.2. Ingresa al navegador

Abre tu navegador y accede a http://<tu-ip-o-dominio>. Usa estas credenciales:

  • Usuario: root
  • Contraseña: La generada en el archivo anterior.

GitLab te pedirá cambiar esta contraseña en el primer inicio de sesión.

Nota: Si el archivo /etc/gitlab/initial_root_password ya no existe, puede haberse eliminado automáticamente después de 24 horas. Si olvidaste la contraseña, puedes restablecerla manualmente.

Pantalla inicial administrador GitLab


Opcional: Configura HTTPS con Let's Encrypt

1. Edita la configuración de GitLab

Abre el archivo de configuración:

sudo nano /etc/gitlab/gitlab.rb
Enter fullscreen mode Exit fullscreen mode

Cambia la URL externa para usar HTTPS y habilita Let's Encrypt:

external_url "https://<tu-dominio>"
letsencrypt['enable'] = true
Enter fullscreen mode Exit fullscreen mode

Guarda los cambios y reconfigura GitLab:

sudo gitlab-ctl reconfigure
Enter fullscreen mode Exit fullscreen mode

2. Reinicia GitLab

Reinicia el servicio para asegurarte de que los cambios se apliquen correctamente:

sudo gitlab-ctl restart
Enter fullscreen mode Exit fullscreen mode

Notas finales

  • Firewall y conectividad: Revisa los grupos de seguridad de tu instancia y el firewall local para asegurarte de que los puertos necesarios están abiertos.
  • Documentación oficial: Consulta la documentación de GitLab para configuraciones avanzadas.
  • Dominio: Usar un dominio con HTTPS mejora la seguridad y profesionalismo de tu plataforma GitLab.

¿Tienes dudas o comentarios? ¡Déjalos aquí y estaré encantado de ayudarte a resolverlos! ☺️👇🏻

Top comments (0)