기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Lightsail에서 GitLab CE 인스턴스를 설정하고 구성합니다.
Amazon Lightsail에서 GitLab CE 인스턴스를 가동하고 실행한 후 시작하기 위해 취해야 하는 몇 가지 단계는 다음과 같습니다.
목차
1단계: Bitnami 설명서 읽기
GitLab CE 애플리케이션을 구성하는 방법을 알아보려면 Bitnami 설명서를 읽어보세요. 자세한 내용은 Bitnami의 GitLab CE 패키지 양식을
2단계: GitLab CE 관리 영역에 액세스하기 위한 기본 애플리케이션 암호 가져오기
GitLab CE 웹 사이트의 관리 영역에 액세스하는 데 필요한 기본 애플리케이션 비밀번호를 얻으려면 다음 절차를 완료하십시오. 자세한 내용은 Amazon Lightsail에서 Bitnami 인스턴스에 대한 애플리케이션 사용자 이름 및 암호 가져오기를 참조하십시오.
-
인스턴스 관리 페이지의 Connect 탭에서 Connect using (연결 사용) 를 선택합니다SSH.
-
연결한 후 다음 명령을 입력하여 애플리케이션 암호를 가져옵니다.
cat $HOME/bitnami_application_password
기본 애플리케이션 암호가 포함된 다음 예제와 유사한 응답이 표시되어야 합니다.
3단계: 인스턴스에 고정 IP 주소 연결
인스턴스를 처음 생성할 때 인스턴스에 할당한 퍼블릭 IP 주소는 인스턴스를 중지하고 시작할 때마다 변경됩니다. 퍼블릭 IP 주소가 변경되지 않도록 고정 IP 주소를 만들어 인스턴스에 연결해야 합니다. 나중에 등록된 도메인 이름 (예example.com
: 인스턴스) 을 사용하면 인스턴스를 중지하고 시작할 때마다 도메인 DNS 레코드를 업데이트할 필요가 없습니다. 한 인스턴스에 한 개의 고정 IP를 연결할 수 있습니다.
인스턴스 관리 페이지의 네트워킹(Networking) 탭에서 고정 IP 생성(Create a static IP) 또는 고정 IP 연결(Attach static IP)(인스턴스에 연결할 수 있는 고정 IP를 생성해 둔 경우)을 선택한 다음, 페이지의 지침을 따릅니다. 자세한 내용은 고정 IP를 생성하여 인스턴스에 연결을 참조하세요.
새로운 고정 IP 주소가 인스턴스에 연결되면 애플리케이션이 새로운 고정 IP 주소를 인식하도록 다음 단계를 완료해야 합니다.
-
인스턴스의 고정 IP 주소를 기록해 둡니다. 고정 IP 주소는 인스턴스 관리 페이지의 머리말 섹션에 나와 있습니다.
-
인스턴스 관리 페이지의 Connect 탭에서 Connect use (연결 사용) 를 선택합니다SSH.
-
연결한 후 다음 명령을 입력합니다. Replace
<StaticIP>
인스턴스의 새 고정 IP 주소를 사용합니다.sudo /opt/bitnami/configure_app_domain --domain
<StaticIP>
예:
sudo /opt/bitnami/configure_app_domain --domain
203.0.113.0
다음 예와 비슷한 응답이 나타나는 것을 볼 수 있습니다. 인스턴스의 애플리케이션에서 이제 새 고정 IP 주소를 인식해야 합니다.
4단계: Gitlab CE 웹 사이트의 관리 영역에 로그인
이제 기본 사용자 암호를 얻었으니 GitLab CE 웹 사이트의 홈 페이지로 이동하여 관리 영역에 로그인하십시오. 로그인한 후 웹 사이트 사용자 지정 및 관리 변경을 시작할 수 있습니다. GitLab CE에서 수행할 수 있는 작업에 대한 자세한 내용은 이 안내서 뒷부분의 7단계: GitLab CE 설명서 읽기 및 웹 사이트 구성 계속하기 섹션을 참조하십시오.
-
인스턴스 관리 페이지의 연결(Connect) 탭에서 인스턴스의 퍼블릭 IP 주소를 기록해 둡니다. 퍼블릭 IP 주소는 인스턴스 관리 페이지의 헤더 섹션에도 표시됩니다.
-
인스턴스의 퍼블릭 IP 주소로 이동합니다(예:
http://203.0.113.0
으로 이동).GitLab CE 웹 사이트의 홈 페이지가 나타납니다. 인터넷 연결이 비공개가 아니거나 안전하지 않거나 보안 위험이 있다는 브라우저 경고 메시지가 표시될 수도 있습니다. 이는 GitLab CE 인스턴스에 아직SSL/TLS인증서가 적용되지 않았기 때문에 발생합니다. 브라우저 창에서 Advanced(고급), Details(세부 정보) 또는 More information(추가 정보)을 선택하여 사용할 수 있는 옵션을 표시합니다. 그런 다음 비공개가 아니거나 안전하지 않더라도 웹 사이트로 이동하도록 선택합니다.
-
이 가이드의 초반부에서 검색한 기본 사용자 이름(
root
) 및 기본 암호를 사용하여 로그인합니다.Gitlab CE 관리 대시보드가 나타납니다.
5단계: 등록된 도메인 이름에 대한 트래픽을 GitLab CE 웹 사이트로 라우팅합니다.
등록된 도메인 이름에 대한 트래픽 (예: GitLab CE 웹 사이트) 을 라우팅하려면 도메인의 도메인 이름 시스템 (DNS) 에 레코드를 추가합니다. example.com
DNS레코드는 일반적으로 도메인을 등록한 등록기관에서 관리 및 호스팅됩니다. 하지만 Lightsail 콘솔을 사용하여 관리할 수 있도록 도메인 DNS 레코드 관리를 Lightsail로 이전하는 것이 좋습니다.
Lightsail 콘솔 홈 페이지의 네트워킹 탭에서 영역 DNS생성을 선택한 다음 페이지의 지침을 따르십시오. 자세한 내용은 도메인 레코드 관리를 위한 DNS 영역 만들기를 참조하십시오. DNS
도메인 이름이 인스턴스로 트래픽을 라우팅한 후에는 다음 절차를 완료하여 GitLab CE가 도메인 이름을 인식하도록 해야 합니다.
-
인스턴스 관리 페이지의 Connect 탭에서 Connect use (연결 사용) 를 선택합니다SSH.
-
연결한 후 다음 명령을 입력합니다. Replace
<DomainName>
트래픽을 인스턴스로 라우팅하는 도메인 이름을 사용합니다.sudo /opt/bitnami/configure_app_domain --domain
<DomainName>
예:
sudo /opt/bitnami/configure_app_domain --domain
example.com
다음 예와 비슷한 응답이 나타나는 것을 볼 수 있습니다. 이제 GitLab CE 인스턴스가 도메인 이름을 인식할 수 있을 것입니다.
이 명령이 실패하면 이전 버전의 GitLab CE 인스턴스를 사용하고 있을 수 있습니다. 대신 다음 명령을 실행해 봅니다. Replace
<DomainName>
트래픽을 인스턴스로 라우팅하는 도메인 이름을 사용하십시오.cd /opt/bitnami/apps/gitlab sudo ./bnconfig --machine_hostname
<DomainName>
해당 명령을 실행하고 나서 다음 명령을 입력하여 서버가 재시작될 때마다 bnconfig 도구가 자동으로 실행되지 않도록 합니다.
sudo mv bnconfig bnconfig.disabled
다음으로 GitLab CE 웹 사이트에 HTTPS 연결할 수 있도록SSL/TLS인증서를 생성하고 구성해야 합니다. 자세한 내용은 이 가이드의 다음 6단계: GitLab CE 웹 사이트에 맞게 구성 HTTPS 섹션을 계속 진행하십시오.
6단계: GitLab CE 웹 사이트에 HTTPS 맞게 구성
다음 절차를 완료하여 GitLab CE 웹 HTTPS 사이트에서 구성하십시오. 다음 단계는 Let's EncryptSSL/TLS인증서를 요청하기 위한 명령줄 도구인 Lego 클라이언트를
중요
이 절차를 시작하기 전에 트래픽을 GitLab CE 인스턴스로 라우팅하도록 도메인을 구성했는지 확인하세요. 그렇지 않으면SSL/TLS인증서 검증 프로세스가 실패합니다. 등록된 도메인 이름의 트래픽을 라우팅하려면 도메인에 레코드를 추가합니다. DNS DNS레코드는 일반적으로 도메인을 등록한 등록기관에서 관리 및 호스팅됩니다. 하지만 Lightsail 콘솔을 사용하여 관리할 수 있도록 도메인 DNS 레코드 관리를 Lightsail로 이전하는 것이 좋습니다.
Lightsail 콘솔 홈 페이지의 도메인 DNS 및 탭에서 영역 DNS생성을 선택한 다음 페이지의 지침을 따릅니다. 자세한 내용은 Lightsail에서 도메인 DNS 레코드를 관리하기 위한 DNS 영역 만들기를 참조하십시오.
-
인스턴스 관리 페이지의 Connect 탭에서 Connect using (연결 사용) 를 선택합니다SSH.
-
연결한 후 다음 명령을 입력하여 디렉터리를 임시(/tmp) 디렉터리로 변경합니다.
cd /tmp
-
다음 명령을 입력하여 최신 버전의 Lego 클라이언트를 다운로드합니다. 이 명령은 테이프 아카이브(tar) 파일을 다운로드합니다.
curl -Ls https://api.github.com/repos/xenolf/lego/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '"' -f 4 | wget -i -
-
다음 명령을 입력하여 tar 파일에서 파일을 추출합니다. Replace
X.Y.Z
다운로드한 레고 클라이언트 버전과 함께tar xf lego_v
X.Y.Z
_linux_amd64.tar.gz예:
tar xf lego_v
4.7.0
_linux_amd64.tar.gz -
다음 명령을 입력하여 Lego 클라이언트 파일을 이동할
/opt/bitnami/letsencrypt
디렉터리를 생성합니다.sudo mkdir -p /opt/bitnami/letsencrypt
-
다음 명령을 입력하여 Lego 클라이언트 파일을 생성한 디렉터리로 이동합니다.
sudo mv lego /opt/bitnami/letsencrypt/lego
-
다음 명령을 하나씩 입력하여 인스턴스에서 실행 중인 애플리케이션 서비스를 중지합니다.
sudo service bitnami stop sudo service gitlab-runsvdir stop
-
다음 명령을 입력하여 Lego 클라이언트를 사용하여 Let's EncryptSSL/인증서를 요청합니다. TLS
sudo /opt/bitnami/letsencrypt/lego --tls --email="
EmailAddress
" --domains="RootDomain
" --domains="WwwSubDomain
" --path="/opt/bitnami/letsencrypt" run명령에서 다음 예제 값을 사용자의 값으로 바꿉니다.
-
- 등록 알림을 위한 이메일 주소입니다.EmailAddress
-
— GitLab CE 웹사이트로 트래픽을 라우팅하는 기본 루트 도메인 (예:).RootDomain
example.com
-
— GitLab CE 웹 사이트로 트래픽을 라우팅하는 기본 루트 도메인의WwwSubDomain
www
하위 도메인 (예:www.example.com
).명령에 추가
--domains
파라미터를 지정하여 인증서에 대해 여러 도메인을 지정할 수 있습니다. 여러 도메인을 지정하면 레고는 주체 대체 이름 (SAN) 인증서를 생성하여 지정한 모든 도메인에 대해 하나의 인증서만 유효하게 됩니다. 목록의 첫 번째 도메인은 인증서의 “CommonName" 로 추가되고 나머지 도메인은 인증서 내 SAN 확장에 “DNSNames" 로 추가됩니다.
예:
sudo /opt/bitnami/letsencrypt/lego --tls --email="
user@example.com
" --domains="example.com
" --domains="www.example.com
" --path="/opt/bitnami/letsencrypt" run -
-
메시지가 나타날 때 서비스 약관에 동의하려면 Y 키를 누르고 Enter 키를 누릅니다.
다음 예와 비슷한 응답이 나타나는 것을 볼 수 있습니다.
성공하면 인증서 집합이
/opt/bitnami/letsencrypt/certificates
디렉터리에 저장됩니다. 이 집합에는 서버 인증서 파일(예:example.com.crt
)과 서버 인증서 키 파일(예:example.com.key
)이 포함됩니다. -
다음 명령을 하나씩 입력하여 인스턴스의 기존 인증서 이름을 변경합니다. 나중에 이러한 기존 인증서를 새 Let's Encrypt 인증서로 바꿉니다.
sudo mv /etc/gitlab/ssl/server.crt /etc/gitlab/ssl/server.crt.old sudo mv /etc/gitlab/ssl/server.key /etc/gitlab/ssl/server.key.old sudo mv /etc/gitlab/ssl/server.csr /etc/gitlab/ssl/server.csr.old
-
다음 명령을 하나씩 입력하여 GitLab CE 인스턴스의 기본 인증서 디렉터리인
/etc/gitlab/ssl
디렉터리에 새 Let's Encript 인증서를 위한 심볼 링크를 생성합니다.sudo ln -sf /opt/bitnami/letsencrypt/certificates/
Domain
.key /etc/gitlab/ssl/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/Domain
.crt /etc/gitlab/ssl/server.crt명령에서 다음을 대체합니다.
Domain
Let's Encrypt 인증서를 요청할 때 지정한 기본 루트 도메인을 사용하십시오.예:
sudo ln -sf /opt/bitnami/letsencrypt/certificates/
example.com
.key /etc/gitlab/ssl/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/example.com
.crt /etc/gitlab/ssl/server.crt -
다음 명령을 하나씩 입력하여 새 Let's Encrypt 인증서를 이동한 디렉터리에서 인증서의 권한을 변경합니다.
sudo chown root:root /etc/gitlab/ssl/server* sudo chmod 600 /etc/gitlab/ssl/server*
-
다음 명령을 입력하여 GitLab CE 인스턴스에서 애플리케이션 서비스를 다시 시작합니다.
sudo service bitnami start
다음에 구성한 도메인을 사용하여 GitLab CE 웹 사이트를 탐색하면 해당 도메인이 연결로 리디렉션되는 것을 확인할 수 있습니다. HTTPS GitLab CE 인스턴스가 새 인증서를 인식하는 데 최대 1시간이 걸릴 수 있습니다. GitLab CE 웹 사이트에서 연결이 거부되는 경우 인스턴스를 중지했다가 시작한 후 다시 시도하세요.
7단계: GitLab CE 설명서를 읽고 웹 사이트 구성을 계속하십시오.
GitLab CE 설명서를 읽고 웹 사이트를 관리하고 사용자 지정하는 방법을 알아보십시오. 자세한 내용은 GitLab 설명서를
8단계: 인스턴스의 스냅샷 생성
GitLab CE 웹 사이트를 원하는 방식으로 구성한 후에는 인스턴스의 정기 스냅샷을 생성하여 백업하십시오. 스냅샷을 수동으로 생성하거나 자동 스냅샷을 활성화하여 Lightsail이 매일 스냅샷을 생성하도록 할 수 있습니다. 인스턴스에 문제가 있는 경우 스냅샷을 사용하여 새 교체 인스턴스를 생성할 수 있습니다. 자세한 내용은 스냅샷을 참조하세요.
인스턴스 관리 페이지의 스냅샷(Snapshot) 탭에서 스냅샷 생성(Create a snapshot)을 선택하여 자동 스냅샷을 활성화합니다.
자세한 내용은 Amazon Lightsail에서 Linux 또는 Unix 인스턴스의 스냅샷 생성 또는 Amazon Lightsail의 인스턴스 또는 디스크에 대한 자동 스냅샷 활성화 또는 비활성화를 참조하십시오.