J'ai installé et nous exécutons une installation par défaut de GitLab v6.0.1 (nous sommes sur le point de mettre à jour également). C'était une configuration "Production", suivant ce guide à la lettre:
https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md
Comment pouvons-nous modifier en toute sécurité l'URL d'une installation en fonctionnement?
Apparemment, notre URL est très longue et nous en avons créé une nouvelle. J'ai modifié plusieurs fichiers de configuration et le rapport "Vérifications de l'état de l'application" indique que tout est OK. J'ai redémarré le serveur pour m'assurer que les choses fonctionnent toujours.
Je peux très bien accéder à Nginx, via notre protocole SSL original. Je peux naviguer sur le site GitLab, créer un référentiel, etc. Je peux créer et commettre correctement.
Tout semble aller pour le mieux. mais, comme ce n’est pas un environnement natif pour moi, je voulais vérifier que j’ai tout fait pour renommer un site GitLab.
Les fichiers que j'ai édités sont:
/etc/hosts
127.0.0.1 localhost
10.0.0.10 wake.domain.com wake
10.0.0.10 git.domain.com git
/home/git/gitlab/config/gitlab.yml
production: &base
gitlab:
Host: git.domain.com
/home/git/gitlab-Shell/config.yml
gitlab_url: "https://git.domain.com"
^- yes, we are on SSL and that is working, even on a new URL
/etc/nginx/sites-available/gitlab
server {
server_name git.domain.com
Vous avez tout fait correctement!
Vous pouvez également modifier la configuration de messagerie, selon que le serveur de messagerie est également le même serveur. La configuration de l'email est dans gitlab.yml pour les mails envoyés par GitLab ainsi que l'admin-email.
Pour une installation Omnibus, c'est un peu différent.
L'emplacement correct dans une installation Omnibus est:
/etc/gitlab/gitlab.rb
external_url 'http://gitlab.example.com'
Enfin, vous devrez exécuter Sudo gitlab-ctl reconfigure
et Sudo gitlab-ctl restart
pour que les modifications s'appliquent.
Je faisais des changements aux mauvais endroits et ils étaient époustouflés.
Les chemins incorrects sont:
/opt/gitlab/embedded/service/gitlab-Rails/config/gitlab.yml
/var/opt/gitlab/.gitconfig
/var/opt/gitlab/nginx/conf/gitlab-http.conf
Faites attention aux avertissements qui se lisent:
# This file is managed by gitlab-ctl. Manual changes will be
# erased! To change the contents below, edit /etc/gitlab/gitlab.rb
# and run `Sudo gitlab-ctl reconfigure`.
En fait, ce n'est pas tout à fait correct. Je suis arrivé à cette page, en essayant de répondre moi-même à cette question, car nous sommes en train de faire passer le serveur de production GitLab de http://
à https://
et la plupart ça fonctionne comme décrit ci-dessus, mais vous vous connectez à https://server
et tout se passe bien ... sauf lorsque vous accédez à un projet ou à un référentiel, et qu'il affiche les instructions SSH et HTTP ... Il indique "http" et les instructions affichées indiquent également "http ".
J'ai trouvé d'autres choses à éditer:
/home/git/gitlab/config/gitlab.yml
production: &base
gitlab:
Host: git.domain.com
# Also edit these:
port: 443
https: true
...
et
/etc/nginx/sites-available/gitlab
server {
server_name git.domain.com;
# Also edit these:
listen 443 ssl;
ssl_certificate /etc/ssl/certs/somecert.crt;
ssl_certificate_key /etc/ssl/private/somekey.key;
...
Il y a des notes détaillées à ce sujet qui m'ont complètement aidé, situé ici .
Jonathon Reinhart a déjà répondu avec le bit clé, éditer /etc/gitlab/gitlab.rb , modifier le external_url puis exécutez Sudo gitlab-ctl reconfigure; Sudo gitlab-ctl restart
Cependant, je devais aller un peu plus loin et la documentation que j'ai liée ci-dessus l'expliquait. Donc, ce que j'ai fini avec ressemble à:
external_url 'https://gitlab.toilethumor.com'
nginx['ssl_certificate'] = "/www/ssl/star_toilethumor.com-chained.crt"
nginx['ssl_certificate_key'] = "/www/ssl/star_toilethumor.com.key"
nginx['proxy_set_headers'] = {
"X-Forwarded-Proto" => "http",
"CUSTOM_HEADER" => "VALUE"
}
Ci-dessus, j'ai explicitement déclaré où se trouvent mes goodies SSL sur ce serveur. Et c'est bien sûr suivi par
Sudo gitlab-ctl reconfigure
Sudo gitlab-ctl restart
De plus, lorsque vous basculez le paquet omnibus sur https, le nginx fourni ne servira que sur le port 443. Étant donné que toutes mes données sont accessibles via un proxy inverse, cette partie était potentiellement importante.
Au fur et à mesure que je traversais cela, j'ai bousillé quelque chose et il était utile de trouver les journaux de Nginx, cela m'a conduit là:
Sudo gitlab-ctl tail nginx