설치 가이드 · 4 min read · Oct 26, 2025

Rocky Linux 9에 Zammad 고객 지원 시스템 설치하는 방법

Zammad는 Ruby와 PostgreSQL 기반의 오픈 소스 고객 지원/티켓팅 솔루션입니다. 이 시스템은 조직이 다양한 이메일, 채팅 및 소셜 미디어 채널을 통해 커뮤니케이션을 관리하는 데 도움을 줍니다.

이 가이드에서는 Rocky Linux 서버에 Zammad 티켓팅 시스템을 설치하는 방법을 배웁니다. PostgreSQL, Nginx 및 Elasticsearch와 함께 Zammad를 실행합니다.

전제 조건

시작하기 전에 다음 사항을 확인하세요:

  • Rocky Linux 9 서버.
  • 관리자 권한이 있는 비루트 사용자.
  • 서버 IP 주소를 가리키는 도메인 이름.
  • 상태가 허용인 SELinux.

의존성 설치

이 섹션에서는 Zammad의 의존성을 설치합니다. 여기에는 EPEL 저장소, PostgreSQL 데이터베이스, Nginx 웹 서버, Redis 및 Node.js가 포함됩니다.

먼저 다음 명령어로 EPEL 저장소를 Rocky Linux 시스템에 추가합니다.

sudo dnf install epel-release -y

이제 아래 명령어로 기본 로케일을 en_US.UTF-8로 설정합니다.

sudo localectl set-locale LC_CTYPE=en_US.UTF-8

이제 아래 명령어를 실행하여 버전 18의 Node.js 저장소를 활성화합니다.

sudo dnf module enable nodejs:18 -y

다음으로, 아래 dnf 명령어를 실행하여 Nginx, PostgreSQL, Redis 및 Node.js를 포함한 Zammad의 의존성을 설치합니다.

sudo dnf install imlib2 nginx postgresql-server postgresql-contrib libpq-devel redis nodejs

확인을 위해 y를 입력하고 진행합니다.

install dependencies

설치가 완료되면 아래 명령어를 실행하여 PostgreSQL 서버를 초기화합니다.

sudo postgresql-setup initdb

아래 명령어로 Nginx, PostgreSQL 및 Redis의 서비스를 시작하고 활성화합니다.

sudo systemctl start nginx postgresql redis  
sudo systemctl enable nginx postgresql redis

마지막으로 아래 명령어를 사용하여 Node.js 버전을 확인합니다. Node.js 18.0+가 설치되어 있는지 확인하세요.

node --version

start services and verify nodejs

Elasticsearch 설치

의존성 설치 후, Elasticsearch를 설치해야 합니다. 이 섹션에서는 Zammad를 위한 Elasticsearch 7.x를 설치합니다.

이제 아래 명령어를 실행하여 Elasticsearch 저장소의 GPG 키를 추가합니다.

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

다음 명령어로 Rocky Linux 서버에 Elasticsearch 저장소를 추가합니다.

echo "[elasticsearch-7.x]  
name=Elasticsearch repository for 7.x packages  
baseurl=https://artifacts.elastic.co/packages/7.x/yum  
gpgcheck=1  
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch  
enabled=1  
autorefresh=1  
type=rpm-md"| tee /etc/yum.repos.d/elasticsearch-7.x.repo

다음으로, 아래 명령어로 시스템에 Elasticsearch를 설치합니다. 설치를 확인하기 위해 y를 입력하고 GPG 키를 수락합니다.

sudo dnf install elasticsearch

install elasticsearch

설치가 완료되면 아래 명령어를 사용하여 Elasticsearch 설치에 ingest-attachment 플러그인을 설치합니다.

/usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment

설치를 확인하기 위해 y를 입력합니다.

install plugin

이제 시스템 관리자 매니저를 다시 로드하고 아래 명령어로 Elasticsearch 서비스를 시작합니다.

sudo systemctl daemon-reload  
sudo systemctl start elasticsearch

시작 후, 아래 curl 명령어로 Elasticsearch를 확인합니다. 설치가 성공적이라면 Elasticsearch 버전에 대한 자세한 정보를 얻을 수 있습니다.

curl -X GET 'http://localhost:9200'

verify elasticsearch

PostgreSQL에서 최대 연결 수 증가

PostgreSQL의 경우, postgresql.conf 파일에서 기본 max_connections를 증가시켜야 합니다. 이는 Zammad에서 필요합니다.

따라서 아래 명령어로 postgres 사용자로 로그인합니다.

su - postgres

nano 편집기를 사용하여 PostgreSQL 구성 data/postgresql.conf를 엽니다.

nano data/postgresql.conf

기본 max_connections2000으로 변경합니다:

max_connections = 2000

파일을 저장하고 종료합니다.

이제 아래 systemctl 명령어를 실행하여 PostgreSQL 서비스를 재시작하고 변경 사항을 적용합니다.

sudo systemctl restart postgresql

Firewalld 설정

기본적으로, firewalld는 Rocky Linux에서 활성화되어 있습니다. 따라서 이제 HTTP 및 HTTPS 서비스를 열고 Zammad로의 트래픽을 허용해야 합니다.

아래 명령어를 사용하여 firewalld에 HTTP 및 HTTPS 서비스를 추가합니다.

sudo firewall-cmd --zone=public --add-service=http --permanent  
sudo firewall-cmd --zone=public --add-service=https --permanent

이제 firewalld를 다시 로드하여 HTTP 및 HTTPS에 대한 새로운 규칙을 적용합니다.

sudo firewall-cmd --reload

아래 명령어를 사용하여 firewalld의 규칙 목록을 확인합니다. firewalld에서 HTTP 및 HTTPS 서비스가 모두 사용 가능하다는 것을 확인할 수 있습니다.

sudo firewall-cmd --list-all

setup firewalld

Zammad 고객 지원 시스템 설치

이제 의존성이 설치되고 구성되었으므로, DNF 패키지 관리자를 통해 Zammad 설치를 시작할 수 있습니다.

아래 명령어로 Zammad 저장소의 GPG 키를 추가합니다.

sudo rpm --import https://dl.packager.io/srv/zammad/zammad/key

이제 아래 명령어로 Rocky Linux 서버에 Zammad 저장소를 추가합니다.

sudo wget -O /etc/yum.repos.d/zammad.repo \  
https://dl.packager.io/srv/zammad/zammad/develop/installer/el/9.repo

다음으로, 아래 dnf 명령어로 zammad을 설치합니다. 프롬프트가 표시되면 y를 입력하여 gpg 키 및 Zammad 설치를 확인합니다.

sudo dnf install zammad

install zammad

설치가 완료되면 다음 명령어를 실행하여 zammad, zammad-web, zammad-worker, zammad-websocket를 포함한 Zammad의 서비스를 확인합니다.

sudo systemctl status zammad  
sudo systemctl status zammad-web  
sudo systemctl status zammad-worker  
sudo systemctl status zammad-websocket

Zammad의 모든 서비스가 실행 중인지 확인합니다.

zammad running

마지막으로, 아래 명령어를 실행하여 ZammadElasticsearch 간의 통합을 설정합니다.

zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"  
zammad run rake zammad:searchindex:rebuild

명령어가 실행된 후, 이는 Zammad를 위한 Elasticsearch 인덱스를 생성합니다.

Nginx를 리버스 프록시로 설정

이제 Zammad를 설치했으므로, Nginx를 리버스 프록시로 구성합니다. 기본적으로 Zammad는 /opt/zammad/contrib 디렉토리에 사용 가능한 샘플 구성을 제공합니다.

Zammad의 Nginx 구성을 /etc/nginx/conf.d/zammad.conf로 복사하고 nano 편집기를 사용하여 엽니다.

cp /opt/zammad/contrib/nginx/zammad.conf /etc/nginx/conf.d/zammad.conf  
sudo nano /etc/nginx/conf.d/zammad.conf

server_name 옵션 내에서 도메인으로 변경합니다.

server_name zammad.howtoforge.local;

파일을 저장하고 종료합니다.

이제 Nginx 구성을 확인하여 올바른 구문인지 확인합니다. 성공하면 ‘syntax is ok‘라는 출력을 얻어야 합니다.

sudo nginx -t

마지막으로, 아래 명령어를 실행하여 Nginx 서비스를 재시작하고 Zammad에 대한 새로운 서버 블록 구성을 적용합니다.

sudo systemctl restart nginx

setup nginx

이로써 Zammad 설치가 완료되고 접근 가능해야 합니다.

HTTPS로 Zammad 보안 설정

이제 Nginx가 구성되었으므로, SSL/TLS 인증서를 통해 Zammad를 보안 설정합니다. Certbot을 설치하고 Letsencrypt에서 SSL 인증서를 생성합니다.

아래 dnf 명령어를 사용하여 Certbot 및 Nginx 플러그인을 설치합니다. 설치를 확인하기 위해 y를 입력합니다.

sudo dnf install certbot python3-certbot-nginx

설치가 완료되면 아래 certbot 명령어를 실행하여 SSL/TLS 인증서를 생성하고 Zammad 설치를 보안 설정합니다. 이메일 주소와 도메인 이름 정보를 자신의 정보로 변경해야 합니다.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d zammad.howtoforge.local

완료되면 SSL/TLS 인증서는 /etc/letsencrypt/live/domain.com 디렉토리에 있으며, Zammad도 HTTPS로 자동으로 보안 설정됩니다.

Zammad 설치 설정

웹 브라우저를 열고 https://zammad.hwomdian.io/를 방문합니다. 설치가 성공적이라면 다음과 같은 메시지가 표시됩니다:

새 시스템 설정을 클릭하여 Zammad 구성을 시작합니다.

setup zammad

Zammad의 관리자 사용자 및 비밀번호 세부 정보를 입력한 후 생성을 클릭합니다.

setup user

조직 이름을 입력하고 로고를 업로드한 후 다음을 클릭하여 계속합니다.

setup orgz

이메일 설정에 대해 건너뛰기를 클릭합니다. 설치가 완료된 후에 이를 구성할 수 있습니다.

skip email

이제 다음과 같은 Zammad 대시보드를 볼 수 있습니다.

dashboard

결론

축하합니다! Rocky Linux 9 서버에 Zammad 티켓팅 시스템 설치를 완료했습니다. PostgreSQL 데이터베이스, Nginx를 리버스 프록시로, Elasticsearch와 함께 Zammad가 실행되고 있으며, Certbot을 통해 HTTPS로 보안 설정되었습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.