Version Control/Git
CentOS 7 에서 GitLab 설치하기
후뤼한잉여
2015. 11. 10. 00:18
CentOS 7 에서 GitLab 설치하기
1) 개요
개인적으로 VM Ware을 통해 Git서버를 구성하던 중 지인들과 같이 사용하게 되어 관리의 편의성을 위해 GitLab 구성 중 작성했던 내용을 간단하게 나마 정리하기 위해 작성되었습니다.
2) 설치하기
- 의존패키지 설치하기
sudo yum install curl openssh-server postfix
- GitLab에서 사용하기 위해 ssh 및 이메일 발송 서비스(postfix) 서비스 자동실행 설정하기
sudo systemctl enable sshd postfix sudo systemctl start sshd postfix
- GitLab 패키지 다운로드
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash sudo yum install gitlab-ce
- GitLab 레파지토리 설치를 위한 정보 설정하기
sudo vi /etc/gitlab/gitlab.rb
- gitlab.rb에 변경할 부분(개인이 필요한 부분만 수정하면 됩니다.)
external_url "[IP주소:포트]" //외부에서 접속할 주소 및 포트정보 수정 git_data_dir "[GitLab 레파지토리로 사용할 경로]" user['username'] = "[GitLab 레파지토리 관리할 계정명]" user['group'] = "[GitLab 레파지토리 관리할 계정의 그룹명]“ user[‘home’] = “[GitLab 레파지토리 관리할 계정의 홈디렉토리]” user[‘gid’] = “[GitLab 레파지토리 관리할 계정의 GID]” //id 명령어로 확인이 가능합니다. user[‘uid’] = “[GitLab 레파지토리 관리할 계정의 UID]” //id 명령어로 확인이 가능합니다. gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "[SMTP 주소]" //G-mail 예) smtp.gmail.com gitlab_rails['smtp_port'] = [SMTP 포트]//G-mail 예) 587 gitlab_rails['smtp_user_name'] = "[메일 ID]" gitlab_rails['smtp_password'] = "[메일 비밀번호]" gitlab_rails['smtp_domain'] = "[SMTP 도메인]" //G-mail 예) gmail.com gitlab_rails['smtp_authentication'] = :plain gitlab_rails['smtp_enable_starttls_auto'] = true
- gitlab.rb에 변경할 부분(개인이 필요한 부분만 수정하면 됩니다.)
- GitLab 레파지토리 설치하기
sudo gitlab-ctl reconfigure
- GitLab 페이지 접속을 위한 방화벽 해제하기
sudo firewall-cmd --permanent --add-service=http //내부 웹 서버인 Nginx 포트 sudo firewall-cmd --zone=public --add-port=[위에서 설정한 포트]/tcp --permanent sudo systemctl reload firewalld
- GitLab 재시작하기
sudo gitlab-ctl restart
- 만약 콘솔의 표시정보가 이상하게 변했다면 아래 내용 적용하기
아래 내용 추가sudo vi /etc/profile
export PS1="[\u@\h \w]\\$ "
- 만약 콘솔의 표시정보가 이상하게 변했다면 아래 내용 적용하기
- GitLab 초기 설정하기
초기 관리자 계정 및 암호IP주소:포트로 접속
Username: root Password: 5iveL!fe
- GitLab 서버의 시작 / 종료 명령어
- GitLab 서버 시작
sudo gitlab-ctl start
- GitLab 서버 종료
sudo gitlab-ctl stop
- GitLab 서버 시작
- 502 에러가 발생한다면 아래 내용 적용하기
log 디렉토리에 권한이 없어서 발생한 경우가 대부분인듯 하다.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 이 외에도 /var/opt/gitlab 부분도 확인해보기.
* GitLab은 내부적으로 Nginx가 80포트, Unicorn이 8080포트, GitLab의 지정된 포트 3가지 정도를 사용하게 된다.