Zammadは、Rubyで記述されたオープンソースのヘルプデスク/カスタマーサポートシステムです。これは、Facebook、電報、チャット、電子メールなどの複数のチャネルを介した顧客コミュニケーションの管理をサポートするなど、多くの機能を備えたWebベースのチケットシステムです。 ZammadはGNUAFFEROGeneral public License(AGPL)の下で配布されており、Linux、AIX、FreeBSD、OpenBSD、MacOSXなどのさまざまなプラットフォームにインストールできます。 Githubで入手でき、自分のサーバーに無料でインストールできます。
このチュートリアルでは、Nginx Webサーバーとデータベースシステム用のPostgreSQLを使用して、Zammadチケットシステムをインストールおよび構成する方法を示します。 CentOS 7サーバーを使用し、SSLLetsencryptを使用してクライアントサーバー接続を保護します。
- Zammadチケットシステムをインストールする
- Letsencryptのインストールと構成
- NginxWebサーバーを構成する
- Zammad構成
- Zammadの追加のヒント
- CentOS7システム
- 少なくとも2GBのRAM
- ルート権限
CentOS 7にZammadチケットシステムをインストールする前に、Nginx WebサーバーをインストールするためのEPEL(Enterprise Linux用の追加パッケージ)リポジトリをインストールする必要があります。
次のyumコマンドを使用してepelパッケージをインストールし、EPELリポジトリを追加します。
sudo yum -y install epel-release
EPELリポジトリがシステムに追加されました。
次に、rpmimportコマンドを使用して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をインストールすると、NginxWebサーバーやPostgreSQLデータベースなどの他の必要なパッケージが自動的にインストールされます。
インストールが完了すると、次のような結果が表示されます。
Zammadおよびその他のパッケージ(NginxWebサーバーとPostgreSQLデータベース)がインストールされています。
このチュートリアルでは、Nginx HTTPSでZammadをセットアップし、Letsencryptの無料SSLを使用します。そして、このステップでそれを行い、リポジトリからインストールできる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
次の構成を「サーバー{}」の下に貼り付けます 'ブロック。
location ~ /.well-known {
allow all;
}
保存して終了。次に、構成をテストし、Webサーバーを再起動します。
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/にあります 'ディレクトリ。
このステップでは、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構成をテストし、エラーがないことを確認します。次に、Webサーバーを再起動します。
nginx -t
systemctl restart nginx
zammad仮想ホストファイルは現在SSLを使用しています。 netstatコマンドで確認し、ポート 443があることを確認してください 状態が'LISTENのHTTPSの場合 '。
netstat -plntu
Zammadは、WebサーバーとしてNginx、データベースサーバーとしてPostgreSQLを使用してCentOS 7にインストールされており、HTTPS接続で実行されています。このステップでは、Zammadチケットシステムの基本的な構成を行います。
Webブラウザーを開き、zammadアドレス「zammad.hakase-labs.co」と入力します。 HTTPS接続にリダイレクトされます。 [新しいシステムのセットアップ]をクリックします 'ボタンをクリックして続行します。
次に、すべての管理者構成を入力します。ユーザー名、メールアドレス、パスワードを入力し、[作成]をクリックします '。
組織名には、会社名を入力して[次へ]をクリックします '。
メール通知の場合は、[続行]をクリックします '。
設定ページからメール通知の設定を行うことができます。
チャネル構成については、[スキップ]をクリックします '。
これで、美しいUIを備えたZammad管理ダッシュボードが表示されます。
ZammadはHTTPSを有効にしてインストールされ、構成が完了しました。
Zammadには、Webアプリケーションサーバー、Zammadワーカープロセス、およびWebSocketサーバーの3つのコンポーネントが付属しています。以下のsystemclコマンドですべてのサービスを管理できます。
systemctl start zammad
systemctl status zammad
systemctl restart zammad
サービスを1つずつ構成する場合は、以下に示す特定のコンポーネントを使用できます。
systemctl status zammad-web
systemctl status zammad-worker
systemctl status zammad-websocket
CentOS7へのZammadチケットシステムのインストールが完了しました。