Programing/Git & Github
[Gitlab] Ubuntu에서 Gitlab 설치 (gitlab-ce)
AustinProd
2022. 11. 6. 20:03
이번 포스트에서는 Ubuntu 서버에서 실행할 Gitlab에 대한 설치법을 간단히 정리한다.
필수 의존성 패키지 다운
# Ubuntu 패키지 매니저 업데이트
sudo apt-get update
# 의존성 패키지 다운로드 (openssh-server, ca-certificates)
sudo apt-get install curl openssh-server ca-certificates
이메일 알림 설정 (선택)
이 단계는 Gitlab에서 메일 서비스를 사용하길 원할 경우 진행한다.
# postfix 다운
sudo apt-get install postfix
패키지 다운
GItlab 패키지는 CE(Community-Eddition, 커뮤니티 버전)과 EE (Enterprise-Eddition, 엔터프라이즈 버전)이 있다. 일반적인 오픈 소스 기능만 사용하고자 한다면 CE를 사용하면 된다. EE의 경우 유료 라이센스를 구입하면, 오픈 소스에서 제공하지 않는 기능이 제공된다.
이 포스트에서는 CE로 설치를 진행한다.
# Gitlab 원격 저장소를 서버 시스템 목록에 등록
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
# Gitlab 다운로드
sudo apt-get install gitlab-ce
> Thank you for installing GitLab!
방화벽 설정
Gitlab의 인터페이스를 사용하려면, 80/443 포트를 열어줘야한다. 소스 코드 클론을 위해서 22번 포트로 열어주도록 하자.
# 방화벽 설정 (22, 80, 443 포트)
sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
# 방화벽 활성화
sudo ufw enable
# 방화벽 설정 확인
sudo ufw status
> Status: active
To Action From
-- ------ ----
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
OpenSSH ALLOW Anywhere
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
설정 파일 수정
패키지 설치와 방화벽 작업이 다 되었으면, 외부 접근 URL을 맞춰주자. 도메인이 있다면, external_url 항목에 입력하고, 없다면 서버 IP/Port 를 입력하면 된다.
저장소로 사용되는 디렉토리 경로를 지정할 수 있는데, 선택사항이니 필요에 맞춰 수정하자.
# 설정 파일 열기
sudo vi /etc/gitlab/gitlab.rb
# 접속 URL 정보 수정
> external_url http(s)://[ URL ] (외부 접속 URL 입력, 도메인이 없을 경우 서버 IP, Port)
# 데이터 저장 경로 (선택)
> git_data_dirs({
"default" => {
"path" => "[ DIR_PATH ] /git-data"
}
})
# 시간 설정 - 서울
gitlab_rails['time_zone'] = 'Asia/Seoul'
# 메일 서비스 설정 (선택)
gitlab_rails['smtp_enable'] = true
설정 적용 및 재시작
설정이 끝나면 아래 명령어로 해당 옵션을 활성화하고, Gitlab을 재실행한다.
# 설정 적용
sudo gitlab-ctl reconfigure
# Gitlab 재시작
sudo gitlab-ctl restart
접속 (관리자 로그인)
재시작이 되면, 설정한 도메인 혹은 서버 IP를 통해 Gitlab에 접속할 수 있다. 제일 처음 로그인 화면이 뜨는데, 관리자 로그인이 필요하다. 아이디는 디폴트로 root이며, 비밀번호는 서버 내 아래 명령어로 확인할 수 있다.
# 관리자 비밀번호
root
# 관리자 초기 비밀번호
cat /etc/gitlab/initial_root_password