Configura un servidor GitLab en AWS EC2 en minutos

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • MyrinNew
    Senior Member
    • Feb 2024
    • 5175

    #1

    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










    2. Instala las dependencias necesarias

    GitLab requiere ciertos paquetes para funcionar correctamente:






    sudo yum install -y curl policycoreutils-python-utils openssh-server







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






    sudo yum install -y curl policycoreutils-python-utils openssh-server --allowerasing










    3. Configura el servicio SSH

    Habilita y arranca el servicio SSH:






    sudo systemctl enable sshd
    sudo systemctl start sshd










    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/.../script.rpm.sh | sudo bash







    4.2. Instala GitLab Community Edition (CE)

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






    sudo EXTERNAL_URL="http://" yum install -y gitlab-ce







    Reemplaza 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













    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







    El resultado será algo como:






    # WARNING: This value is valid only in the initial login.
    Password: A1b2C3d4E5f6G7h8










    6.2. Ingresa al navegador

    Abre tu navegador y accede a http://. 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.








    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







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






    external_url "https://"
    letsencrypt['enable'] = true







    Guarda los cambios y reconfigura GitLab:






    sudo gitlab-ctl reconfigure







    2. Reinicia GitLab

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






    sudo gitlab-ctl restart










    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! ☺️👇🏻




    More...
Working...