Valora este artículo :
Este artículo le ha sido útil ?
Sí
No
Vous avez noté 0 étoile(s)
Sommaire
Procédure
¿Necesitas Gitlab para gestionar tus proyectos? Crea tu propia instancia de GitLab en tu VPS siguiendo este tutorial.
Git es bueno. Gitlab es mejor. Gitlab es un gestor de repositorios Git de código abierto. Desarrollado por GitLab Inc, ofrece una interfaz gráfica intuitiva para la gestión de sus diversos proyectos, manteniendo la compatibilidad con Git. Puedes crear peticiones de funcionalidades, realizar el seguimiento de errores, etc. en equipo y a través de un navegador web.
Gitlab está disponible en varias versiones, tanto de pago como gratuitas. En el siguiente tutorial, instalaremos GitLab Community Edition (Gitlab CE), la versión gratuita y de código abierto de Gitlab.
Para utilizar GitLab, necesitas al menos :
El VPSM de la gama LWS Starter será ideal para unos pocos proyectos Gitlab, pero si tiene varios colaboradores y/o varios proyectos que realizar, le recomendamos el VPS L o uno de los VPS de la gama Pro.
Para este tutorial, vamos a considerar un sistema operativo completamente en blanco a partir de la imagen de sistema Debian 9 + SSH ofrecida en LWS Panel. Aquí están los enlaces a otros tutoriales para otros sistemas operativos:
Si desea cambiar el sistema operativo en su VPS, aquí hay un enlace a la documentación de ayuda: ¿Cómo puedo cambiar el sistema operativo en mi VPS?
Tenga en cuenta que este tutorial se basa en una instalación VIRGEN de Debian 9. Si ya ha instalado algo en él, no podemos garantizar que el tutorial será eficaz y / o que todos sus otros servicios estarán disponibles después de la instalación.
No olvide habilitar el puerto SSH en el firewall de su VPS para que pueda conectarse como root a la consola SSH.
Estos son los pasos que se cubrirán en este tutorial:
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
En primer lugar, vamos a instalar las dependencias necesarias:
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:
EXTERNAL_URL="http://vpsXXXXX.lws-hosting.com" apt-get install gitlab-ee
La instalación tarda varios minutos, así que puedes tomarte un café 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.
Una vez finalizada la instalación, vaya a http://vpsXXXXX.lws-hosting.com
para configurar Gitlab.
Consejo: si obtiene un error 502, intente reiniciar Gitlab con el comando
gitlab-ctl restart
y espere 5 minutos antes de volver a intentarlo(Ctrl+F5
).
Si todo va según lo previsto, serás redirigido a una página para crear tu contraseña de Gitlab.
Especifica una contraseña relativamente compleja. También puedes generar una contraseña aleatoria.
Una vez hecho esto, podrás conectarte a Gitlab con el usuario root y la contraseña que hayas especificado.
Ahora vamos a configurar un proxy inverso con NGINX. Esto le permitirá alojar otros sitios y aplicaciones en el futuro, especialmente si ha optado por un servidor Cloud Pro S VPS o superior.
El primer paso es mover Gitlab a un puerto no utilizado. Para este tutorial, usaremos el puerto 6080 (tomado al azar).
Consejo: puedes encontrar la lista de puertos ya en uso con el comando
netstat -tunap | grep LISTEN
Para ello, edita el archivo /etc/gitlab/gitlab.rb
con nano
(o vim
, u otro editor):
nano /etc/gitlab/gitlab.rb
Y edita el valor de external_url
para incluir el puerto:
[##! URL de GitLab ##! URL en la que GitLab será accesible. ##! Para más detalles sobre la configuración de external_url ver: ##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab external_url'http://vpsXXXXX.lws-hosting.com:6080'[...]
Ctrl+X
, Y
luego Enter
para guardar el archivo y cerrar nano(Esc
luego :wq
para vim).
Para aplicar esta configuración, ejecute el siguiente comando:
gitlab-ctl reconfigure
Esto llevará uno o dos minutos mientras Gitlab sincroniza su configuración con las aplicaciones que Gitlab utiliza por defecto (NGINX, omnibus, etc.).
Gitlab está ahora en 6080. Ahora tenemos que instalar NGINX. La instalación de NGINX se resume en las siguientes líneas de comando:
apt-get install -y curl gnupg2 ca-certificates lsb-release echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" | tee /etc/apt/sources.list.d/nginx.list curl -fsSL https://nginx.org/keys/nginx_signing.key | apt-key add - apt-get update apt-get install -y nginx
Ahora es el momento de crear un archivo de configuración de NGINX para GitLab. Lo llamaremos /etc/nginx/conf.d/000-gitlab.conf
. Usa nano para crear este archivo:
nano /etc/nginx/conf.d/000-gitlab.conf
A continuación, tenemos que crear un nuevo bloque server{} y crear el proxy inverso. Aquí hay un contenido sugerido :
server { listen 80; server_name gitlab.example.
com; location / { proxy_pass http://localhost:
6080; proxy_redirect off; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Protocol $scheme; proxy_set_header X-Url-Scheme $scheme; } }
Consejo: El prefijo "000- " es necesario para que el archivo se cargue antes que
default.conf
. De lo contrario, el archivo default.
conf sobrescribirá nuestra configuración.
Activar NGINX al inicio:
systemctl enable nginx
Luego reinicia nginx con el siguiente comando:
systemctl restart nginx
A continuación, debe apuntar gitlab.example.com a su VPS añadiendo un registro A a su zona DNS. Si tu DNS está gestionado en el espacio cliente de LWS, aquí tienes cómo hacerlo:
A continuación, vamos a configurar Gitlab de nuevo para aceptar el encabezado X-Forwarded-For
para encontrar las direcciones IP reales de los visitantes. Esto se hace editando el archivo /etc/gitlab/gitlab.rb:
[...] nginx['real_ip_header'] = 'X-Forwarded-For' nginx['real_ip_recursive'] = 'on' [...]
A continuación, vuelva a sincronizar las configuraciones de Gitlab y sus servicios integrados:
gitlab-ctl reconfigure
En este punto, deberías poder conectarte a http://gitlab.exemple.com.
Ahora vamos a asegurar nuestro acceso con un certificado Let's Encrypt SSL. Primero, vamos a instalar certbot :
apt-get install certbot -y
A continuación, vamos a configurar un webroot para la autenticación Let's Encrypt. Para ello, edita el archivo /etc/nginx/conf.d/000-gitlab.conf
y añade estas líneas después del bloque location /
:
[...] location / { proxy_pass http://localhost:6080; [...] }location ^~ /.well-known/acme-challenge/ { root /var/www/letsencrypt; } }
Cree la carpeta :
mkdir -p /var/www/letsencrypt
Y reinicie NGINX :
systemctl restart nginx
Ahora vamos a crear un certificado SSL para gitlab.example.com
:
certbot certonly --webroot -w /var/www/letsencrypt/ -d gitlab.ejemplo.com
Sigue las instrucciones que aparecen en pantalla:
A continuación, vamos a editar /etc/nginx/conf.d/000-gitlab.conf
de nuevo para añadir un nuevo servidor en HTTPS/443. Tenemos que añadir las siguientes líneas al final del archivo:
[...] server { listen 443 ssl; server_name gitlab.example.com; ssl_certificate /etc/letsencrypt/live/gitlab.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/gitlab.example.com/privkey.
pem; location / { proxy_pass http://localhost:
6080; proxy_redirect off; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Protocol $scheme; proxy_set_header X-Url-Scheme $scheme; } }
Y reinicie su servidor NGINX :
systemctl restart nginx
Ahora tienes un servidor Gitlab listo para usar en https://gitlab.exemple.com.
Valora este artículo :
Este artículo le ha sido útil ?
Sí
No