일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 가상머신 차이
- 네이버웍스
- linux
- eclipse
- Chat gpt
- docker
- 네이버클라우드플랫폼
- desktop
- 마이크로서비스 패턴
- AWS
- 모니터링 및 경고 중앙화
- application 재기동
- Catalina
- sh
- chat API
- 분산추적
- GitLab
- GIT
- 정규표현식
- 도커
- 리눅스
- MSA
- MAC
- 제어루프
- 알림
- 자바 정규식
- ChatGPT
- crontab
- 메시지
- error
- Today
- Total
시간나는대로 틈틈히 정리 합시다~~!!!
[GitLab] CentOS 7에 GitLab 설치 - 설치편 본문
GitLab 사이트에도 정말 잘 설명되어 있지만 직접 설치해보면서 시행착오를 겪은 부분들을 추가로 정리하려고 한다.
- 사이트 : https://about.gitlab.com/install/
사실 CentOS 8에 설치하고 싶었는데 네이버클라우드플랫폼에서 제공되는 버전이 7.8까지만 제공되어 CentOS 7에 설치를 진행했다.
- 서버 사양은
-> 제일 저렴한 Micro 타입으로 (1 CPU, 1GB Memory, 50GB HDD 제공) GitLab 패키지 설치 40분 넘게 진행중이라 포기했다.
-> 그래서 한단계 올려서 Compact 타입으로 (1 CPU, 2GB Memory, 50GB SSD 로 셋팅) GitLab 패키지 설치 진행했더니 약 10분정도만에 설치가 끝났다... 설치 이력에 warning 도 뜨고 Script 설치도 실패했다고 하면서 접속도 안되고 서버 부하도 심하고 해서 지웠다.
-> 그래서 한단계 더 올려서 Standard 타입으로 (2 CPU, 4GB Memory, 50GB SSD 로 셋팅) GitLab 패키지 설치 진행했더니 정상적으로 완료 메시지 표시 되고 웹상에서 접속도 잘 된다.
- Remote로 접속 테스트도 하기 위해 Public IP 도 하나 신청해서 연결 했다.
위 링크로 접속하여 CentOS 7 을 선택 해준다.
해당 버튼을 클릭 하면 맨 하단에 아래와 같이 CE or EE 라고 링크가 있다
설치하고자 하는 버전 링크를 잘 들어가서 보고 설치 해야 한다.
디폴트로 접속되는 페이지는 EE 버전
CE : 무료
https://about.gitlab.com/install/?version=ce
EE : 30일 Trial 이후 유료 ( CE 기능 외에 추가적인 기능들이 더 있다고 한다. )
https://about.gitlab.com/install/
난 공짜버전인 CE 버전을 설치 해본다.
먼저 설치를 진행 하면서 필요한 부가적인 것들을 설치 및 설정 한다.
아래 박스 내용은 사이트에 나와있는 내용이다.
sudo yum install -y curl policycoreutils-python openssh-server perl sudo systemctl enable sshd sudo systemctl start sshd sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo systemctl reload firewalld |
직접 서버에서 작업을 하는게 아닌 로컬 PC에서 Remote로 접속해서 설치를 진행하려면 필요하니까 설치 한다.
난 네이버클라우드플랫폼에 서버 하나 생성해서 하는거라 기본적으로 4개중에 뭐가 설치되어 있나 확인 해봤다.
# rpm -qa curl policycoreutils-python openssh-server perl
어쨋든 설치를 진행 해본다.(버전이 낮으면 알아서 신규 버전으로 업데이트 해준다.)
# yum install -y curl policycoreutils-python openssh-server perl
나머지 명령어도 실행해준다.
ssh 서버 실행 - Remote로 서버에 접근할꺼라 실행해준다.
sshd 서비스 활성화
# systemctl enable sshd
sshd 서비스 실행
# systemctl start sshd
방화벽 설정 - 필수는 아니라서 서비스를 내려도 된다.
방화벽에 http 오픈
# firewall-cmd --permanent --add-service=http
방화벽에 https 오픈
# firewall-cmd --permanent --add-service=https
그냥 입력 하다보니 firewallD is not running 이라고 표시된다.
그래서 상태를 확인해본다.
# firewall-cmd --state
방화벽 서비스 시작 후 다시 등록 요청하니까 정상적으로 등록이 되었다.
방화벽서비스 시작
# systemctl start firewalld
http, https 접속 허용(--add 라고 입력해야 하는데 -add라고 입력해서 오류 한번 발생했다 ㅋㅋ .....)
# firewall-cmd --permanent --add-service=http
# firewall-cmd --permanent --add-service=https
방화벽 재시작
# systemctl reload firewalld
방화벽에 등록된 정보 확인
# firewall-cmd --permanent --list-all
어차피 앞단에 별도의 방화벽이 있어서 걍 중지 시켰다.(방화벽 설정은 필요할때 하면 된다.)
# systemctl stop firewalld
메일서버 설치 PostFix
메일서버를 설치하라고 나온다.
외부 SMTP 서버를 사용할 수 있다면 구지 설치 안해도 된다.(아마 이미 설치되어 있을 수도 있다.)
sudo yum install postfix sudo systemctl enable postfix sudo systemctl start postfix |
우선 설치되어 있는지 확인이나 한번 해본다
# rpm -qa postfix
이미 설치가 되어 있다... ㅎㅎ
그래도 걍 업데이트나 할 겸 쭉 진행 해본다.
설치
# yum install postfix
활성화
# yum enable postfix
서비스 시작
# yum start postfix
활성화 한 후 실행해 보니 에러가 발생한다....
Job for postfix.service failed because the control process exited with error code. See "systemctl status postfix.service" and "journalctl -xe" for details.
상세 상태를 확인해보니 Active 부분이 failed 가 떨어졌다.
# systemctl status postfix.service
설정 파일에 문제가 있는지 확인 한다.
# postfix check
아래와 같이 오류 메시지가 발생한다.
postfix: fatal: parameter inet_interfaces: no local interface found for ::1
::1은 IPv6에서 사용하는 주소로 IPv4에서는 127.0.0.1을 사용하기 때문에, 서버에서 IPv6를 사용하지 않으므로 hosts 파일의 해당부분을 주석처리 하면 된다.
hosts 파일 내용 수정
# vi /etc/hosts
-> '::1' 앞에 '#' 을 붙여줌
설정파일에 문제가 없는지 다시 체크
# postfix check
아무것도 표시 안되었으니 정상으로 보고 postfix 서비스 시작
# systemctl start postfix
프로세스 떠있는지 확인 해본다.
# ps -ef | grep postfix
GitLab 레파지토리를 추가
CE 버전
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash |
EE 버전
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash |
Gitlab에서 제공되는 ShellScript 실행(CE버전 설치할꺼라 해당 명령어 실행)
# curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
GitLab 설치 시작
CE 버전
sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ce |
EE버전
sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ee |
역시나 난 CE 버전 설치할 꺼니까 해당 명령어 실행
EXTERNAL_URL에 입력된 값을 설치할때 참조해서 사용한다고 하여 Public IP 를 넣었다.
# EXTERNAL_URL="http://49.50.174.13" yum install -y gitlab-ce
- Micro 타입 1CPU, 1GB Memory 로 설치 시 Complete 까지 표시 되지 않고 서버가 다운 되었다.
- Compact 타입 1CPU, 2GB Memory 로 설치 시 아래와 같이 warning이 떴다.
- Standard 타입 2CPU, 4GB Memory 로 설치 시 정상적으로 성공 했다.
GitLab 접속
브라우저에서 완료 메시지 표시된거에 있는것 처럼 사이트 접속 해보니 아래와 같이 신규 비밀번호를 셋팅하는 화면이 표시된다.
http://49.50.174.13
비밀번호 셋팅 후 로그인 페이지에서 로그인 하면 된다.
ID : root
PW : 셋팅한 비밀번호
로그인 후 메인페이지
GitLab 설정 변경
GitLab 설정 중 가장 흔하게 변경할 여지가 있을꺼 같은 정리
설정 파일 오픈
# vi /etc/gitlab/gitlab.rb
접속 URL 및 포트 변경
변경할 위치로 이동 : '/external_url' 을 입력 후 엔터 (보기모드일 때 가능, 삽입 모드일 경우 esc키를 누른 후 바로 '/ + external_url' 을 타이핑 후 엔터) 를 누르면 된다.
위에 설치할 때는 'http://49.50.174.13' 까지만 입력했었고 포트를 지정하려면 아래와 같이 'http://49.50.174.13:9001' 과 같이 입력 후 저장 해주면 된다.
nginx 옵션을 통해 인증서 및 다양한 설정을 할 수 있다.
데이타 디렉토리 변경 : 디폴트는 /var/opt/gitlab/git-data
SMTP 설정
GitLab 명령어
수정한 config 파일 적용
# gitlab-ctl reconfigure
GitLab 서비스 중지
# gitlab-ctl stop
GitLab 서비스 시작
# gitlab-ctl start
GitLab 서비스 재시작
# gitlab-ctl restart
GitLab 삭제 ( 난 어차피 클라우드 서버라서 딱히 사용할 일이 없어서 실행은 안해봤지만 아래와 같이 하면 된다고 한다. )
# gitlab-ctl uninstall
# gitlab-ctl cleanse
# gitlab-ctl remove-accounts
# dpkg -P gitlab-ce || yum -y remove gitlab-ce
# rm -rf /opt/gitlab
# rm -rf /var/opt/gitlab
# rm -rf /etc/gitlab
# rm -rf /var/log/gitlab
'IT' 카테고리의 다른 글
[Docker] Mac Docker Desktop 버전에 nginx 설치 해보기 (0) | 2021.05.18 |
---|---|
[Docker] Mac에 Docker Desktop 버전 설치 하기 (0) | 2021.05.17 |
[MAC] Mac Pro 터미널을 이용해서 Remote 서버 SSH 접속 하기 (0) | 2021.05.14 |
[Script Closure] 참고 사이트 (0) | 2021.03.31 |
[DNS] ISP 업체 (0) | 2021.03.31 |