インストールガイド · 1 min read · Oct 26, 2025

Rocky Linux 9にZammadカスタマーサポートシステムをインストールする方法

Zammadは、RubyとPostgreSQLに基づくオープンソースのカスタマーサポート/チケッティングソリューションです。さまざまなメール、チャット、ソーシャルメディアチャネルを通じてコミュニケーションを管理するのに役立ちます。

このガイドでは、Rocky LinuxサーバーにZammadチケッティングシステムをインストールする方法を学びます。PostgreSQL、Nginx、およびElasticsearchでZammadを実行します。

前提条件

始める前に、次のものを用意してください:

  • Rocky Linux 9サーバー。
  • 管理者権限を持つ非rootユーザー。
  • サーバー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

次に、以下のコマンドを実行してNode.jsリポジトリをバージョン18用に有効にします。

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

次に、systemdマネージャーをリロードし、以下のコマンドを使用して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_connectionsを以下のように2000に変更します。

max_connections = 2000

ファイルを保存して終了します。

次に、以下のsystemctlコマンドを実行してPostgreSQLサービスを再起動し、変更を適用します。

sudo systemctl restart postgresql

Firewalldの設定

デフォルトでは、Rocky Linuxでfirewalldが有効になっています。したがって、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をインストールします。プロンプトが表示されたら、GPGキーとZammadのインストールを確認するためにyと入力します。

sudo dnf install zammad

install zammad

インストールが完了したら、以下のコマンドを実行して、zammadzammad-webzammad-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を使用し、Certbotを介してHTTPSで保護されたZammadが稼働しています。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。