#howto - Installazione e configurazione di GitLab CE con SSL su Centos 8/RHEL 8

Scritto da il
Redatto da
nginx - bash - ssh - ssh - bash

GitLab è una piattaforma Open source per la gestione di repository git. Molto simile a GitHub, Gitea e Bitbucket, GitLab può essere installato sul proprio server, come per appunto Gitea.

In questa guida affrontiamo l’installazione di GitLab CE (Community Edition) su Centos 8/RHEL 8.

Dipendenze

Prima di tutto dobbiamo installare alcune dipendenze indispensabili, procediamo via dnf:

dnf install curl epel-release openssh-clients openssh-server policycoreutils postfix

Abilitiamo ed avviamo i servizi ssh e postfix appena installati, via systemctl:

systemctl enable sshd postfix
systemctl start sshd postfix

Installazione

Procediamo all’installazione automatica della repository ufficiale:

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

Una volta completata l’installazione della repository, dovremmo ricevere un output simile al seguente:

The repository is setup! You can now install packages.

Quindi ora possiamo effettivamente installare GitLab Community Edition tramite il pacchetto gitlab-ce:

dnf install gitlab-ce

SSL

Abbiamo bisogno di un certificato SSL per il nostro server GitLab. Possiamo generarne uno con Let’s Encrypt, tramite lo strumento certbot. Procediamo quindi alla sua installazione:

dnf install certbot

Una volta ultimata l’installazione, possiamo procedere col generare il nostro nuovo certificato SSL:

certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d il_tuo_dominio.ex

dove:

  • [email protected] è l’indirizzo e-mail dell’intestatario del certificato
  • il_tuo_dominio.ex è il nome del dominio a cui verrà intestato il certificato, ossia il dominio da cui verrà raggiunta l’installazione di GitLab

Ricordate di prendere nota del percorso in cui venngono creati i certificati

Ora dobbiamo generare il certificato DHPARAM (Scambio di chiavi Diffie-Hellman):

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

ed impostiamo i permessi corretti al nuovo certificato:

chmod 600 /etc/gitlab/dhparams.pem

Configurazione

Procediamo con la configurazione del file /etc/gitlab/gitlab.rb, andiamo a modificare i parametri:

  • external_url con il dominio che vogliamo dedicare all’installazione
  • nginx['redirect_http_to_https'] in true
  • nginx['ssl_certificate'] = col percorso al certificato generato
  • nginx['ssl_certificate_key'] = col percorso alla chiave del privata del certificato generato
  • nginx['ssl_dhparam'] = questa volta col percorso del nostro dhparams.pem

Una volta completate le modifiche, riconfiguriamo il servizio tramite il comando gitlab-ctl:

gitlab-ctl reconfigure

Firewall

Andiamo a creare alcune regole nel firewall di sistema, per assicurarci che GitLab sia raggiungibile all’esterno:

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

Visitando il dominio che abbiamo configurato, ci ritroveremo davanti la nostra nuova installazione di GitLab.

history_edu Revisioni