[gitlab] 작동중인 GitLab 설치의 URL을 어떻게 변경합니까?

설정을 완료했으며 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



답변

당신은 모든 것을 올바르게했습니다!

이메일 서버가 동일한 서버인지 여부에 따라 이메일 구성을 변경할 수도 있습니다. 이메일 구성에 gitlab.yml GitLab에 의해 전송 된 메일 또한 관리자 – 이메일.


답변

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`.


답변

실제로 이것은 완전히 정확하지 않습니다. 이 페이지에 도착하여 프로덕션 GitLab 서버를에서 http://로 전환 https://하고 대부분의 작업이 위에서 설명한대로 작동하지만 로그인하면 https://server모든 것이 정상적으로 보입니다. 프로젝트를 탐색 할 때를 제외하고는 … 또는 저장소이며 SSH 및 HTTP 지침을 표시합니다. “http”라고 표시되고 표시되는 지침에도 “http”라고 표시됩니다.

그래도 편집 할 내용이 더 있습니다.

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

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

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

...


답변

여기에 완전히 도움이 된 자세한 메모가 있습니다 .

조나단 레인 하트는 이미 편집에, 키 비트에 응답 한 /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

또한 omnibus 패키지를 https로 전환하면 번들로 제공되는 nginx는 포트 443에서만 제공됩니다. 내 모든 항목이 역방향 프록시를 통해 도달하기 때문에이 부분은 잠재적으로 중요했습니다.

이 과정을 거치면서 무언가를 망 쳤고 실제 nginx 로그를 찾는 것이 도움이되었습니다.

sudo gitlab-ctl tail nginx


답변