GitLab을 상대 URL 아래에 설치

Tier: Free, Premium, Ultimate Offering: Self-managed

GitLab은 고유한(하위) 도메인에서 설치하는 것이 좋지만, 여러 가지 이유로 인해 이것이 불가능할 때가 있습니다. 그런 경우, GitLab은 https://example.com/gitlab과 같은 상대 URL 아래에 설치할 수도 있습니다.

이 문서는 소스에서 설치할 때 GitLab을 상대 URL 아래에서 실행하는 방법을 설명합니다. 공식 Linux 패키지를 사용하는 경우,
단계가 다릅니다. GitLab을 처음 설치하는 경우,
이 가이드를 설치 가이드와 함께 사용하세요.

상대 URL이 얼마나 깊게 중첩될 수 있는지에 대한 제한은 없습니다. 예를 들어 /foo/bar/gitlab/git 아래에서 GitLab을 제공할 수 있습니다.

기존 GitLab 설치의 URL을 변경하면 모든 원격 URL이 변경되므로, GitLab 인스턴스를 가리키는 로컬 저장소에서 수동으로 편집해야 합니다.

GitLab을 상대 URL에서 제공하기 위해 변경해야 할 구성 파일 목록은 다음과 같습니다:

  • /home/git/gitlab/config/initializers/relative_url.rb
  • /home/git/gitlab/config/gitlab.yml
  • /home/git/gitlab/config/puma.rb
  • /home/git/gitlab-shell/config.yml
  • /etc/default/gitlab

모든 변경 후, 자산을 다시 컴파일하고 GitLab을 재시작해야 합니다.

상대 URL 요구 사항

GitLab을 상대 URL로 구성할 경우, 자산(자바스크립트, CSS, 글꼴 및 이미지 포함)을 다시 컴파일해야 하며, 이는 많은 CPU 및 메모리 자원을 소모할 수 있습니다. 메모리 부족 오류를 피하기 위해 컴퓨터에 최소 2GB의 RAM이 있어야 하며, 4GB RAM과 4~8개의 CPU 코어를 권장합니다.

자세한 정보는 요구 사항 문서를 참조하세요.

GitLab에서 상대 URL 활성화

note
상대 URL에 대한 웹 서버 구성 파일을 변경하지 마세요. 상대 URL 지원은 GitLab Workhorse에 의해 구현됩니다.

GitLab에서 상대 URL을 활성화하기 위한 단계 아래에 따라 진행하기 전에, 몇 가지 가정이 이루어집니다:

  • GitLab은 /gitlab에서 제공됩니다.
  • GitLab이 설치된 디렉터리는 /home/git/입니다.

아래의 모든 단계를 따르세요:

  1. 선택 사항. 자원이 부족할 경우, 다음 명령어로 GitLab 서비스를 종료하여 메모리를 일시적으로 확보할 수 있습니다:

    sudo service gitlab stop
    
  2. /home/git/gitlab/config/initializers/relative_url.rb를 생성합니다.

    cp /home/git/gitlab/config/initializers/relative_url.rb.sample \
       /home/git/gitlab/config/initializers/relative_url.rb
    

    그리고 다음 줄을 변경합니다:

    config.relative_url_root = "/gitlab"
    
  3. /home/git/gitlab/config/gitlab.yml를 편집하고 다음 줄의 주석을 제거하거나 변경합니다:

    relative_url_root: /gitlab
    
  4. /home/git/gitlab/config/puma.rb를 편집하고 다음 줄의 주석을 제거하거나 변경합니다:

    ENV['RAILS_RELATIVE_URL_ROOT'] = "/gitlab"
    
  5. /home/git/gitlab-shell/config.yml을 편집하고 다음 줄에 상대 경로를 추가합니다:

    gitlab_url: http://127.0.0.1/gitlab
    
  6. 제공된 systemd 서비스 또는 init 스크립트와 기본 파일을 복사했는지 확인하여,
    설치 가이드에 명시된 대로, /etc/default/gitlab를 편집하고 gitlab_workhorse_options에서
    -authBackend 설정을 다음과 같이 설정합니다:

    -authBackend http://127.0.0.1:8080/gitlab
    
    note
    사용자 정의 init 스크립트를 사용하는 경우, 위의 GitLab Workhorse 설정을 필요에 따라 편집해야 합니다.
  7. 변경 사항이 적용되도록 GitLab을 재시작하세요.

GitLab에서 상대 URL 비활성화

상대 URL을 비활성화하려면:

  1. /home/git/gitlab/config/initializers/relative_url.rb를 제거합니다.

  2. 2번부터 위와 동일하게 진행하고 GitLab URL을 상대 경로가 포함되지 않은 것으로 설정합니다.