#howto - Installazione e configurazione di GitLab CE con SSL su Centos 8/RHEL 8
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’installazionenginx['redirect_http_to_https']
intrue
nginx['ssl_certificate']
= col percorso al certificato generatonginx['ssl_certificate_key']
= col percorso alla chiave del privata del certificato generatonginx['ssl_dhparam']
= questa volta col percorso del nostrodhparams.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.