메뉴 건너뛰기

XEDITION

OS

gitlab git lab 설치 -cent os

하서기 2020.03.19 16:14 조회 수 : 2074

1. git 설치

일단 설치가 되어 있는지 확인해보겠습니다.

$ git --version

11-1

  • 저는 1.8.3.1 버전이 설치되어 있습니다.
  • 저는 최신 버전(?)을 사용하기 위하여 제거하겠습니다.
$ yum remove git
  • 최신 버전을 사용하기 위해서 소스코드를 컴파일 해서 설치를 할 수도 있으나 업그레이드나 여러가지 불편함이 있기에 Wandisco 사에서 운영하는 repository를 사용하겠습니다. 해당 repository를 사용하기 위하여 아래의 링크를 install 합니다.
$ yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-1.noarch.rpm
  • 다시 git을 install해줍니다.
$ yum install git
  • 다시 install후 다시 버전을 확인해봅니다.

11-2

  • 2.11버전이 설치 되었습니다. 사실 최신은 2.13 이 현재로서는 가장 최신인데 오픈소스 회사의 repository기 때문에 가장 최신버전은 아닙니다.

2. gitlab 설치

  • 앞서 이야기 드린 것 처럼 공식 홈페이지의 내용을 따라하면 손쉽게 설치가 됩니다. 살짝 설정을 바꿔줄 부분은 있습니다.

  • https://about.gitlab.com/installation/#centos

  • 공식 홈페이지는 아래가 처음 설치 할 것으로 소개하고 있는데요, 아마 기본적으로 CentOS를 설치할 때 이미 설치되어 있는 것들이 있을 것입니다.

$ 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
  • 설치된 패키지 확인은 아래의 명령어로 확인 하시면 됩니다.
$ yum list installed | grep 패키지명
  • 두번째 과정은 아래와 같습니다.
$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
$ sudo yum install gitlab-ce
  • gitlab설치 파일을 다운로드 받고 gitlab설치를 합니다.
  • 3번째는 그대로 따라하지마시고.. 설정을 바꿔줄 부분이 있습니다. 설정을 바꿔줄 부분은 3가지 입니다.
  • gitlab페이지가 기본적으로 80포트를 사용하고 인증 관련된 unicorn 부분은 8080포트를 사용합니다. 해당 포트가 Apache와 Tomcat에서 사용하기 때문에 둘이 충돌 합니다. 그리고 이메일을 사용하기 위해 smtp를 설정합니다.
  • gitlab설정파일은 아래에 있습니다. 아래의 경로의 파일을 vi에디터로 오픈합니다.
$ vi /etc/gitlab/gitlab.rb

11-3

  • 오픈 하자마자 보시면 external_url 항목이 보이게 됩니다.
  • gitlab페이지가 보여지는 웹사이트 포트번호입니다.
  • 원하시는 포트번호를 입력합니다. 나중에 방화벽에서도 오픈시킬 번호입니다.
external_url ‘http://localhost:포트번호'
  • 인증 및 unicorn 과 관련된 부분이 두군데가 있습니다. 에디터 화면에서 / 입력한후 8080으로 입력하시면 쉽게 찾으실수 있습니다.
  • 8080으로 되어 있는 줄에서 반드시 ‘#’으로된 주석을 제거 하시고 8080 번호를 다른 포트로 변경합니다.
  • 주의 unicorn 과 external_url 포트 적용시 달라야 한다.. 같으면 502를 보게 될것이다!!
  • 변경하실때 위에서 변경한 포트와 다른 포트로 변경합니다.
  • 내부적으로 인증과 관련한 포트 번호 입니다. 이 포트는 방화벽을 해제할 필요는 없습니다.

11-4 11-5

  • 이제 smtp설정입니다. 이는 gitlab에서 유저 인증이나 각종 알림의 용도로 사용됩니다.
  • 에디터 화면에서 'smtp_enable'라는 글자로 검색을 해봅니다. 검색은 / 명령어 입니다.

11-6

  • 저는 위 설정을 google smtp정보를 입력할 것입니다. 그리고 입력하시고 주석을 제거합니다.
  • 위 설정은 필수는 아닙니다.
  • 설정을 하지 않으면 유저 생성할때 패스워드 생성할때 유저에게 이메일 보내어 인증이 된 사용자에게 패스워드를 설정하게 되는데, 이는 사용자를 생성하고 다시 관리자가 다시 사용자 정보에 재진입하여 패스워드를 설정해주면 됩니다.

  • 구글 smtp설정은 아래 링크를 참조하세요.

https://support.google.com/a/answer/176600?hl=ko

  • 기타 메일 설정은 아래 링크에 더 있습니다.

https://docs.gitlab.com/omnibus/settings/smtp.html

gitlab_rails['smtp_enable'] = true 
gitlab_rails['smtp_address'] = "smtp.gmail.com" 
gitlab_rails['smtp_port'] = 587 
gitlab_rails['smtp_user_name'] = "my.email@gmail.com" 
gitlab_rails['smtp_password'] = "my-gmail-password" 
gitlab_rails['smtp_domain'] = "smtp.gmail.com" 
gitlab_rails['smtp_authentication'] = "login" 
gitlab_rails['smtp_enable_starttls_auto'] = true 
gitlab_rails['smtp_tls'] = false 
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
  • 변경이 완료되었으면 저장하고 빠져 나옵니다.
  • 이제 방화벽 설정을 합니다. 첫번째로 변경한 gitlab페이지가 보여지는 웹사이트 포트번호만 오픈 하시면됩니다.
$ firewall-cmd --permanent --add-port=변경한포트/tcp 
$ firewall-cmd --reload

그리고 홈페이지에 3번 항목을 실행합니다.

$ sudo gitlab-ctl reconfigure

11-7

  • 이제 설치가 완료되었습니다. 웹브라우저에서 설정변경한 포트로 진입해봅니다.

 

Gitlab 적용 및 재시작

$sudo gitlab-ctl reconfigure
$sudo gitlab-ctl restart
$sudo gitlab-ctl status

또한 status를 통해 gitlab 구동 상태 여부를 볼 수 있다.

 

http://서버아이피:변경한포트번호
  • 입력하고 들어가시면 아래의 화면이 처음 나타납니다.
  • root 계정의 패스워드 설정화면입니다. 원하시는 암호로 설정하고 root 아이디로 로그인합니다.

11-8

  • root로 로그인하면 나오는 화면입니다.

11-9

  • 위쪽에 스패너 아이콘이 관리자용 설정 메뉴입니다. 이곳에서 유저 생성이 가능합니다.

11-10

 

포트 사용을 주위해야 한다.

또한 권한으로 안되는 경우도 있음

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 부분도 확인해보기.

 


사이트 참고 : https://wikidocs.net/16279

사이트 참고 : https://hreeman.tistory.com/m/78?category=597879

위로