2013-10-18 9 views
68

Ich habe Setup und wir führen eine Standardinstallation von Gitlab v6.0.1 (wir sind im Begriff, auch zu aktualisieren). Es war eine „Produktion“ Setup, nach dieser Anleitung genau auf den Brief:Wie ändere ich die URL einer funktionierenden GitLab-Installation?

https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md

Nun, wie ändern wir sicher die URL eines Arbeits installieren?

Offenbar ist unsere URL sehr lang und wir haben eine neue URL erstellt. Ich habe eine Reihe von Konfigurationsdateien bearbeitet und den "Application Status Checks" Bericht ist alles in Ordnung. Ich habe den Server neu gestartet, um sicherzustellen, dass die Dinge noch funktionieren. Ich kann einfach auf Nginx zugreifen, über unser ursprüngliches SSL. Ich kann die gitlab-Seite durchsuchen, ein Repo erstellen, etc. Ich kann fork und commit einfach gut.

Alles scheint in Ordnung zu sein; Da dies jedoch keine native Umgebung für mich ist, wollte ich überprüfen, ob ich alles getan habe, um eine Gitlab-Site umzubenennen.

Die Dateien, die ich bearbeitet habe, sind:

/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 new url 

/etc/nginx/sites-available/gitlab 
    server { 
    server_name git.domain.com 

Dank!

+8

Omnibus Benutzer installieren: [Der Prozess unterscheidet] (http: // stackoverflow.com/a/28005168/119527). –

Antwort

23

Sie haben alles richtig gemacht!

Was Sie auch ändern können, ist die E-Mail-Konfiguration abhängig davon, ob der E-Mail-Server auch derselbe Server ist. Die E-Mail-Konfiguration ist in gitlab.yml für die von GitLab gesendeten Mails und auch die Admin-E-Mail.

+0

Ich habe mich gefragt, weil ich die Von-E-Mail (und die andere E-Mail), die von unserem globalen E-Mail-Alias ​​einer Entwicklergruppe gesendet werden soll, auf einer anderen Domäne eingerichtet habe. Wie: [email protected] Der Grund dafür ist, dass Entwickler Reply treffen können, um Kommentare zu Pull-Anfragen oder anderen allgemeinen E-Mails zu machen. – eduncan911

+2

Kam zurück, um dies als eine Antwort zu markieren, da GitLab funktioniert seit ich diese Änderungen oben durchgeführt habe. – eduncan911

7

Eigentlich ist das nicht völlig richtig. Ich bin auf dieser Seite angekommen und habe versucht, diese Frage selbst zu beantworten, da wir die Produktion gitlab server von http:// zu https:// und am meisten stopfen arbeitet wie oben beschrieben, aber wenn Sie sich anmelden https://server und alles sieht gut aus ... außer wenn Sie navigieren zu einem Projekt oder Repository, und es zeigt die ssh und http Anweisungen ... Es sagt "http" und die Anweisungen zeigt auch "http" an.

fand ich einige weitere Dinge, obwohl zu bearbeiten:

/home/git/gitlab/config/gitlab.yml 
    production: &base 
    gitlab: 
     host: git.domain.com 

     # Also edit these: 
     port: 443 
     https: true 
... 

und

/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; 

... 
+0

Danke Edward für deinen Kommentar (du hast eine Antwort auf diese Frage geschrieben, wenn es sich tatsächlich um einen Kommentar zu einer anderen Antwort von @Razer oben handelt). Vielleicht möchten Sie Ihre Antwort (Kommentar) bearbeiten, um anzugeben, für welche Version Sie sich in anderen befinden. Aber wir verwenden GitLab nur mit diesen Änderungen, seit ich diese Frage gestellt habe. Wir können Repos und Projekte im gesamten Team durchsuchen - komplett über SSL exklusiv in unserem Unternehmensnetzwerk. – eduncan911

+2

Ich weiß, aber die andere Antwort ist als eine akzeptierte Antwort markiert. Also wollte ich absichtlich nicht dazu kommentieren, da das nicht beachtet wird. Eine andere Antwort zu veröffentlichen ist ein bisschen ausgeprägter. Ich bin auf der neuesten Gitlab-Shell 1.8.0 und Gitlab 6.4 stabil. Wir können auch komplett über https und ssh arbeiten. Aber wir müssen daran denken, http durch https zu ersetzen, wenn wir Anweisungen und URLs von der Webschnittstelle zum Git-Client kopieren und einfügen. –

+0

Das klingt für mich, dass Sie eine URL in einer der Konfigurationsdateien verpasst haben. Wir verwenden nur HTTPS und deaktivierten HTTP vor dem "Verschieben" in meiner ursprünglichen Frage/Beschreibung hier. Wenn wir es ausschließlich als HTTPS verwenden, können wir uns gemäß den veröffentlichten Anweisungen nahtlos bewegen. Wenn Sie jedoch eine HTTP/HTTPS-Umgebung im gemischten Modus verwenden, müssen Sie wahrscheinlich einige zusätzliche Zeilen bearbeiten. – eduncan911

123

Gitlab Omnibus

Für einen Omnibus installieren, es ist ein wenig anders.

Die richtige in einem Omnibus installieren ist:

/etc/gitlab/gitlab.rb 
    external_url 'http://gitlab.example.com' 

Schließlich werden Sie sudo gitlab-ctl reconfigure und sudo gitlab-ctl restart, damit die Änderungen ausführen müssen, anwenden.


Ich machte Änderungen an den falschen Stellen und sie wurden weggeblasen.

Die falsche Pfade sind:

/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml 
/var/opt/gitlab/.gitconfig 
/var/opt/gitlab/nginx/conf/gitlab-http.conf 

Achten Sie auf diese Warnungen, die lesen:

# 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`. 
+0

Ich habe GitLab Omnibus auf einem internen Server, aber zugänglich aus dem Internet von einer anderen URL. Die Option 'external_url' in' /etc/gitlab/gitlab.rb' war der richtige Ort, um die URL so einzustellen, dass die Git/HTTP-URLs des Projekts korrekt sind. –

+0

Nach dieser Änderung und nach dem Ausführen von gitlab-ctl reconfigure müssen Sie den Server neu starten, damit die nginx-Rekonfiguration stattfinden kann. – Dejv

+0

Sie haben Recht, dies ist der einzige und beste Ort, um diese Einstellungen zu ändern. Der Rest wird generiert. – danger89

0

detaillierte Hinweise dazu gibt, die mir völlig geholfen, located here.

Jonathon Rein bereits mit dem Schlüssel Bit antwortete /etc/gitlab/gitlab.rb, verändern die external_url zu bearbeiten und dann sudo gitlab-ctl reconfigure; sudo gitlab-ctl restart

laufen aber ich ein bisschen weiter und docs gehen musste Ich verlinkte oben erklärt es. Also, was ich mit Blicken endete wie:

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" 
} 

Oben habe ich ausdrücklich erklärt, wo mein SSL Goodies auf diesem Server ist. Und das ist natürlich gefolgt von

sudo gitlab-ctl reconfigure 
sudo gitlab-ctl restart 

Auch wenn Sie das Gesamtpaket zu https, die gebündelt nginx schaltet nur auf Port dienen 443. Da alle meine Sachen über Reverse-Proxy erreicht ist, war dieser Teil potenziell signifikant.

Als ich durch das ging, schraubte ich etwas und es hilfreich, die tatsächlichen nginx Protokolle zu finden, das mich dorthin führen:

sudo gitlab-ctl tail nginx 
Verwandte Themen