Petit mémo pour configurer une instance GitLab en HTTPS sans utiliser Let's Encrypt.
Prérequis
Vous devez disposer d'une instance GitLab fonctionelle. Pour mon instance j'ai utilisé la procédure suivante : https://packages.gitlab.com/gitlab/gitlab-ce/install#bash-deb
Vous devez disposer de votre certificat ainsi que de sa clé privée.
Procédure
1) Se connecter sur votre instance GitLab en SSH.
2) Editer le fichier de configuration suivant : /etc/gitlab/gitlab.rb
# nano /etc/gitlab/gitlab.rb
3) Modifier l'URL externe (en fonction de votre certificat) :
external_url 'https://gitlab.mondom.fr'
4) Décommenter les lignes suivantes et les modifier de cette façon :
nginx['redirect_http_to_https'] = true nginx['redirect_http_to_https_port'] = 80 ...... nginx['ssl_certificate'] = "/etc/gitlab/ssl/#{node['fqdn']}.crt" nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/#{node['fqdn']}.key" ...... letsencrypt['enable'] = false
5) Créer le répertoire /etc/gitlab/ssl si il n'existe pas
# mkdir /etc/gitlab/ssl
6) Copier votre certificat ainsi que sa clé privée dans le répertoire /etc/gitlab/ssl
/!\ ATTENTION /!\ Le nom du certificat ainsi que la clé privée doivent être de la forme : Nom_du_serveur.domaine.local.crt et Nom_du_serveur.domaine.local.key. Pour connaitre le nom, utiliser la commande hostname.
7) Reconfigurer votre instance GitLab en utilisant la commande suivante :
# gitlab-ctl reconfigure
8) Pour finir, redémarrer les services GitLab
# gitlab-ctl restart