GitLab es un administrador de repositorios GIT de código abierto basado en Rails y desarrollado por GitLab Inc. Es un administrador de repositorios GIT basado en la web que le permite a su equipo trabajar en código, realizar solicitudes de funciones, rastrear errores y probar e implementar aplicaciones. GitLab proporciona funciones como un wiki, seguimiento de problemas, revisiones de código, fuentes de actividades y gestión de fusiones. Es capaz de albergar múltiples proyectos.
GitLab está disponible en cuatro ediciones:
- Gitlab CE (Community Edition):autohospedado, gratuito y con soporte del foro de la comunidad.
- Gitlab EE (Enterprise Edition):aplicación de pago autohospedada que incluye funciones adicionales.
- GitLab.com - SaaS, gratis.
- GitLab.io:instancia privada de GitLab administrada por GitLab Inc.
En este tutorial, le mostraré paso a paso cómo instalar GitLab CE (Community Edition) en su propio servidor Ubuntu 18.04 LTS (Bionic Beaver). Usaré el paquete 'ómnibus' provisto por GitLab para una fácil instalación.
Requisitos
- Servidor Ubuntu 18.04
- Memoria RAM mínima de 4 GB:para un mejor rendimiento, use 8 GB
- Privilegios de raíz
Lo que haremos
- Actualizar repositorio y paquetes de actualización
- Instalar dependencias
- Instalar GitLab Community Edition
- Generar certificado SSL Letsencrypt y DHPARAM
- Configurar HTTPS para GitLab
- Configurar el cortafuegos UFW de Ubuntu
- Después de la instalación de GitLab
- Pruebas
Paso 1:actualizar el repositorio y los paquetes de actualización
Antes de instalar cualquier paquete en el sistema, actualice todos los repositorios disponibles y luego actualice todos los paquetes en el sistema.
Ejecute los comandos apt a continuación.
sudo apt update
sudo apt upgrade -y
Espere los paquetes de instalación que se actualizarán.
Paso 2:instalar las dependencias de Gitlab
GitLab necesita algunas dependencias de paquetes para la instalación, incluidos curl, postfix y ca-certificates.
Instale las dependencias de paquetes de GitLab usando el comando apt a continuación.
sudo apt install curl openssh-server ca-certificates postfix -y
Durante la instalación de Postfix, se le preguntará acerca de la configuración, seleccione 'Sitio de Internet'.
Y luego ingrese el nombre de dominio del servidor que se usará para enviar un correo electrónico.
Y estamos listos para instalar GitLab en el servidor.
Paso 3:instalar GitLab
En este paso, instalaremos GitLab utilizando los paquetes omnibus. Omnibus instalará todos los paquetes, servicios y herramientas necesarios para ejecutar GitLab en el servidor.
Agregue el repositorio de GitLab con el comando curl.
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Y luego instale GitLab CE Community Edition con el comando apt.
sudo apt install gitlab-ce -y
El comando descargará e instalará el paquete GitLab CE, y cuando la instalación se complete, verá los resultados a continuación.
A continuación, debemos configurar la URL que se utilizará para acceder a nuestro servidor GitLab. Usaremos un dominio llamado 'git.hakase-labs.pw' para la URL de acceso de GitLab y habilitaremos HTTPS en él.
Para cambiar el acceso a la URL de GitLab, edite el archivo '/etc/gitlab/gitlab.rb'.
sudo vim /etc/gitlab/gitlab.rb
Ahora cambie el valor 'external_url' con su propio nombre de dominio.
external_url 'http://git.hakase-labs.pw'
Guardar y salir.
Paso 4:generar el certificado Let's encrypt SSL y el certificado DHPARAM
En este paso, generaremos un nuevo certificado Letsencrypt y un certificado DHPARAM para el nombre de dominio de GitLab 'git.hakase-labs.pw'.
Instale la herramienta Lets Encrypt usando el comando apt a continuación.
sudo apt install letsencrypt -y
Y una vez completada la instalación, ejecute el siguiente comando letsencrypt.
sudo letsencrypt certonly --standalone --agree-tos --no-eff-email --agree-tos --email [email protected] -d git.hakase-labs.pw
Y cuando esté completo, obtendrá el resultado como se muestra a continuación.
Se han generado certificados SSL Letsencrypt, ubicados en el directorio '/etc/letsencyrpt/'.
A continuación, generaremos el certificado DHPARAM usando el comando OpenSSL.
Cree un nuevo directorio '/etc/gitlab/ssl' y ejecute el comando OpenSSL a continuación.
sudo mkdir -p /etc/gitlab/ssl/
sudo openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048
Ahora cambie el permiso del directorio SSL.
chmod 600 /etc/gitlab/ssl/*
Y se han generado todos los certificados necesarios para la configuración HTTPS de GitLab.
Paso 5:configurar HTTPS para GitLab
Para habilitar HTTPS para la instalación de GitLab, necesitamos editar el archivo 'gitlab.rb'.
Edite el archivo '/etc/gitlab/gitlab.rb' usando el comando vim a continuación.
sudo vim /etc/gitlab/gitlab.rb
Cambie la 'url_externa' de Gitlab a 'https://git.hakase-labs.pw'.
external_url 'https://git.hakase-labs.pw'
Ahora pegue la configuración a continuación en la sección '#GitLab Nginx'.
nginx['redirect_http_to_https'] = true nginx['ssl_certificate'] = "/etc/letsencrypt/live/git.hakase-labs.pw/fullchain.pem" nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/git.hakase-labs.pw/privkey.pem" nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"
Guardar y salir.
Ahora ejecute el siguiente comando 'gitlab-ctl'.
sudo gitlab-ctl reconfigure
Este comando instalará y configurará GitLab según el archivo de configuración '/etc/gitlab/gitlab.rb'.
Y cuando esté completo, verás el resultado como se muestra a continuación.
La instalación de GitLab está completa y se ha habilitado HTTPS para GitLab.
Paso 6:configurar el cortafuegos UFW de Ubuntu
En este paso, habilitaremos el firewall de Ubuntu UFW. Ya está instalado en el sistema, solo necesitamos iniciar el servicio. Ejecutaremos GitLab detrás del firewall de Ubuntu UFW, por lo que debemos abrir los puertos HTTP y HTTPS.
Agregue servicios ssh, http y https a la configuración.
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
Y habilite el firewall de Ubuntu UFW con el siguiente comando.
sudo ufw enable
Escriba 'y' para que sí lo habilite.
Ahora verifique la lista de todos los servicios y puertos en la lista.
sudo ufw status
Y obtendrá servicios ssh, http y https en la lista.
Paso 7:posinstalación de GitLab
Abra el navegador web y escriba la URL de gitlab 'git.hakase-labs.pw' y será redirigido a la conexión HTTPS.
Crear una nueva contraseña raíz de GitLab
Escriba su nueva contraseña para el usuario root de GitLab y haga clic en el botón 'Cambiar su contraseña'.
Ahora inicie sesión como usuario 'root' con su propia contraseña y haga clic en el botón 'Iniciar sesión'.
Ahora obtendrá el Panel de control de GitLab.
Cambiar perfil
Haga clic en el botón de perfil y seleccione 'Configuración'.
En la sección 'Configuración principal', escriba el nombre de perfil 'hakase' y luego haga clic en la opción 'actualizar configuración de perfil'.
Cambiar nombre de usuario
Haga clic en la pestaña 'Cuenta' y escriba el nombre de usuario 'hakase'.
Ahora presione el botón 'Actualizar nombre de usuario'.
Añadir clave SSH
Genere una nueva clave usando el comando ssh-keygen como se muestra a continuación.
ssh-keygen
cat ~/.ssh/id_rsa.pub
Copie la clave 'id_rsa.pub'.
Ahora regrese al panel de usuario de GitLab y haga clic en el menú 'Clave SSH' a la izquierda.
Pegue la clave pública ssh 'id_rsa.pub' y haga clic en el botón 'Agregar clave'.
Restricciones de registro
Haga clic en el botón 'Área de administración' en el medio, luego haga clic en 'Configuración'.
Desmarque la opción 'registro habilitado' y haga clic en el botón 'Guardar cambios'.
Límite de cuenta
Haga clic en la sección 'Cuenta y límite' y establezca el límite de proyecto predeterminado en 20.
Y haga clic en el botón 'Guardar cambios'.
Paso 8:prueba de Gitlab
Finalmente, haremos algunas pruebas para asegurarnos de que nuestro sistema GitLab funciona correctamente.
Crear nuevo proyecto
Haga clic en el ícono más en la parte superior central para crear un nuevo repositorio de proyectos. Escriba el nombre de su proyecto, la descripción y configure los ajustes de visibilidad de su proyecto. Luego haga clic en el botón 'Crear proyecto'.
El nuevo proyecto ha sido creado.
Probar primero confirmar y enviar
Ahora comenzaremos a agregar nuevo contenido al repositorio. Asegúrese de que Git esté instalado en su computadora y necesitamos configurar el nombre de usuario global y el correo electrónico para git con el siguiente comando.
git config --global user.name "hakase"
git config --global user.email "[email protected]"
Clone el Repositorio y agregue un archivo README.md.
git clone https://git.hakase-labs.pw/hakase/project01.git
cd project01/
vim README.md
Se le pedirá la contraseña de usuario 'hakase'. Escriba la misma contraseña que utilizó cuando accedimos a GitLab por primera vez.
Confirme un nuevo archivo en el repositorio 'project01'.
git add .
git commit -m 'Add README.md file by hakase-labs'
A continuación, envíe el cambio al repositorio en el servidor de GitLab.
git push origin master
Escriba su contraseña y presione Entrar para continuar. Verá el resultado como se muestra a continuación.
Ahora abra el proyecto 'project01' desde su navegador web y verá que el nuevo archivo README.md se ha agregado al repositorio.
La guía de instalación de GitLab en Ubuntu 18.04 se completó con éxito.