GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar y configurar GitLab CE en CentOS 7

GitLab es un administrador de repositorios de código abierto basado en Rails desarrollado por GitLab Inc. Es un administrador de repositorios git basado en la web que le permite a su equipo colaborar en la codificación, prueba e implementación de aplicaciones. GitLab ofrece varias funciones, que incluyen wikis, seguimiento de problemas, revisiones de código y fuentes de actividad.

GitLab Inc ofrece 4 productos:

  1. Gitlab CE (Community Edition):autohospedado y gratuito; apoyo del foro de la comunidad.
  2. Gitlab EE (Enterprise Edition):autohospedado y de pago; viene con funciones adicionales.
  3. GitLab.com - SaaS y gratis.
  4. GitLab.io:instancia privada de GitLab administrada por GitLab Inc.

En este tutorial, analizaremos la instalación paso a paso de GitLab CE (Community Edition) en el servidor CentOS 7 con 4 GB de RAM. En uno de nuestros tutoriales anteriores, hicimos la instalación de GitLab manualmente. Pero aquí, usaremos el paquete 'ómnibus' provisto por GitLab para nuestra instalación.

Lo que haremos

  1. Instalar paquetes
  2. Instalar GitLab
  3. Configurar URL de GitLab
  4. Generar SSL Let's encrypt y certificado DHPARAM
  5. Habilitar Nginx HTTPS para GitLab
  6. Configurar cortafuegos
  7. Realizar la instalación de GitLab
  8. Pruebas

Requisitos

  • Servidor CentOS 7:64 bits
  • RAM mínima 2GB
  • Privilegios de raíz

Paso 1 - Instalar paquetes

En este paso, descargaremos/instalaremos algunos paquetes necesarios para la instalación de GitLab. Usaremos curl para descargar el instalador del repositorio, policycoreutils para el administrador de SELinux, OpenSSH y postfix como servidor SMTP local.

Instale todos esos paquetes con el siguiente comando yum.

yum -y install curl policycoreutils openssh-server openssh-clients postfix

Después de eso, inicie los servicios ssh y postfix.

systemctl start sshd
systemctl start postfix

Ahora habilítelos para que se ejecuten automáticamente en el momento del arranque.

systemctl enable sshd
systemctl enable postfix

Todos los paquetes necesarios para la instalación de GitLab ahora están instalados en el servidor.

Paso 2:instalar GitLab

GitLab proporciona un instalador para agregar el repositorio de GitLab CE. Descargue el instalador con curl y ejecute el script (como se muestra a continuación) para agregar un nuevo repositorio GitLab CE.

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

El repositorio de GitLab CE se ha agregado al sistema.

Ahora instala GitLab con el siguiente comando yum.

yum -y install gitlab-ce

Cuando se complete la instalación, obtendrá el resultado como se muestra a continuación.

Con esto, GitLab CE ahora está instalado en el servidor CentOS 7.

Paso 3:configurar la URL de GitLab

Para este tutorial, usaremos un nombre de dominio para GitLab. Específicamente, usaremos el nombre de dominio 'gitlab.hakase-labs.co.'

Vaya al directorio de configuración de GitLab '/etc/gitlab' y luego edite el archivo de configuración 'gitlab.rb' con vim editor.

cd /etc/gitlab/
vim gitlab.rb

Cambie la línea external_url con el nombre de dominio 'gitlab.hakase-labs.co '.

external_url 'http://gitlab.hakase-labs.co'

Guarde los cambios y salga de vim.

Paso 4 - Generar SSL Let's encrypt y certificado DHPARAM

Para la capa básica de seguridad, usaremos SSL para nuestro sitio de GitLab. Usaremos un certificado SSL gratuito de Letsencrypt y generaremos un certificado DHPARAM para agregar una capa de seguridad adicional.

Para generar el certificado Letsencrypt, necesitamos instalar la herramienta de línea de comandos de letsencrypt, que está disponible en el repositorio.

Instale la herramienta Letsencrypt en CentOS 7 con el comando yum a continuación.

yum -y install letsencrypt

Una vez completada la instalación, genere un nuevo certificado SSL letsencrypt con el siguiente comando.

letsencrypt certonly --standalone -d gitlab.hakase-labs.co

Nota: Mientras genera SSL Letsencrypt, asegúrese de que su puerto HTTP y HTTPS no estén bloqueados por el firewall.

Escriba su dirección de correo electrónico para renovar la notificación, luego escriba 'A' para el acuerdo de Términos de servicio de Letsencrypt, y finalmente escriba 'N' y presione Entrar nuevamente.

Y si ve el resultado como se muestra a continuación, significa que su certificado para el nombre de dominio ha sido generado y almacenado en el directorio '/etc/letsencrypt/live'.

A continuación, cree un nuevo directorio 'ssl' en el directorio de configuración de GitLab '/etc/gitlab/'.

mkdir -p /etc/gitlab/ssl/

Ahora genere el archivo pem del certificado DHPARAM usando OpenSSL. La parte más grande es más segura.

sudo openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048

Y después de generar el certificado DHPARAM, cambie el permiso del archivo de certificado a 600.

chmod 600 /etc/gitlab/ssl/*

Entonces se ha generado el certificado SSL Letsencrypt y DHPARAM para la instalación de GitLab.

Paso 5:habilite Nginx HTTPS para GitLab

En esta etapa, ya tenemos archivos de certificados SSL gratuitos de Letsencrypt y el certificado DHPARAM que se genera mediante el comando OpenSSL. Y en este paso, habilitaremos HTTPS para el sitio de GitLab. Habilitaremos HTTPS y forzaremos HTTP a la conexión HTTPS.

Primero, vaya al directorio de configuración de GitLab y edite el archivo de configuración 'gitlab.rb'.

cd /etc/gitlab/
vim gitlab.rb

Y cambie HTTP a HTTPS en la línea external_url.

external_url 'https://gitlab.hakase-labs.co'

Luego pegue la siguiente configuración en la configuración de línea 'external_url'.

nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.hakase-labs.co/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.hakase-labs.co/privkey.pem"
nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"

Guarde los cambios y salga de vim.

Finalmente, aplique la configuración de GitLab usando el siguiente comando.

gitlab-ctl reconfigure

Y cuando todo esté completo, debería obtener el resultado como se muestra a continuación.

Paso 6:configurar el cortafuegos

En este tutorial, ejecutaremos GitLab bajo el firewall Firewalld. Así que asegúrese de que esté instalado en el sistema. Si no tiene el paquete, puede instalarlo usando el siguiente comando.

yum -y install firewalld

Inicie firewalld y permita que se ejecute automáticamente en el momento del arranque con los comandos systemctl como se muestra a continuación.

systemctl start firewalld
systemctl enable firewalld

A continuación, abra nuevos puertos para nuestros servicios. Abriremos puertos SSH, HTTP y HTTPS para nuestra configuración de GitLab. Ejecute los comandos firewall-cmd a continuación para abrir los puertos.

firewall-cmd --permanent --add-service ssh
firewall-cmd --permanent --add-service http
firewall-cmd --permanent --add-service https

Ahora vuelva a cargar el cortafuegos y compruebe la configuración del cortafuegos. Asegúrese de que SSH, HTTP y HTTPS estén en la lista.

firewall-cmd --reload
firewall-cmd --list-all

Entonces, con esto, se completó la configuración de Firewalld para GitLab.

Paso 7:realizar la instalación

Entonces, GitLab se instaló en el sistema y se ejecuta bajo el firewall Firewalld. En este paso, haremos algunas configuraciones rápidas después de instalar GitLab en el servidor.

Restablecer contraseña de root de GitLab

Abra su navegador web y escriba la URL de gitlab 'gitlab.hakase-labs.co'. Será redirigido a la conexión HTTPS. Cambie la contraseña raíz con su propia contraseña y haga clic en el botón 'Cambiar su contraseña' para confirmar.

Ahora puede iniciar sesión en el panel de control de GitLab con el usuario predeterminado 'root' y su propia contraseña.

Cambiar perfil y nombre de usuario

Después de iniciar sesión en el panel de control de GitLab, haga clic en la parte superior derecha de su icono de perfil y haga clic en el icono 'Configuración' para configurar su perfil.

En la pestaña 'Perfil', cambie su nombre y dirección de correo electrónico, luego haga clic en el botón 'Actualizar configuración de perfil' en la parte inferior para confirmar.

Luego, vaya a la pestaña 'Cuenta' y cambie el nombre de usuario raíz predeterminado con su propio nombre de usuario, luego haga clic en el botón 'Actualizar nombre de usuario'.

Añadir clave SSH

Asegúrese de que ya tiene una clave, si no tiene una clave SSH, puede generar una usando el siguiente comando.

ssh-keygen

Y obtendrá dos claves en el directorio ~/.ssh/. 'id_rsa' sería su clave privada e 'id_rsa.pub' sería su clave pública.

A continuación, vuelva al navegador web y haga clic en la pestaña 'Clave SSH'. Copie el contenido del archivo 'id_rsa.pub' y péguelo en el cuadro de clave y haga clic en 'Agregar clave'.

Con esto, la clave SSH se ha actualizado.

Restricciones de registro y configuración de límites

Haga clic en el ícono 'Área de administración', luego haga clic en el ícono de ajustes y seleccione 'Configuración'.

En la sección 'Configuración de cuenta y límite', puede configurar el proyecto máximo por usuario. Y en la sección 'Restricciones de registro', puede agregar el nombre de dominio de su correo electrónico al cuadro de lista blanca.

Después de hacer todo esto, desplácese hasta la parte inferior y haga clic en 'Guardar'.

Eso es todo. Se completó la configuración básica de GitLab.

Paso 8 - Prueba

Ahora, haremos algunas pruebas con nuestro GitLab autohospedado.

Crear nuevo proyecto

Haga clic en el ícono más en la parte superior derecha para crear un nuevo repositorio de proyectos.

Escriba el nombre de su proyecto, la descripción y la configuración de visibilidad de configuración para su proyecto. Y luego haga clic en el botón 'Crear proyecto'.

Con esto, el proyecto ha sido creado.

Probar primera confirmación

Después de crear su proyecto (howtoforge en nuestro caso), será redirigido a la página del proyecto. Ahora comience a agregar contenido nuevo al repositorio.

Asegúrate de que Git esté instalado en tu computadora.

Para esta prueba, necesitamos configurar una cuenta de Git en la computadora, algo que puede hacer usando los siguientes comandos:

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

Clone el repositorio y agregue un nuevo archivo README.md.

git clone https://[email protected]/hakase/howtoforge.git
cd howtoforge/
vim README.md

Se le pedirá la contraseña de hakase. Escriba la misma contraseña que usamos al acceder a GitLab por primera vez y luego agregue contenido nuevo al archivo README.md.

Confirme nuevos cambios en el repositorio usando los siguientes comandos.

git add .
git commit -m 'Add README.md file by hakase-labs'

A continuación, envíe el repositorio al servidor de GitLab.

git push origin master

Escriba su contraseña y presione Entrar para continuar. Debería ver el resultado como se muestra a continuación.

Ahora abra el proyecto (howtoforge en nuestro caso) desde su navegador web y verá que se ha agregado un nuevo archivo README.md al repositorio.

Esto confirma que Gitlab se instaló con éxito en Ubuntu CentOS 7 con 4 GB de memoria.


Cent OS
  1. Cómo instalar y configurar Nginx en CentOS 7

  2. Cómo instalar y configurar Redis en CentOS 7

  3. Cómo instalar y configurar GitLab en CentOS 7

  4. Cómo instalar y configurar Gitlab en CentOS 8

  5. Cómo instalar y configurar CyberPanel en CentOS 8

Cómo instalar y configurar ownCloud en CentOS 7

Cómo instalar Gitlab en CentOS 8

Cómo instalar y configurar Samba en CentOS 8

Cómo instalar y configurar Fail2ban en CentOS 8

Cómo instalar y configurar HAproxy en CentOS 6

Cómo instalar y configurar GlusterFS en CentOS 7/CentOS 8