아틀라시안 JIRA Confluence Bitbucket 업데이트 했습니다. JIRA Core 및 Software는 7.3, Confluence는 6.0.3, Bitbucket은 4.12.1입니다.
아틀라시안 JIRA Confluence Bitbucket 업데이트
HTTPS로 전환하면서 동시에 진행한 작업입니다. JIRA는 Core와 Software를 7.3 버전으로 업데이트 했습니다. Confluence는 6.3 버전으로 업데이트 하였습니다. BitBucket은 4.12.1로 업데이트 하였습니다. 이번 작업에서는 크게 아래와 같은 작업을 진행하였습니다.
소프트웨어 업데이트
총 4가지 아틀라시안 소프트웨어 업데이트를 진행하였습니다. Atlassian 홈페이지에서 로그인하면, 기존에 구매한 제품에 대한 다운로드를 진행할 수 있습니다. 4개의 소프트웨어 파일을 받아서 업데이트 하였습니다. 지난번과 유사하였고, 어렵지 않게 자동으로 업데이트가 진행됩니다.
그럼 설정을 어떻게 변경 진행하였는지 알아보겠습니다.
Reverse Proxy 설정
4가지 순서에 의해서 진행하였습니다. 아래 순서대로 진행하시면 됩니다.
1. server.xml 설정
가장 크게 변경되는 설정은 HTTPS입니다. JIRA와 Confluence 설치 디렉토리의 conf 디렉토리에 있는 server.xml을 apache2에서 Reverse Proxy 할 수 있도록 설정을 변경합니다. 관련 자세한 설정은 아래 링크에서 확인 가능합니다.
Proxying Atlassian server applications with Apache HTTP Server (mod_proxy_http)
특이한 점은 Bitbucket은 데이터가 설치된 디렉토리의 shared 디렉토리 안에 server.xml이 있다는 점입니다. 위치만 다르기 때문에 유사하게 수정하면 됩니다. 참고로 jira의 server.xml 설정 파일에서 https이기 때문에 코드 추가된 부분은 다음과 같습니다. 나머지 Confluence와 Bitbucket 역시 동일하게 proxyName, proxyPort, scheme 추가하면 됩니다.
<Service name="Catalina"> <Connector port="8080" maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443" acceptCount="100" disableUploadTimeout="true" proxyName="jira.studydev.com" proxyPort="443" scheme="https" bindOnInit="false"/>
2. vhost 설정
외부에서 apache2를 통하여 내부에서 실행중인 JIRA, Confluence, Bitbucket 서비스에 접속하기 위해서 vhost 설정도 변경하여야 합니다. 쉽게 설명하자면, 각각의 서비스(데몬)는 보통 포트 단위로 서비스를 구분할 수 있는데, apache로 접근하는 서비스(http 80 또는 https 443) 중에 domain name에(Vhost의 ServerName) 따라서 분기하여 내부에 서비스하고 있는 포트로 연결해 줄 수 있는 겁니다. 참고로 JIRA 등의 Atlassian 소프트웨어는 톰캣으로 동작되고 있습니다. 더 쉽게 설명하자면, 서버에 apache2도 있고, 톰캣도 있는데 apache2로 접근하면 톰캣으로 연결시켜주는 겁니다.
그래서 vhost 설정은 이렇게 하면 됩니다. 간략히 보자면, jira.studydev.com 이라는 도메인으로 443(https)으로 접속할 경우, 내부 톰캣 서버 8080포트로 운영되고 있는 JIRA 서비스로 연결된다는 의미입니다. vhost 설정에 익숙하면 어려운 개념은 아닙니다만, 처음 접하면 이건 뭐지라는 생각이 들 수 있습니다.
<VirtualHost *:443> ServerName jira.studydev.com ProxyRequests Off ProxyPreserveHost On <Proxy *> Require all granted </Proxy> ProxyPass / http://localhost:8080/ retry=0 ProxyPassReverse / http://localhost:8080/ <Location /> Require all granted </Location> ErrorLog /var/log/httpd/jira.studydev.com-error.log CustomLog /var/log/httpd/jira.studydev.com-access.log combined SSLEngine on SSLCertificateFile /etc/letsencrypt/live/studydev.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/studydev.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/studydev.com/fullchain.pem <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> </VirtualHost>
3. 각 소프트웨어의 기본 URL 주소 변경
원래 http~ 로 시작하는 기본 URL 주소를 가지고 있을 겁니다. 이 주소를 https~ 변경하면 됩니다.
4. Application Link 설정 변경
이 작업은 JIRA – Confluence – Bitbucket 서로간의 서비스가 상호 연동이 되기 위해서 필요한 작업입니다. 기존 http로 설정된 경우라면 그 연결이 깨어지기 마련입니다. 그래서 다음과 같이 작업을 해주면 되겠습니다.
위 작업은 JIRA에서 한 것입니다. 다소 귀찮을 수 있겠지만, Confluence와 Bitbucket 역시 각각 응용프로그램 Link 들어가서 서로를 https로 바라 볼 수 있도록 변경해 주어야 합니다.
기타
만약 javascript나 스타일시트 등에서 외부 css를 가져다 쓸 경우, 간혹 http로 가져다 쓰는 부분이 있었다면, 크롬에서 문제가 있다고 보고할 수 있습니다. 가능하면 상대경로 URL을 사용하고, 안될 경우 차용하는 URL의 프로토콜을 80(http)이든 443(https)이든 하나로 통일해 주는게 필요합니다. 이 작업까지 완료되고 나면 안전한 상태의 https로 운영 가능합니다.
요약
아틀라시안 JIRA Confluence Bitbucket 업데이트 방법은 단순히 다운로드 받고 실행하면, 몇 가지 정보만 알려주면 쉽습니다. 다만 기타 설정 관련해서 정보가 날아갈 수 있으니, 애초에 관련 정보를 숙지하고 있을 필요가 있습니다. 아니면, 설정 관련 스크립트를 요약해 두었다가 매번 붙이거나 백업 파일을 두었다가 쓰시면 쉽게 쓰실 수 있습니다.