Recent Posts
Recent Comments
Link
11-21 14:38
Today
Total
관리 메뉴

삶 가운데 남긴 기록 AACII.TISTORY.COM

CentOS7 GitLab ce 설치 본문

DEV&OPS/Linux & Cloud

CentOS7 GitLab ce 설치

ALEPH.GEM 2022. 10. 7. 16:31

https://about.gitlab.com/install/#centos-7?version=ce

 

Download and install GitLab

Learn about the various GitLab installation packages and downloads for Ubuntu, Debian, Docker, Google Cloud, and many more.

about.gitlab.com

GitLab은 EE 버전과 CE 버전이 있는데 CE(Community Edition) 버전이 무료 버전입니다만,

공식 사이트에서는 기본적으로 EE 버전으로 설치 가이드가 작성되어 있어서 따로 CE버전 설치 방법을 포스팅하겠습니다.

 

1. Git 설치

우선 git이 설치되어있는지 확인합니다. 

git --version

root 계정이 아닌 일반 계정 sudo를 통해 설치를 권장드립니다.

여기서는 최신? 버전으로 바꾸기 위해 git을 제거합니다.

sudo yum remove git

위처럼 git을 제거했거나 설치가 되어 있지 않다면 Wandisco 사에서 운영하는 repository를 사용해 아래의 링크를 install 합니다.

sudo yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-1.noarch.rpm

git을 설치합니다.

sudo yum install git

2. GitLab 설치

공식 홈페이지의 가이드에 따르면 open ssh와 postfix를 설치하라고 나오는데, 아마 이미 centos7을 설치하면서 같이 설치되었을 수도 있습니다.

sudo yum install curl policycoreutils openssh-server openssh-clients 

sudo systemctl enable sshd 

sudo systemctl start sshd 

sudo yum install postfix 

sudo systemctl enable postfix 

sudo systemctl start postfix 

sudo firewall-cmd --permanent --add-service=http 

sudo systemctl reload firewalld

이제 GitLab CE 버전을 설치해 봅시다.

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

sudo EXTERNAL_URL="192.168.1.100:8181" yum install -y gitlab-ce

여기서 192.168.1.100 은 설치할 gitlab 서버의 ip주소를 의미하며 8181은 포트 번호입니다.

80포트나 8080 포트같은 흔히 사용하는 포트 번호를 피해서 지정해 둡니다.

 

설정 파일은 /etc/gitlab/gitlab.rb  에 위치하고 있습니다.

sudo vi /etc/gitlab/gitlab.rb

## GitLab URL 항목 부근에 external_url 이라는 항목이 있는데 작은따옴표의 내용을 원하시는 URL과 포트번호로 변경하시면 됩니다. 

external_url 'http://192.168.1.115:8181'

수정이 완료되었으면 wq! 하고 빠져나옵니다.

그리고 8181 포트 방화벽을 열어봅시다.

sudo firewall-cmd --permanent --add-port=8181/tcp 

sudo firewall-cmd --reload

만약 설정 파일을 수정하셨다면 설정 파일을 적용합니다.

sudo gitlab-ctl reconfigure

※ 참고: gitlab 재시작/중지/시작 명령어

sudo gitlab-ctl restart

sudo gitlab-ctl stop

sudo gitlab-ctl start

 

이제 브라우저에서 http://gitlab설치주소:8181 으로 접속하시면 아래처럼 gitlab을 사용할 수 있습니다.

root계정의 패스워드를 변경하면 로그인할 수 있습니다.

root 계정 패스워드 변경

 

2-1 GITLAB root 패스워드 변경 방법

gitlab shell 실행

sudo gitlab-rails console -e production

root 계정 찾기

user=User.where(id:1).first

root 계정 비밀번호 변경

user.password='변경할비밀번호'

비밀번호 확인

user.password_confirmation='재확인비밀번호'

저장

user.save

결과 값이 true로 나오면 성공적으로 root 패스워드를 변경한 것입니다.

 

GITLAB shell 나가기

exit

 

 

puma 설정

https://aacii.tistory.com/343

 

gitlab 설치 시 포트를 변경했지만 8080 포트가 사용중인 경우

gitlab 설치 시에 기본 port가 8080 입니다. 그런데 8080은 흔히 WAS에서 사용하는 포트기 때문에 보통 gitlab의 포트를 8080 포트가 아닌 다른 포트로 변경해서 설치합니다. (external_url 설정으로...) 그런데

blog.aacii.net

 

 

 

 

 


3. 502 에러

sudo 가 아닌 root 계정으로 gitlab을 설치하셨다면 브라우저로 접속했을 때 502 에러가 나올 확률이 높습니다.

포트나 환경설정 문제일 수도 있는데 대부분 로그 디렉터리의 권한 문제 때문에 발생하는 것 같습니다.

chown이나 chmod으로 로그 디렉터리의 권한을  주면 502 에러를 해결할 수 있습니다.

관련 경로는 다음과 같습니다.

sudo chown -R GitLab관리계정명:GitLab관리계정그룹명 /var/log/gitlab/unicorn
sudo chown -R GitLab관리계정명:GitLab관리계정그룹명 /var/log/gitlab/gitlab-git-http-server
sudo chown -R GitLab관리계정명:GitLab관리계정그룹명 /var/log/gitlab/gitlab-rails
sudo chown -R GitLab관리계정명:GitLab관리계정그룹명 /var/log/gitlab/gitlab-shell
sudo chown -R GitLab관리계정명:GitLab관리계정그룹명 /var/log/gitlab/sidekiq
sudo chown -R GitLab관리계정명:GitLab관리계정그룹명 /var/log/gitlab/gitlab-workhorse
sudo chown -R GitLab관리계정명:GitLab관리계정그룹명 /var/log/gitlab/gitlab-exporter

sudo chown -R GitLab관리계정명:GitLab관리계정그룹명 /var/opt/gitlab/gitlab-rails
sudo chown -R GitLab관리계정명:GitLab관리계정그룹명 /var/opt/gitlab/gitlab-workhorse
sudo chown -R GitLab관리계정명:GitLab관리계정그룹명 /var/opt/gitlab/gitlab-shell
sudo chown -R GitLab관리계정명:GitLab관리계정그룹명 /var/opt/gitlab/gitlab-exporter

여기서는 관련이 있을 것 같은 경로를 모두 적었지만 실제로는 관련이 없는 디렉터리도 있을 것입니다.

 

root 계정이 아닌 일반계정으로 sudo 명령을 이용해서 설치하시길 바랍니다. 

 


좌측 상단의 스패너 모양 아이콘을 클릭하시면 user와 group을 관리할 수 있습니다.

user group 설정

 


4. GitLab 삭제

gitlab 삭제하는 법

 

sudo gitlab-ctl uninstall

sudo gitlab-ctl cleanse

sudo gitlab-ctl remove-accounts

sudo dpkg -P gitlab-ce || sudo yum -y remove gitlab-ce

아래 경로 삭제

/opt/gitlab

/var/opt/gitlab

/etc/gitlab

/var/log/gitlab

 

 

 

 

 

728x90

'DEV&OPS > Linux & Cloud' 카테고리의 다른 글

CentOS 에서 crontab 과 at사용법  (0) 2022.12.14
git 추적 중지  (0) 2022.11.01
CentOS 7 일반 계정에 sudo 권한 부여  (0) 2022.10.07
CentOS 7 oracle 19c 설치  (0) 2022.07.19
RSA 공개키/개인키로 PuTTY SSH 접속  (0) 2022.07.06