삶 가운데 남긴 기록 AACII.TISTORY.COM
CentOS7 GitLab ce 설치 본문
https://about.gitlab.com/install/#centos-7?version=ce
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계정의 패스워드를 변경하면 로그인할 수 있습니다.
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 설정
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을 관리할 수 있습니다.
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
'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 |