본문 바로가기
Gerrit/Gerrit 설치 및 자체 작업

2. Gerrit Web 설정

by 실짱 2023. 10. 17.

서버에 게릿을 설치까지 했다.

설치를 했다는 의미는 게릿이라는 자바 웹 프로그램을 서버에 설치해서 로딩(서버 브라우저에서 localhost 로 접속) 시켰다는 의미다.

이제 이 게릿을 다른 PC에서 웹주소로 접근가능하게 만들어야 한다. (웹 페이지이므로)

이 부분은 게릿에 대한 지식보다는 Web Server 에 대한 지식이 필요하다.

방화벽(firewall)이 뭔지, Proxy 가 뭔지, http(s) 가 뭔지, DNS 가 뭔지, ….

 

이런 사전 지식이 아무것도 없었던 나의 삽질.

아래 두개 사이트를 메인으로 보면서 삽질했다. (얼마나 많은 사이트를 봤는지 헤아릴수가 없다…)

NAVER 형님들 : Gerrit을 이용한 코드 리뷰 시스템 - 코드 리뷰 시스템 설치

Whatman 이라는 고수 : Gerrit 설치

 

외부에서 우리 AriServer 로의 접속 과정을 생각해보면 아래와 같다.

 

필수로 해야될건 2개다.

  1.  IP 192.168.0.99 의 8081 port 에 gerrit 연결
  2.  192.168.0.99 를 외부 접속 가능하게 만들기

+

추가로 해두면 참 좋은거

    3. DNS 를 적용해서 ip 번호가 아닌 xxx.com 처럼 의미있는 네이밍으로 접속시키기

 

위 그림에서 ①,② 는 인터넷 회사에서 알아서 해주는거고 ③번이 우리가 작업해야할 연결이다.

AriServer의 외부 인터넷 API 를 위해서 Apache 웹서버를 두는것이고 이 Apache웹 서버가 AriServer 의 외부와 내부를 연결하는 API 이다.

이 부분을 다시 그려보면 대충 아래와 같다.

 

IP 주소는 192.168.0.99 한개로 통일되는거고 위 그림의 ① 번은 port 8081 에 할당하고 ②번은 port 9001 에 할당할 계획이다.

 

즉, Apache port = 8081 이고, Gerrit port = 9001 이다.

 

1. Apache VirtualHost file 생성

제일 먼저 해줘야 할건 apache 의 interface 를 설정해주는 일이다.

이것은 apache 의 virtual host 파일이 담당한다.

apache 설치 폴더인 /etc/apache2/sites-available 에 001-gerrit.conf 파일 (이름은 아무렇게나해도 상관없지만 001-xxx.conf 의 규칙을 지켜야 한다고 한다) 을 만들고,

여기에 필요한 내용을 붙인다. (내부 내용은 위 형님들 사이트들 참고)

 

① : AriServer 내부적으로 연결되는 Gerrit port - 우리는 9001 로 통신할것이기 때문에 9001 로 적어준다.

② : login 을 위한 설정 - 외부에서 처음 접속시 http://192.168.0.99:8081/login 페이지로 라우팅되도록 설정하고, 관련 설정을 넣어준다. Auth 관련된 사항은 별도 페이지에서 설명

③ : AriServer 외부와 apache가 통신할 port - 우리는 8081 로 통신

 

2. Apache sites-enabled 활성화

이제 이 파일이 Apache 에서 인식할 수 있도록 링크를 만들어준다.

# sites-enabled 폴더로 이동
cd /etc/apache2/sites-enabled

# 위에서 만든 conf 파일로 link 생성
sudo ln -s ../sites-available/001-gerrit.conf ./001-gerrit.conf 

# site 활성화
sudo a2ensite 001-gerrit.conf

 

3. Apache port 설정

ports.conf 파일을 열고

8081 로 들어왔을때 9001 포트로 연결될 수 있도록 9001 virtual host 를 추가해준다.

 

4. Gerrit config 설정

gerrit 설정 파일을 열고

관련 웹 설정을 ip+port 주소로 바꾸어 준다.

① : Gerrit URL & Port - 외부에서는 이 canonical url 로 접속하게 된다.

② : logout 페이지 설정인데 aa:aa 를 안붙이면 이상하게 보인다. canonical url 에 /login 라우팅 페이지를 연결하면 된다.

③ : apache port

 

기본 설정은 끝났다.

이제 외부에서 (게릿이 설치된 서버가 아닌 다른 PC) canonicalWebUrl 로 접속해 보자.

 

짜잔~!

 

자, 이제 외부에서도 접속이 된다.

근데… 좀 찝찝하다.

https://naver.com 처럼 근사한 문자열로 접근하고 싶다.

이게 대학교때 어렴풋이 배웠던 DNS (Domain Name System) 였다. (DNS란 무엇입니까? – DNS 소개 - AWS )

DNS 작업이 필요했다. 

다행스럽게도 내 회사에는 다른 목적의 서버가 있다고 한다. (application server ? )

여기에는 DNS 관련 작업이 이미 되어 있었다. 여기에다가 우리 AriServer 를 살짝 붙이는 방법을 택했다.

 

3번에서 DNS 처리를 해서 4번으로 연결시켜주는 형식인 것이다.

도메인 이름은 http://review.xxxxx.net 으로 정했다. (gerrithub 의 리뷰 도메인이 https://review.gerrithub.io 인것에 착안)

3번은 양차장님이 application server 단에 작업을 해주어 패스~

AriServer 가 도메인 이름을 받기 위해서 설정 파일들을 살짝만 건드려주면 된다.

 

다시 gerrit.config 파일을 열고

이제 외부에서 http://review.xxxxx.net 으로 접속해보자!

 

짜자자자잔~~~!!!!!!

 

감격의 순간

 

개인적으로 이 부분이 가장 큰 난관 이었던것 같다. 웹서버에 대한 개념 자체가 없었어서 이 부분을 잡아 나가는게 제일 힘들었다.

기초가 튼튼해야 한다는 말이 괜히 나온게 아니라는 생각이 절실히 들었던 작업이었다.


< Prev     1. Gerrit 설치                |                Next >     3. Gerrit 사용자 인증 설정

'Gerrit > Gerrit 설치 및 자체 작업' 카테고리의 다른 글

1. Gerrit 설치  (2) 2023.10.17
3. Gerrit 사용자 인증 설정  (0) 2023.10.17
4. Gerrit Email 설정  (0) 2023.10.17
5. Gerrit Repository 생성 및 삭제  (2) 2023.10.17