Instalación de GitLab en un servidor VPS Debian 9 + ISPconfig

Procédure

GitLab es una poderosa herramienta para gestionar tus diferentes repositorios Git con facilidad. Sin embargo, configurarlo en nuestros sistemas operativos con ISPConfig 3 puede convertirse fácilmente en un dolor de cabeza. Es por eso que hemos decidido proporcionarle un manual completo para esta operación.

Requerimientos

GitLab requiere al menos 2 GB de RAM. Combinado con el mínimo de 2 GB de ISPConfig 3, el número de procesos ejecutados (que representan casi el 30% de la cuota sólo para ISPConfig sin ningún sitio web), laoferta VPS L de la gama LWS Starter es suficiente para pequeños proyectos, pero recomendamos la gama VPS Pro para cualquier proyecto profesional.

Para este tutorial, vamos a utilizar un VPS ejecutando el sistema operativo Debian 9 + ISPConfig 3 en blanco ofrecido en el Panel de LWS. Aquí están los enlaces a otros tutoriales para otros sistemas operativos:

Si desea cambiar el sistema operativo de su VPS, aquí tiene un enlace a la documentación de ayuda: ¿Cómo cambio el sistema operativo de mi VPS?

Tenga en cuenta que este tutorial sólo se ha probado en una instalación VIRGEN de Debian 9 + ISPConfig. Si usted ya ha instalado sitios web u otros servicios en su VPS, no podemos garantizar que el tutorial será efectivo y/o que todos sus otros servicios serán funcionales después de la instalación.

No olvide habilitar el puerto SSH en el firewall de su VPS y deshabilitar la administración SSH para que pueda conectarse como root a la consola SSH.

Resumen del tutorial

Este tutorial cubre los siguientes pasos:

  1. Actualización del sistema operativo
  2. Instalación de Gitlab
  3. Creación de un certificado Let's Encrypt SSL
  4. Configuración de un proxy inverso en Apache frente a Gitlab

1. Actualización del sistema operativo

Antes de instalar nada, te recomendamos que actualices la lista de paquetes y los propios paquetes. En tu consola SSH, escribe los siguientes comandos:



apt-get update apt-get upgrade -y apt-get dist-upgrade -y

También podemos actualizar ISPConfig.

2. Instalando Gitlab

Primero, instalemos las dependencias requeridas por Gitlab:

apt-get install -y curl openssh-server ca-certificates

A continuación, añade el repositorio de Gitlab a tu VPS:

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

Ahora vamos a instalar Gitlab en el puerto 6080 (un puerto elegido al azar):

EXTERNAL_URL="http://vpsXXXXX.lws-hosting.com:6080" apt-get install gitlab-ee

La instalación tarda varios minutos, así que puedes tomarte una taza de té mientras esperas.

Consejo: si tienes una conexión a Internet inestable, puedes utilizar screen para volver a conectarte a la consola desmontable en caso de desconexión inesperada. Documentación sobre cómo utilizar screen.

La instalación fallará. Esto es perfectamente normal. Esto se debe a que Gitlab intentará realizar cambios en el kernel, pero estos cambios no están autorizados en los servidores LWS VPS debido a la tecnología de virtualización utilizada. Para evitar esto, es necesario "tocar" (ejecutar el comando touch) los archivos de configuración del Kernel prospectados por Gitlab para vaciar su contenido y poder continuar con la instalación:

touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.sem.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.shmall.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.shmmax.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-net.core.somaxconn.conf

Si hay otros archivos de configuración, no dude en vaciarlos de su contenido. A continuación, ejecute el siguiente comando para regenerar las configuraciones de Gitlab:

gitlab-ctl reconfigure

Ahora necesitas detener GitLab que, por lo que has podido comprobar, no está funcionando en absoluto:

gitlab-ctl stop

El problema viene del módulo unicorn, que usa el mismo puerto que ISPConfig. Así que vamos a cambiar su puerto editando el archivo /etc/gitlab/gitlab.rb:

nano /etc/gitlab/gitlab.rb

y editar la siguiente línea:

# unicorn['puerto'] = 8080 unicorn['puerto'] = 8083

Antes era un comentario y 8080 era el valor. Ahora lo hemos descomentado y hemos puesto 8083 como puerto. Volvamos a crear los archivos de configuración:

gitlab-ctl reconfigure

Ahora necesitamos reiniciar Gitlab:

gitlab-ctl restart

Consejo: Si unicorn se niega a arrancar, hay procesos hijo que aún no se han cerrado. Ciérralos con gitlab-ctl stop e inténtalo de nuevo.

3. Creación de un certificado SSL Let's Encrypt

Para asegurar el acceso a Gitlab, vamos a crear un certificado Let's Encrypt SSL que se instalará en el proxy inverso.

Nota: No vamos a instalar el certificado SSL en Gitlab. Sólo vamos a asegurar el acceso a su proxy inverso. Sólo se accederá a Gitlab a través del proxy inverso, por lo que podemos ahorrarle a nuestro VPS un esfuerzo informático extra cifrando el tráfico que no saldrá del VPS.

Para ello, primero tenemos que apuntar git.example.com a su VPS. Luego usaremos certbot:

certbot certonly --webroot -w /usr/local/ispconfig/interface/acme/ -d git.ejemplo.com

Nota: ISPConfig (gracias a su vhost y .conf para Apache) redirige directamente las peticiones que contienen /.well-known/ a /usr/local/ispconfig/interface/acme/. Así que estamos usando autenticación webroot y estamos usando la carpeta ISPConfig provista para este propósito. Esto evitará interferir con ISPConfig durante las renovaciones.

Si es la primera vez que creas un certificado SSL Let's Encrypt en tu VPS, deberás introducir una dirección de correo electrónico y aceptar las condiciones de uso de Let's Encrypt.

4. Configurar el proxy inverso de Apache

Ahora necesitamos configurar el proxy inverso con Apache, que coexistirá con ISPConfig y los sitios asociados. Así que vamos a crear un nuevo archivo de configuración :

nano /etc/apache2/sitios-disponibles/gitlab.conf

y tendremos que añadir el siguiente contenido :


    ServerName git.exemple.com ServerAdmin root@git.exemple.com RewriteEngine On RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]


    ServerName git.exemple.com ServerAdmin root@git.exemple.com ProxyRequests Off ProxyPreserveHost On ProxyVia Full Require all granted P roxyPass http://127.0.0.1:6080/ ProxyPassReverse http://127.0.0.1:6080/ ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/letsencrypt/live/git.exemple.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/git.exemple.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/git.exemple.com/chain.pem

Y vamos a activar este nuevo vhost :

ln -s /etc/apache2/sites-available/gitlab.conf /etc/apache2/sites-enabled/000-gitlab.conf

Pero antes de reiniciar Apache, necesita activar los módulos necesarios:

a2enmod proxy a2enmod proxy_http

Ahora reinicie Apache :

systemctl restart apache2

Y ya está. Si vas a git.ejemplo.com, verás que Gitlab está listo:

Instalación de GitLab en un servidor VPS Debian 9 + ISPconfig

Valora este artículo :

5/5 | 2 opinión

Este artículo le ha sido útil ?

Article utile

Article non utileNo

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Artículos similares

3mn lectura

¿Cómo puedo acceder a ISPConfig en mi servidor VPS dedicado?

0mn lectura

¿Cómo puedo crear un servidor DNS en ISPConfig en un servidor VPS dedicado?

0mn lectura

¿Cómo cambio la contraseña del panel de ISPConfig 3?

1mn lectura

¿Cómo puedo asegurar el acceso a mi panel ISPconfig utilizando un archivo .htaccess?


Formule una pregunta al equipo de LWS y a su comunidad