AWS EC2에 Confluence 설치하기

Confluence는 Atlassian에서 제공하는 팀 협업 및 문서 관리 도구입니다. 이 가이드에서는 AWS EC2 인스턴스(Amazon Linux)에 Confluence를 설치하고 PostgreSQL 데이터베이스를 연동하는 방법을 설명합니다.

사전 요구사항

  • AWS EC2 인스턴스 (Amazon Linux 2 권장)
  • 최소 2GB RAM (4GB 이상 권장)
  • 보안 그룹에서 8090 포트 오픈
  • SSH 접속 가능한 상태

1. Confluence 설치 파일 다운로드

Atlassian 공식 사이트에서 Linux용 Confluence 설치 파일을 다운로드합니다.

# 로컬에서 서버로 파일 업로드
scp -i your-key.pem atlassian-confluence-x.x.x-x64.bin ec2-user@{ip-address}:{directory-path}

2. 설치 파일 실행

설치 파일에 실행 권한을 부여하고 설치를 진행합니다.

# 실행 권한 부여
chmod a+x atlassian-confluence-x.x.x-x64.bin

# 설치 실행
sudo ./atlassian-confluence-x.x.x-x64.bin

기본 설치 경로

설치가 완료되면 다음 경로에 파일이 설치됩니다:

항목 경로
설치 디렉토리 /opt/atlassian/confluence
홈 디렉토리 /var/atlassian/application-data/confluence
HTTP 포트 8090
RMI 포트 8000

3. AWS 보안 그룹 설정

EC2 인스턴스의 보안 그룹에서 8090 포트를 열어줍니다.

인바운드 규칙 추가

유형 프로토콜 포트 범위 소스
사용자 지정 TCP TCP 8090 0.0.0.0/0 (또는 특정 IP)

4. PostgreSQL 설치 및 설정

Confluence는 다양한 데이터베이스를 지원하지만, PostgreSQL을 권장합니다.

PostgreSQL 설치

Amazon Linux는 RHEL 계열이므로 Redhat용 PostgreSQL을 설치합니다.

# PostgreSQL 설치
sudo amazon-linux-extras install postgresql14
sudo yum install postgresql-server -y

# PostgreSQL 초기화 및 시작
sudo postgresql-setup initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql

데이터베이스 및 사용자 생성

# PostgreSQL 접속
sudo -u postgres psql

# 데이터베이스 및 사용자 생성 (SQL 명령)
CREATE USER confluenceuser WITH PASSWORD 'your-secure-password';
CREATE DATABASE confluencedb WITH OWNER confluenceuser ENCODING 'UTF8';
GRANT ALL PRIVILEGES ON DATABASE confluencedb TO confluenceuser;

# 접속 종료
\q

인증 설정 수정

PostgreSQL 접속 시 FATAL: Ident authentication failed for user 오류가 발생하면 인증 방식을 변경해야 합니다.

# pg_hba.conf 파일 수정
sudo vi /var/lib/pgsql/data/pg_hba.conf

다음과 같이 identmd5 또는 trust로 변경합니다:

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

변경 후 PostgreSQL 재시작:

sudo systemctl restart postgresql

5. Confluence 서비스 시작

# Confluence 서비스 시작
sudo service confluence start

# 서비스 상태 확인
sudo service confluence status

6. 웹 브라우저에서 설정 완료

브라우저에서 http://{your-ec2-ip}:8090 으로 접속하여 Confluence 초기 설정을 완료합니다.

데이터베이스 연결 설정

설정 마법사에서 데이터베이스 정보를 입력합니다:

  • Database Type: PostgreSQL
  • Hostname: localhost
  • Port: 5432
  • Database Name: confluencedb
  • Username: confluenceuser
  • Password: (설정한 비밀번호)

문제 해결

서비스가 시작되지 않는 경우

로그 파일을 확인하여 원인을 파악합니다:

# 로그 확인
tail -f /opt/atlassian/confluence/logs/catalina.out

메모리 부족 오류

Confluence는 많은 메모리를 사용합니다. 메모리 부족 시 swap 메모리를 추가합니다:

# 2GB swap 파일 생성
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# 재부팅 후에도 유지
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab

스레드 제한 오류

시스템의 스레드 제한이 부족한 경우:

# 제한 설정 파일 수정
sudo vi /etc/security/limits.conf

# 다음 내용 추가
confluence soft nofile 8192
confluence hard nofile 16384
confluence soft nproc 8192
confluence hard nproc 16384

보안 권장사항

  1. HTTPS 설정: 프로덕션 환경에서는 Load Balancer를 통해 HTTPS를 적용하세요.
  2. 포트 제한: 8090 포트를 직접 공개하지 말고 Load Balancer나 Nginx 프록시를 사용하세요.
  3. 정기 백업: Confluence 데이터와 PostgreSQL 데이터베이스를 정기적으로 백업하세요.
  4. 보안 업데이트: Confluence와 서버 패키지를 최신 상태로 유지하세요.

마무리

Confluence 설치가 완료되면 팀원들을 초대하고 스페이스를 생성하여 문서 협업을 시작할 수 있습니다. Jira, Bitbucket 등 다른 Atlassian 제품과 연동하면 더욱 효율적인 협업 환경을 구축할 수 있습니다.

참고 링크