Zammadは、Rubyで記述されたオープンソースのヘルプデスク/カスタマーサポートシステムです。これは、Facebook、電報、チャット、電子メールなどの複数のチャネルを介した顧客コミュニケーションの管理をサポートするなど、多くの機能を備えたWebベースのチケットシステムです。 ZammadはGNUAFFEROGeneral Public License(AGPL)の下で配布されており、Linux、AIX、FreeBSD、OpenBSD、MacOSXなどの複数のプラットフォームにインストールできます。 Githubで利用でき、独自のサーバーに無料でインストールできます。
このチュートリアルでは、データベースシステムにNginx WebサーバーとPostgreSQLを使用して、Zammadチケットシステムをインストールおよび構成する方法を示します。 OSはUbuntu16.04Xenial Xerusになり、SSLLetsencryptを使用してクライアント/サーバー接続を保護します。
- Ubuntu16.04でロケールを構成する
- Zammadチケットシステムをインストールする
- SSLLetsencryptをインストールして構成する
- NginxHTTPSを構成する
- Zammad構成
- 追加のヒント
- Ubuntu 16.04
- RAM:2GB以上
- root権限
PostgreSQLデータベースをインストールするには、ロケールシステムを「UTF-8」に設定する必要があります。次のaptコマンドを使用して、システムにロケールをインストールします。
apt install locales
新しい「UTF-8」ロケールを生成し、それをシステムのデフォルトロケールとして作成します。
locale-gen en_US.UTF-8
echo 'LANG=en_US.UTF-8' > /etc/default/locale
次に、次のコマンドでロケール設定を確認します。
locale
また、現在使用されているシステムロケールを「UTF-8」として取得する必要があります。
Zammadは、ソースからの手動インストールまたはリポジトリパッケージからのインストールの2つの方法でインストールできます。このチュートリアルでは、リポジトリからZammadをインストールします。
新しいZammadキーとリポジトリをシステムに追加します。
wget -qO - https://deb.packager.io/key | sudo apt-key add -
echo "deb https://deb.packager.io/gh/zammad/zammad xenial stable" | sudo tee /etc/apt/sources.list.d/zammad.list
以下に示すように、リポジトリを更新し、aptコマンドを使用してZammadをインストールします。
sudo apt update
sudo apt install zammad
注:
Zammadは、NginxWebサーバーやPostgreSQLデータベースなどの他の必要なパッケージを自動的にインストールします。
インストールが完了すると、次のスクリーンショットに示すような結果が表示されます。
Zammadは、他の必要なパッケージとともにシステムにインストールされています。
このチュートリアルでは、クライアントとサーバー間の安全な接続にHTTPSを使用するようにZammadを構成します。 Letsencryptの無料SSLを使用します。これは、letsencryptツールで構成できます。
aptコマンドを使用して、公式リポジトリからletsencryptツールをインストールします。
apt install letsencrypt
Letsencryptツールがインストールされました。次に、Nginx構成ディレクトリ'/ etc / nginx /'に移動し、デフォルトの仮想ホストファイルを編集します。
cd /etc/nginx/sites-available/
vim default
以下の構成を「サーバー{..}」の下に貼り付けます 'セクション。
location ~ /.well-known {
allow all;
}
それでおしまい。変更を保存してから、nginxを再起動します。
systemctl restart nginx
次に、以下のletsencryptコマンドを使用して、独自のドメイン名の新しいSSL証明書を生成します。
letsencrypt certonly --standalone -d zammad.hakase-labs.co
メール更新通知について尋ねられたら、メールを入力してください。
また、Letsencryptの利用規約(TOS)についても尋ねられますので、[同意する]を選択してEnterキーを押してください。
SSL証明書が生成されると、次のような結果が表示されます。
すべての証明書ファイルは「/etc/letsencrypt / live /」ディレクトリ内で利用可能であり、Zammad用の新しいSSL証明書ファイルが生成されています。
Nginx Webサーバーは、Zammadのインストールプロセス中に自動的にインストールされます。 Zammadの仮想ホスト構成があり、「/ etc / nginx/sites-available」ディレクトリにあります。
このステップでは、SSL構成を実装するためにzammad仮想ホストファイル「zammad.conf」を編集する必要があります。
「sites-available」ディレクトリに移動し、「zammad.conf」ファイルをvimで編集します。
cd /etc/nginx/sites-available/
vim zammad.conf
すべての行を削除し、以下の構成を貼り付けます。
#
# this is the nginx config for zammad
#
upstream zammad {
server localhost:3000;
}
upstream zammad-websocket {
server localhost:6042;
}
# Added - Automatically redirect HTTP to HTTPS Nginx
server {
listen 80;
server_name zammad.irsyadf.me;
return 301 https://$host$request_uri;
}
# Added - HTTPS configuration for Zammad
server {
listen 443 http2 ssl;
ssl_certificate /etc/letsencrypt/live/zammad.irsyadf.me/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/zammad.irsyadf.me/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/domain name 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;
}
}
変更を保存して、エディターを終了します。
したがって、Zammad仮想ホストはSSLで有効になります。次に、構成をテストし、エラーがないことを確認します。次に、nginxWebサーバーを再起動します。
nginx -t
systemctl restart nginx
Zammad仮想ホストは現在SSL構成を使用しています。
ZammadおよびNginxやPostgreSQLを含むその他のパッケージがインストールされ、仮想ホストの構成も完了しています。次に、Webブラウザを介してZammadのインストールと構成を実行する必要があります。
Webブラウザーを開き、zammadURL「zammad.hakase-labs.co」を入力します。 HTTPS接続に自動的にリダイレクトされます。
[新しいシステムのセットアップ]をクリックします '。
次のページは管理者設定用です。ここに、管理者ユーザー、メールアドレス、パスワードなどの詳細を入力します。次に、[作成]をクリックします '
組織名には、組織名「Hakase-labs Inc」を入力し、「次へ」をクリックします。 。
メールの設定については、[続行]をクリックしてください '。設定ページからメール通知の設定を行うことができます。
次に、[チャネル構成]ウィンドウで、[スキップ]をクリックします '。
これで、美しいUIを備えたZammad管理ダッシュボードが表示されます。
Zammadがインストールされ、HTTPSが有効になっています。 Linux Ubuntu 16.04では、WebサーバーとしてNginx、データベースとしてPostgreSQLがインストールされています。
Zammadには、Webアプリケーションサーバー、ワーカープロセス、WebSocketサーバーを含む3つのコンポーネントがあります。以下のsystemclコマンドですべてのサービスを管理できます。
systemctl start zammad
systemctl status zammad
systemctl restart zammad
個々のサービスを構成する場合は、以下に示す特定のコマンドを使用できます。
systemctl status zammad-web
systemctl status zammad-worker
systemctl status zammad-websocket
Ubuntu 16.04XenialXerusへのZammadのインストールが完了しました。