94

セットアップが完了し、GitLab v6.0.1 のデフォルト インストールを実行しています (これもアップグレードしようとしています)。これは、このガイドに正確に従っている「本番」セットアップでした。

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

では、動作中のインストールの URL を安全に変更するにはどうすればよいでしょうか?

どうやら私たちの URL は非常に長いので、新しい URL を考え出しました。いくつかの構成ファイルを編集しましたが、「Application Status Checks」レポートはすべて問題ありません。サーバーを再起動して、問題がまだ機能していることを確認しました。

元の SSL 経由で Nginx に問題なくアクセスできます。GitLab サイトを閲覧したり、リポジトリを作成したりできます。フォークしてコミットすることもできます。

すべて問題ないようです。しかし、これは私にとってネイティブ環境ではないため、GitLab サイトの名前を変更するためにすべてのことを行ったことを再確認したいと思いました。

私が編集したファイルは次のとおりです。

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

5 に答える 5

162

GitLab オムニバス

Omnibus インストールの場合は少し異なります。

Omnibus インストールの正しい場所は次のとおりです。

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

sudo gitlab-ctl reconfigure最後に、実行する必要があるsudo gitlab-ctl restartため、変更が適用されます。


私は間違った場所に変更を加えていましたが、それらは吹き飛ばされていました。

間違ったパスは次のとおりです。

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

次のような警告に注意してください。

# 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`.
于 2015-01-17T22:44:26.790 に答える
29

あなたはすべてを正しく行いました!

電子メール サーバーも同じサーバーであるかどうかに応じて、電子メールの構成を変更することもできます。電子メール構成は、GitLabによって送信されるメールと管理者電子メールの gitlab.yml にあります。

于 2013-10-19T11:13:13.180 に答える
7

Actually, this is NOT totally correct. I arrived at this page, trying to answer this question myself, as we are transitioning production GitLab server from http:// to https:// and most stuff is working as described above, but when you login to https://server and everything looks fine ... except when you browse to a project or repository, and it displays the SSH and HTTP instructions... It says "http" and the instructions it displays also say "http".

I found some more things to edit though:

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

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

and

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

...
于 2014-01-15T02:35:57.177 に答える
1

これに関する詳細なメモがあり、私を完全に助けてくれまし

Jonathon Reinhart はすでに/etc/gitlab/gitlab.rbを編集し、 external_urlを変更してから実行するためのキー ビットで回答しています。sudo gitlab-ctl reconfigure; sudo gitlab-ctl restart

ただし、もう少し先に進む必要があり、上でリンクしたドキュメントで説明されています。それで、私が最終的に得たものは次のようになります:

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

上記で、SSL グッズがこのサーバーのどこにあるかを明示的に宣言しました。そして、もちろんそれに続きます

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

また、オムニバス パッケージを https に切り替えると、バンドルされている nginx はポート 443 でのみサービスを提供します。私のものはすべてリバース プロキシ経由で到達するため、この部分は潜在的に重要でした。

私がこれを行ったとき、私は何かを台無しにして、実際のnginxログを見つけるのに役立ちました.これは私をそこに導きました:

sudo gitlab-ctl tail nginx
于 2016-10-02T16:45:02.143 に答える