상대 URL에서 GitLab 설치하기

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

GitLab을 자체 (하위) 도메인에 설치해야하지만, 때때로 다양한 이유로 그렇게 할 수 없는 경우가 있습니다. 이 경우 GitLab은 상대 URL 아래에도 설치할 수 있습니다. 예를 들어 https://example.com/gitlab와 같이 상대 URL에 GitLab을 설치할 수 있습니다.

이 문서에서는 소스에서 GitLab을 상대 URL로 실행하는 방법을 설명합니다. 공식 리눅스 패키지를 사용하는 경우, 단계가 다릅니다. 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 요구 사항

상대 URL로 GitLab을 구성하는 경우 자산 (JavaScript, 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 스크립트와 defaults 파일을 복사했는지 확인하십시오. 그런 다음 /etc/default/gitlab을 편집하고 gitlab_workhorse_options에 다음과 같이 설정하십시오:

    -authBackend http://127.0.0.1:8080/gitlab
    
    note
    커스텀 이닛 스크립트를 사용하는 경우, 필요에 따라 위의 GitLab Workhorse 설정을 편집하십시오.
  7. 변경 사항이 적용되려면 GitLab을 다시 시작하십시오.

GitLab에서 상대 URL 비활성화

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

  1. /home/git/gitlab/config/initializers/relative_url.rb를 제거하십시오.

  2. 위의 2에서 시작하여 같은 단계를 따르고 GitLab URL을 상대 경로를 포함하지 않는 URL로 설정하십시오.