Installazione di GitLab su un server VPS Debian 9 + ISPconfig

Procédure

GitLab è un potente strumento per gestire con facilità i vari repository Git. Tuttavia, configurarlo sui nostri sistemi operativi con ISPConfig 3 può facilmente diventare un mal di testa. Ecco perché abbiamo deciso di fornirvi un manuale completo per questa operazione.

Requisiti

GitLab richiede almeno 2 GB di RAM. In combinazione con i 2 GB minimi di ISPConfig 3, il numero di processi eseguiti (che rappresentano quasi il 30% della quota per il solo ISPConfig senza alcun sito web), l'offerta VPS L della gamma Starter di LWS è sufficiente per piccoli progetti, ma consigliamo la gamma VPS Pro per qualsiasi progetto professionale.

Per questo tutorial, utilizzeremo un VPS con sistema operativo Debian 9 + ISPConfig 3 offerto dal pannello LWS. Ecco i link ad altri tutorial per altri sistemi operativi:

Se volete cambiare il sistema operativo sul vostro VPS, ecco un link alla documentazione: Come si cambia il sistema operativo sul mio VPS?

Si noti che questo tutorial è stato testato solo su un'installazione VERGINE di Debian 9 + ISPConfig. Se avete già installato siti web o altri servizi sul vostro VPS, non possiamo garantire che il tutorial sia efficace e/o che tutti gli altri servizi siano funzionanti dopo l'installazione.

Non dimenticate di abilitare la porta SSH sul vostro firewall VPS e di disabilitare la gestione SSH in modo da potervi connettere come root alla console SSH.

Riassunto del tutorial

Questo tutorial copre i seguenti passaggi:

  1. Aggiornamento del sistema operativo
  2. Installazione di Gitlab
  3. Creazione di un certificato SSL Let's Encrypt
  4. Impostazione di un reverse proxy su Apache di fronte a Gitlab

1. Aggiornamento del sistema operativo

Prima di installare qualsiasi cosa, si consiglia di aggiornare l'elenco dei pacchetti e i pacchetti stessi. Sulla vostra console SSH, scrivete i seguenti comandi:



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

Possiamo anche aggiornare ISPConfig.

2. Installazione di Gitlab

Per prima cosa, installiamo le dipendenze necessarie a Gitlab:

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

Quindi, aggiungere il repository Gitlab al proprio VPS:

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

Ora installiamo Gitlab sulla porta 6080 (una porta scelta a caso):

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

L'installazione richiede alcuni minuti, quindi potete bere una tazza di tè mentre aspettate.

Suggerimento: se la connessione a Internet è instabile, si può usare screen per ricollegarsi alla console staccabile in caso di disconnessione inaspettata. Documentazione sull'uso di screen.

L'installazione non riesce. Questo è perfettamente normale. Questo perché Gitlab tenterà di apportare modifiche al kernel, ma tali modifiche non sono autorizzate sui server VPS LWS a causa della tecnologia di virtualizzazione utilizzata. Per ovviare a questo inconveniente, è necessario "toccare" (eseguire il comando touch) i file di configurazione del kernel previsti da Gitlab per svuotarne il contenuto in modo da poter continuare l'installazione:

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

Se ci sono altri file di configurazione, svuotarli del loro contenuto. Eseguire quindi il comando seguente per rigenerare le configurazioni di Gitlab:

gitlab-ctl reconfigure

Ora è necessario fermare GitLab che, da quanto si è potuto verificare, non funziona affatto:

gitlab-ctl stop

Il problema deriva dal modulo unicorn, che usa la stessa porta di ISPConfig. Perciò cambieremo la sua porta modificando il file /etc/gitlab/gitlab.rb:

nano /etc/gitlab/gitlab.rb

e modificare la seguente riga:

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

Prima era un commento e 8080 era il valore. Ora lo abbiamo decommentato e abbiamo impostato 8083 come porta. Ricreiamo i file di configurazione:

gitlab-ctl reconfigure

Ora dobbiamo riavviare Gitlab:

gitlab-ctl restart

Suggerimento: se unicorn si rifiuta di avviarsi, ci sono processi figli che non sono ancora stati chiusi. Chiuderli con gitlab-ctl stop e riprovare.

3. Creare un certificato SSL Let's Encrypt

Per proteggere l'accesso a Gitlab, creeremo un certificato SSL Let's Encrypt, che sarà installato sul reverse proxy.

Nota: non installeremo il certificato SSL su Gitlab. Si tratta solo di proteggere l'accesso al suo reverse proxy. Gitlab sarà accessibile solo attraverso il reverse proxy, quindi possiamo risparmiare al nostro VPS un ulteriore sforzo di calcolo crittografando il traffico che non lascerà il VPS.

Per fare questo, dobbiamo prima puntare git.example.com al vostro VPS. Poi useremo certbot:

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

Nota: ISPConfig (grazie ai suoi vhost e .conf per Apache) reindirizza direttamente le richieste contenenti /.well-known/ a /usr/local/ispconfig/interface/acme/. Quindi stiamo usando l'autenticazione webroot e stiamo usando la cartella ISPConfig fornita a questo scopo. Questo eviterà di interferire con ISPConfig durante i rinnovi.

Se è la prima volta che si crea un certificato SSL Let's Encrypt sul proprio VPS, è necessario inserire un indirizzo e-mail e accettare le condizioni d'uso di Let's Encrypt.

4. Configurazione del reverse proxy Apache

Ora dobbiamo configurare il reverse proxy con Apache, che coesisterà con ISPConfig e i siti associati. Creeremo quindi un nuovo file di configurazione:

nano /etc/apache2/sites-available/gitlab.conf

e dovremo aggiungere il seguente contenuto:


    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 combinato 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

E attiviamo questo nuovo vhost:

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

Ma prima di riavviare Apache, è necessario attivare i moduli necessari:

a2enmod proxy a2enmod proxy_http

Ora riavviare Apache:

systemctl restart apache2

E questo è tutto. Se si va su git.example.com, si vedrà che Gitlab è pronto:

Installazione di GitLab su un server VPS Debian 9 + ISPconfig

Vota questo articolo :

5/5 | 2 parere

Questo articolo vi è stato utile ?

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)

Articoli simili

3mn lettura

Come posso accedere a ISPConfig sul mio server VPS dedicato?

0mn lettura

Come si crea un server DNS in ISPConfig su un server VPS dedicato?

0mn lettura

Come si cambia la password del pannello ISPConfig 3?

1mn lettura

Come posso proteggere l'accesso al mio pannello ISPconfig utilizzando un file .htaccess?


Fate una domanda al team LWS e alla sua comunità