상대 URL로 GitLab 설치하기

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 인스턴스를 가리키는 로컬 리포지토리에서 수동으로 편집해야 합니다.

상대 URL에서 GitLab을 제공하도록 구성해야 하는 구성 파일 목록은 다음과 같습니다:

  • /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로 구성하면 자산(JavaScript, CSS, 글ꔷꔷ 및 이미지 포함)이 다시 컴파일되어 많은 CPU 및 메모리 자원을 소비할 수 있습니다. 메모리 부족 오류를 피하려면 컴퓨터에 적어도 2GB의 RAM이 있어야 하며, 4GB RAM 및 4GB 또는 8GB CPU 코어를 권장합니다.

자세한 내용은 requirements 문서를 참조하십시오.

GitLab에서 상대 URL 활성화

note
상대 URL에 대한 웹 서버 구성 파일을 수정하지 마십시오. 상대 URL 지원은 GitLab Workhorse에 의해 구현됩니다.

GitLab에서 상대 URL 활성화하기 전에

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 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을 상대 경로를 포함하지 않는 것으로 설정하십시오.