Zammadは、プログラミング言語RubyおよびJavaScriptで開発されています。 Zammadという名前はバイエルン語の方言に由来し、「一緒に」を意味します。
ステップ1:OSが更新されていることを確認します
OSに最新のパッケージがあることを確認することは常に良い習慣です。次のコマンドを使用して更新します:
sudo apt update
sudo apt upgrade
ステップ2:パッケージの依存関係をインストールする
次に、いくつかの依存関係をインストールしましょう。それらは、将来のステップが機能するためにシステムに存在する必要があります。次のコマンドを使用します:
sudo apt install wget curl apt-transport-https gnupg
Zammadが正しく機能するには、システムで正しい言語環境を使用する必要があります。
sudo apt install locales
sudo locale-gen en_US.UTF-8
echo "LANG=en_US.UTF-8" | sudo tee /etc/default/locale
ステップ3:elasticsearchを設定する
Zammadはelasticsearchを使用しており、検索機能はElasticsearchを利用しており、取り込みプラグインが必要です。
サーバーにelasticsearchをインストールしましょう。まず、ElasticsearchPGPキーをインポートします
次のコマンドを使用して、公開署名キーをダウンロードしてインストールします。
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
次に、リポジトリを設定します:
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
新しいリポジトリを追加したため、リポジトリを更新した後、このコマンドを使用してElasticsearchパッケージをインストールできます:
sudo apt update && sudo apt install elasticsearch
システムの起動時にElasticsearchが自動的に起動するように設定するには、次のコマンドを実行します。
sudo systemctl daemon-reload sudo systemctl enable elasticsearch
Elasticsearchは、次のように開始および停止できます。
sudo systemctl start elasticsearch sudo systemctl stop elasticsearch
statusコマンドを使用して実行されていることを確認します:
$ sudo systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
Loaded: loaded (/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-03-18 11:06:37 UTC; 3min 3s ago
Docs: https://www.elastic.co
Main PID: 2045 (java)
Tasks: 67 (limit: 4556)
Memory: 2.3G
CGroup: /system.slice/elasticsearch.service
├─2045 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -Djava.security.manager=allow -XX:+AlwaysPreTouch -Xss1m >
└─2335 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
Mar 18 11:06:13 axiobrim systemd[1]: Starting Elasticsearch...
Mar 18 11:06:37 axiobrim systemd[1]: Started Elasticsearch.
Ubuntu20.04にElasticsearchをインストールして構成する方法を確認してください。
ステップ4:Zammadをインストールする
ついにZammadをインストールできるようになりました。最初にgpgキーを追加します
curl -fsSL https://dl.packager.io/srv/zammad/zammad/key | \
gpg --dearmor | tee /etc/apt/trusted.gpg.d/pkgr-zammad.gpg> /dev/null
次に、zammadリポジトリを設定します:
echo "deb [signed-by=/etc/apt/trusted.gpg.d/pkgr-zammad.gpg] https://dl.packager.io/srv/deb/zammad/zammad/stable/ubuntu 20.04 main"| \
tee /etc/apt/sources.list.d/zammad.list > /dev/null
最後にリポジトリを更新し、zammadをインストールします:
sudo apt update && sudo apt install zammad
ステップ5:ファイアウォールの設定
ZammadはWebサービスとして公開されます。 ufwをインストールして有効にしている場合は、httpおよびhttpsトラフィックにポート80および443を許可する必要があります。次のコマンドを使用します:
ufw allow 80 ufw allow 443 ufw reload
Zammadのサービスを管理する
一般に、Zammadは3つのサービスを使用します。これらは、親のzammad
で(再)開始および停止できます。 。
$ # Zammad service to start all services at once $ systemctl (status|start|stop|restart) zammad $ # Zammads internal railsserver $ systemctl (status|start|stop|restart) zammad-web $ # Zammads scheduler - relevant for all delayed- and background jobs $ systemctl (status|start|stop|restart) zammad-worker $ # Zammads websocket server for session related information $ systemctl (status|start|stop|restart) zammad-websocket
すべてのサービスを開始する
sudo systemctl start zammad
sudo systemctl start zammad-web
sudo systemctl start zammad-worker
sudo systemctl start zammad-websocket
次のコマンドを使用してサービスステータスを確認します:
sudo systemctl status zammad
sudo systemctl status zammad-web
sudo systemctl status zammad-worker
sudo systemctl status zammad-websocket
ステップ6:Webアクセスの構成
最新のzammadサービスは、nginxを使用してトラフィックをサービスにプロキシします。 zammad.citizix.com
のようなfqdn(ドメインアクセス)を構成する必要がある場合 nginx構成を更新する必要があります。
デフォルトのエディターでnginx設定を開きます
sudo vim /etc/nginx/sites-enabled/zammad.conf
次に、この行をfqdnに更新します。
server_name localhost;
これは、zammad.citizix.com
でどのように表示されるかを示しています。
server_name zammad.citizix.com;
ドメインをナビゲートします(zammad.citizix.com
)そして、システムを使用できるはずです。
sslでサイトを保護する必要がある場合は、Ubuntu20.04でLetsencryptを使用してNginxを保護する方法をご覧ください。