confluence 설치 및 업그레이드
atlassian confluence 6.10 download 버전을 설치하는 절차를 설명하며 대상 OS 는 Linux (RHEL/CentOS, Ubuntu)입니다.
사전 준비와 제약 사항
지원하는 운영체제는 공식적으로 Windows, Linux 이므로 이 두가지를 권장합니다.
DBMS 를 사전에 준비하며 PostgreSQL 이나 MySQL 을 권장합니다.
지원하는 DBMS 목록은 Supported Platforms 을 참고하세요.
- JDK 8 버전이 설치되어 있어야 하며 Oracle 이나 AdoptOpenJDK 만 지원합니다. (Azul 사의 Zulu 는 미지원)
- 설치 유형은 installer 와 WAR 등 여러 가지가 있지만 tomcat 을 내장한 standalone 패키지 기준입니다.
- Web Server 를 앞에 두고 confluence 와 reverse proxy 방식으로 동작하는 방식으로 설명합니다. (포워드 프록시(forward proxy) 리버스 프록시(reverse proxy) 의 차이)
Confluence 다운로드
- https://www.atlassian.com/software/confluence/download 에서 설치하려는 OS 에 맞는 설치본을 다운받습니다. Standalone (TAR.GZ Archive) 를 다운받으면 된다.
적당한 폴더에 압축을 푼다.
tar zxvf atlassian-confluence-5.2.5
설치한 DBMS 용 JDBC 를 다운받아서 압축을 푼 후에 나온 jar 파일을 atlassian-confluence-xxxx 내의 lib 폴더에 복사한다. MySQL용 JDBC는 http://dev.mysql.com/downloads/connector/j/ 에서 다운받는다.
cp mysql-connector-java-5.1.28-bin.jar atlassian-confluence-5.2.5/lib
atlassian-confluence-5.2.5 폴더로 이동한후에 conf/server.xml 을 수정할 부분이 있으면 수정한다.
confluence/WEB-INF/classes/confluence-init.properties 파일을 에디터로 열어서 confluence.home의 절대경로를 설정해 준다. 해당 경로는 첨부파일 및 confluence 설정파일이 저장되는 곳이니 confluence 를 운영하게 되면 반드시 백업해줘야 한다.
## 설정예 confluence.home=/var/atlassian/confluence
symbolic link 폴더일 경우 실제 폴더의 절대 경로를 적어줘야 한다.
DBMS 설정
DBMS는 MySQL 5.6 을 권장(자세한 설치는 Database Setup For MySQL 참고)
confluence 를 구동할 계정 및 database를 생성한다.
CREATE DATABASE confluence CHARACTER SET utf8 COLLATE utf8_bin; GRANT ALL PRIVILEGES ON confluence.* TO 'confluenceuser'@'localhost' IDENTIFIED BY 'confluencepass';
my.cnf 에 다음 내용 추가
skip-character-set-client-handshake collation-server=utf8_unicode_ci character-set-server=utf8 max_allowed_packet = 512M innodb_log_file_size=2GB
MySQL 재시작
my.cnf에 다음 내용이 있으면 삭제할 것
sql_mode = NO_AUTO_VALUE_ON_ZERO
TOMCAT 설정
conf/server.xml 을 열어서 "HTTPS - Proxying Confluence via Apache or Nginx over HTTPS" 아래의 Connector 부분 주석을 해제합니다.
<Connector port="8090" connectionTimeout="20000" redirectPort="8443" maxThreads="48" minSpareThreads="10" enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" proxyName="<subdomain>.<domain>.com" proxyPort="443"/>
포트는 기본 설정을 권장하며 다음 항목을 수정해야 합니다.
- proxyNam: 실제 서비스하는 도메인을 기술하며 도메인이 wiki.example.com 일 경우 proxyName="wiki.example.com" 으로 설정합니다.
- proxyPort: HTTPS 포트를 기술합니다.
HTTP 서버와 연계
Apache httpd 설정
# Put this after the other LoadModule directives LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so LoadModule proxy_wstunnel_module /usr/lib/apache2/modules/mod_proxy_wstunnel.so LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so # Put this in the main section of your configuration (or virtual host, if using Apache virtual hosts) ProxyRequests Off ProxyPreserveHost On RewriteEngine On RewriteCond %{REQUEST_URI} !^/synchrony RewriteRule ^/(.*) http://<domain>:8090/$1 [P] <Proxy *> Require all granted </Proxy> ProxyPass /synchrony http://<domain>:8091/synchrony <Location /synchrony> Require all granted RewriteEngine on RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC] RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC] RewriteRule .* ws://<domain>:8091%{REQUEST_URI} [P] </Location> ProxyPass / http://<domain>:8090 ProxyPassReverse / http://<domain>:8090 <Location /> Require all granted </Location>
nginx 설정
최초 설치시 시간이 오래 걸리므로 gateway 타임아웃 에러 방지를 위해 proxy_connect_timeout 등의 설정을 해줍니다.
location / { proxy_pass http://127.0.0.1:8090; proxy_set_header Host $host; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # gateway timeout 방지 proxy_connect_timeout 3000; proxy_send_timeout 3000; proxy_read_timeout 3000; send_timeout 3000; }
동시 편집 사용
confluence 6부터 동시 편집 기능이 추가되어 별도의 context 설정 필요(/synchrony, 8091)
SELinux context 추가
semanage port -a -p tcp -t http_port_t 8091
설치
- 구동
- 설치 유형 선택
- Add On 선택
- 라이선스 입력
- DB 선택
- JDBC
- 연결 정보 설정
- 스키마를 만드는데 시간이 꽤 걸림. 완료되면 샘플 사이트를 만들지 물어봄.
- JIRA 와 계정을 연결할지 물어봄. JIRA 가 있을 경우 Connect to JIRA 클릭
- JIRA 연결 정보와 관리자 계정 입력
- 다음을 눌러서 설치 완료