GitLab 은 GitLab Inc. 가 만든 웹 기반 DevOps 플랫폼이다. Git 저장소 호스팅에 이슈 추적 · 코드 리뷰 · CI/CD · 패키지 저장소 · 보안 검사까지 한 애플리케이션 안에 담고 있다. 오픈 소스인 Community Edition(CE)과 상용 Enterprise Edition(EE)이 있고, 코드는 Ruby(Rails)와 Go 로 짜여 있다.
현행 버전은 19.5 다.[1] Git 자체의 사용법은 Git 에서 다룬다. 공식 홈페이지는 https://about.gitlab.com/ 이다.
단일 노드 기준 공식 권장 사양이다.[2]
| 항목 | 값 |
|---|---|
| CPU | 8 vCPU (기준선) |
| 메모리 | 16 GB (기준선). 제한된 환경은 8 GB 까지 |
| 디스크 | 애플리케이션 40 GB + 저장소 크기 + PostgreSQL 5 ~ 12 GB. SSD 권장, NFS 류 네트워크 파일시스템은 피한다 |
| 데이터베이스 | PostgreSQL (패키지에 내장) |
| OS | AlmaLinux · RHEL · Rocky 9, Ubuntu, Debian 등 Linux 패키지 지원 배포판[3] |
| 포트 | 22 (SSH), 80, 443 |
Linux 패키지(Omnibus)는 다음을 한 번에 설치하고 gitlab-ctl 로 묶어 관리한다.
SSH 를 켜고 방화벽을 연다.
sudo dnf install -y curl policycoreutils openssh-server perl
sudo systemctl enable --now sshd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=ssh
sudo systemctl reload firewalld
알림 메일을 외부 SMTP 로 보내지 않을 거면 Postfix 를 설치한다.
sudo dnf install -y postfix
sudo systemctl enable --now postfix
curl --location "https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh" | sudo bash
EXTERNAL_URL 에 사용자가 접속할 주소를 넣는다. https:// 로 주면 Let's Encrypt 인증서를 자동으로 받으려 시도하므로, 공인 DNS 가 없는 내부망이면 http:// 로 두고 나중에 인증서를 붙인다.
sudo EXTERNAL_URL="https://gitlab.example.com" dnf install -y gitlab-ce
/etc/gitlab/gitlab.rb 를 고친 뒤 반영한다. 저장소 데이터 경로는 18.0 부터 gitaly['configuration'] 로 지정한다. 옛 git_data_dirs 는 더 이상 쓰이지 않는다.[5]
external_url 'https://gitlab.example.com'
gitaly['configuration'] = {
storage: [
{
name: 'default',
path: '/disk01/git-data/repositories',
},
],
}
sudo gitlab-ctl reconfigure
첫 로그인은 root 계정이다. 비밀번호는 설치 후 24시간 동안만 남는 파일에 있다.
sudo cat /etc/gitlab/initial_root_password
sudo gitlab-ctl status
브라우저에서 EXTERNAL_URL 로 접속해 로그인하고 곧바로 비밀번호를 바꾼다. 파일이 이미 지워졌으면 Gitlab root password 초기화 를 따른다.
sudo gitlab-ctl status
sudo gitlab-ctl restart
sudo gitlab-ctl tail
위 버전과 저장소는 오래된 것이라 저장소가 존재하지 않을 수 있다.
# 의존성
sudo yum install -y curl policycoreutils-python openssh-server openssh-clients perl
sudo yum install -y postfix
# 설치 후 EXTERNAL_URL 은 gitlab.rb 에서 바꿀 수 있다
sudo EXTERNAL_URL="0.0.0.0:80" yum install -y gitlab-ce
당시의 저장소 경로 설정이다. 현행 버전에서는 위 gitaly['configuration'] 을 쓴다.
git_data_dirs({
"default" => { "path" => "/disk01/git-data" },
})
sudo gitlab-ctl reconfigure
gitlab-rake 또는 Rails 콘솔로 root 비밀번호를 다시 정한다.최신 버전 19.5 — 2026-09-20 확인. https://docs.gitlab.com/releases/19/ ↩︎ ↩︎
GitLab installation requirements. 2026-09-20 확인. https://docs.gitlab.com/install/requirements/ ↩︎
Supported operating systems. 2026-09-20 확인. https://docs.gitlab.com/install/package/ ↩︎
Install GitLab on AlmaLinux. 2026-09-20 확인. https://docs.gitlab.com/install/package/almalinux/ ↩︎
Configure Gitaly storage. 2026-09-20 확인. https://docs.gitlab.com/omnibus/settings/configuration/ ↩︎