웹사이트 검색

CentOS 7에 Zammad 발권 시스템을 설치하는 방법


이 페이지에서

  1. 우리가 할 일\n
  2. 전제 조건
  3. 1단계 - Zammad 발권 시스템 설치
  4. 2단계 - Letsencrypt SSL 설치 및 구성
  5. 3단계 - Nginx 웹 서버 구성
  6. 4단계 - Zammad 구성
  7. 5단계 - Zammad 서비스 사용 설정
  8. 참조

Zammad는 Ruby로 작성된 오픈 소스 헬프데스크/고객 지원 시스템입니다. Facebook, 텔레그램, 채팅 및 이메일과 같은 여러 채널을 통한 고객 커뮤니케이션 관리 지원을 포함하여 다양한 기능을 갖춘 웹 기반 발권 시스템입니다. Zammad는 GNU AFFERO 일반 공용 라이선스(AGPL)에 따라 배포되며 Linux, AIX, FreeBSD, OpenBSD 및 MacOSX와 같은 다양한 플랫폼에 설치할 수 있습니다. Github에서 사용할 수 있으며 자체 서버에 무료로 설치할 수 있습니다.

이 튜토리얼에서는 Nginx 웹 서버와 데이터베이스 시스템용 PostgreSQL을 사용하여 Zammad Ticketing System을 설치하고 구성하는 방법을 보여줍니다. CentOS 7 서버를 사용하고 SSL Letsencrypt를 사용하여 클라이언트-서버 연결을 보호할 것입니다. ;var slotId=div-gpt-ad-howtoforge_com-medrectangle-3-0;var ffid=1;var alS=1021%1000;var container=document.getElementById(slotId);container.style.width=100%;var ins=document.createElement(ins);ins.id=slotId+-asloaded;ins.className=adsbygoogle ezasloaded;ins.dataset.adClient=pid;ins.dataset.adChannel=cid;if(ffid==2){ins. 데이터 세트.fullWidthResponsive=true;}

우리가 할 일

  1. Zammad 발권 시스템 설치
  2. Letsencrypt 설치 및 구성
  3. Nginx 웹 서버 구성
  4. Zammad 구성
  5. Zammad 추가 팁

전제 조건

  • CentOS 7 시스템
  • 최소 2GB RAM
  • 루트 권한\n

1단계 - Zammad 발권 시스템 설치

CentOS 7에 Zammad 티켓팅 시스템을 설치하기 전에 Nginx 웹 서버 설치를 위한 EPEL(Extra Packages for Enterprise Linux) 리포지토리를 설치해야 합니다.

다음 yum 명령을 사용하여 epel 패키지를 설치하여 EPEL 저장소를 추가합니다.

sudo yum -y install epel-release

EPEL 저장소가 시스템에 추가되었습니다.

다음으로 rpm 가져오기 명령을 사용하여 Zammad 키를 가져옵니다.

sudo rpm --import https://rpm.packager.io/key

vim 편집기를 사용하여 yum.repos.d 디렉토리에 새 .repo 파일을 생성하여 Zammad 저장소를 추가합니다.

vim /etc/yum.repos.d/zammad.repo

거기에 다음 정보를 붙여넣습니다.

[zammad]
name=Repository for zammad/zammad application.
baseurl=https://rpm.packager.io/gh/zammad/zammad/centos7/stable
enabled=1

그게 다야. 저장 및 종료.

이제 다음 yum 명령을 사용하여 Zammad를 설치합니다.

sudo yum -y install zammad

참고: Zammad를 설치할 때 Nginx 웹 서버 및 PostgreSQL 데이터베이스를 포함한 기타 필수 패키지가 자동으로 설치됩니다.

그리고 설치가 완료되면 아래와 같은 결과를 볼 수 있습니다.

Zammad 및 기타 패키지(Nginx 웹 서버 및 PostgreSQL 데이터베이스)가 설치되었습니다.

2단계 - Letsencrypt SSL 설치 및 구성

이 튜토리얼에서는 Nginx HTTPS에서 Letsencrypt의 무료 SSL을 사용하여 Zammad를 설정하려고 합니다. 그리고 이 단계에서 이를 수행하고 저장소에서 설치할 수 있는 certbot 도구(Letsencrypt Agent)를 사용합니다.

yum을 사용하여 저장소에서 certbot 패키지 도구를 설치합니다.

yum -y install certbot

다음으로 certbot 도구를 사용하여 새 SSL 인증서를 생성해야 합니다. 인증서 파일을 생성할 고유한 도메인이 있는지 확인하십시오. 도메인 이름은 zammad.hakase-labs.com을 사용합니다.

Nginx 구성 디렉토리로 이동하여 vim 편집기에서 nginx.conf 파일을 엽니다.

cd /etc/nginx/
vim nginx.conf

다음 구성을 server {} 블록 아래에 붙여넣습니다.

        location ~ /.well-known {
                allow all;
        }

저장 및 종료. 그런 다음 구성을 테스트하고 웹 서버를 다시 시작하십시오.

nginx -t
systemctl restart nginx

SSL 인증서 파일을 생성하기 전에 HTTP 및 HTTPS에 대한 시스템 포트가 방화벽에 의해 차단되지 않았는지 확인하십시오. 아래와 같이 firewall-cmd 명령을 사용하여 CentOS에서 HTTP 및 HTTPS 포트를 열 수 있습니다.

firewall-cmd --permanent --add-service=https
firewall-cmd --reload

이제 다음 certbot 명령을 사용하여 SSL 인증서 파일을 생성합니다.

certbot certonly --standalone -d zammad.hakase-labs.co

알림 갱신을 위한 이메일 주소를 묻는 메시지가 표시됩니다. 이메일 주소를 입력하고 Enter 키를 눌러 계속하십시오. Letsencrypt 서비스 기간(TOS)에 A를 입력하여 동의합니다. 마찬가지로 EFF Foundation과 이메일을 공유하라는 메시지가 표시되면 아니요를 나타내는 N을 입력합니다.

certbot 명령이 완료되면 아래와 같은 결과가 표시됩니다.

Zammad 설치를 위한 새 SSL 인증서 파일이 생성되었습니다. 모든 인증서는 /etc/letsencryp/live/ 디렉토리에 있습니다.

3단계 - Nginx 웹 서버 구성

이 단계에서는 Zammad에 대한 가상 호스트 파일을 구성합니다. zammad 설치 중에 /etc/nginx/conf.d/ 디렉토리에 자동으로 생성됩니다.

/etc/nginx/conf.d/로 이동하여 zammad.conf 파일을 편집합니다.

cd /etc/nginx/conf.d/
vim zammad.conf

아래와 같이 모든 구성을 변경합니다.

#
# this is the Nginx config for zammad
#

upstream zammad {
    server localhost:3000;
}

upstream zammad-websocket {
    server localhost:6042;
}

server {
    listen 80;
    server_name zammad.hakase-labs.co;
    return 301 https://$host$request_uri;
}

server {
    listen 443 http2 ssl;

    ssl_certificate /etc/letsencrypt/live/zammad.hakase-labs.co/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/zammad.hakase-labs.co/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
    ssl_ecdh_curve secp384r1;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;
    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;

    # replace 'localhost' with your fqdn if you want to use zammad from remote
    server_name zammad.irsyadf.me;

    root /opt/zammad/public;

    access_log /var/log/nginx/zammad.access.log;
    error_log  /var/log/nginx/zammad.error.log;

    client_max_body_size 50M;

    location ~ ^/(assets/|robots.txt|humans.txt|favicon.ico) {
        expires max;
    }

    location /ws {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header CLIENT_IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_read_timeout 86400;
        proxy_pass http://zammad-websocket;
    }

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header CLIENT_IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_read_timeout 180;
        proxy_pass http://zammad;

        gzip on;
        gzip_types text/plain text/xml text/css image/svg+xml application/javascript application/x-javascript application/json application/xml;
        gzip_proxied any;
    }
}

저장 및 종료.

다음으로 Nginx 구성을 테스트하고 오류가 없는지 확인합니다. 그런 다음 웹 서버를 다시 시작하십시오.

nginx -t
systemctl restart nginx

zammad 가상 호스트 파일은 현재 SSL을 사용하고 있습니다. netstat 명령으로 확인하고 상태가 LISTEN인 HTTPS용 포트 443이 있는지 확인합니다.

netstat -plntu

4단계 - Zammad 구성

Zammad는 Nginx를 웹 서버로, PostgreSQL을 데이터베이스 서버로 사용하여 CentOS 7에 설치되었으며 HTTPS 연결에서 실행됩니다. 이 단계에서는 Zammad Ticketing System의 기본 구성을 수행합니다.

웹 브라우저를 열고 zammad 주소 zammad.hakase-labs.co를 입력합니다. HTTPS 연결로 리디렉션됩니다. 계속하려면 새 시스템 설정 버튼을 클릭하십시오.

이제 모든 관리자 구성을 채우십시오. 사용자 이름, 이메일 주소, 비밀번호를 입력한 다음 만들기를 클릭합니다.

조직 이름에 회사 이름을 입력하고 다음을 클릭합니다.

이메일 알림을 받으려면 계속을 클릭하십시오.

설정 페이지에서 이메일 알림 구성을 할 수 있습니다.

채널 구성의 경우 건너뛰기를 클릭합니다.

이제 아름다운 UI로 Zammad 관리 대시보드를 볼 수 있습니다.

Zammad는 HTTPS가 활성화된 상태로 설치되었으며 구성이 완료되었습니다.

5단계 - Zammad 서비스 사용 설정

Zammad는 웹 애플리케이션 서버, Zammad 작업자 프로세스 및 websocket 서버의 세 가지 구성 요소와 함께 제공됩니다. 아래의 systemcl 명령으로 모든 서비스를 관리할 수 있습니다.

systemctl start zammad
systemctl status zammad
systemctl restart zammad

서비스를 하나씩 구성하려면 아래와 같이 특정 구성 요소를 사용할 수 있습니다.

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

CentOS 7에 Zammad 발권 시스템 설치가 완료되었습니다.

참조

  • https://docs.zammad.org/