如何在 Rocky Linux 9 上安装 Zammad 客户支持系统

如何在 Rocky Linux 9 上安装 Zammad 客户支持系统

Zammad 是一个基于 Ruby 和 PostgreSQL 的开源客户支持/票务解决方案。 它帮助组织管理跨各种电子邮件、聊天和社交媒体渠道的通信。

在本指南中,您将了解如何在 Rocky Linux 服务器上安装 Zammad 票务系统。 您将使用 PostgreSQL、Nginx 和 Elasticsearch 运行 Zammad。

先决条件

开始之前,请确保您已准备好以下物品:

  • Rocky Linux 9 服务器。
  • 具有管理员权限的非 root 用户。
  • 域名指向服务器IP地址。
  • 具有许可状态的 SELinux。

安装依赖项

在本部分中,您将安装 Zammad 的依赖项,其中包括 EPEL 存储库、PostgreSQL 数据库、Nginx Web 服务器、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

现在运行以下命令以启用版本 18 的 Node.js 存储库。

sudo dnf module enable nodejs:18 -y

接下来,运行下面的 dnf 命令来安装 Zammad 的依赖项,包括 Nginx、PostgreSQL、Redis 和 Node.js。

sudo dnf install imlib2 nginx postgresql-server postgresql-contrib libpq-devel redis nodejs

输入 y 确认并继续。

安装依赖项

安装完成后,运行以下命令来初始化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

启动服务并验证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

安装弹性搜索

安装完成后,使用以下命令将 ingest-attachment 插件安装到您的 Elasticsearch 安装中。

/usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment

输入 y 确认安装。

安装插件

现在重新加载 systemd 管理器并使用以下命令启动 elasticsearch 服务。

sudo systemctl daemon-reload
sudo systemctl start elasticsearch

启动后,使用下面的curl命令检查Elasticsearch。 如果安装成功,您将获得有关 Elasticsearch 版本的详细信息。

curl -X GET 'http://localhost:9200'

验证弹性搜索

增加 PostgreSQL 中的最大连接数

对于PostgreSQl,您需要增加postgresql.conf 文件中的默认max_connections。 这是扎马德所需要的。

因此,使用以下命令以 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 的流量。

使用以下命令将 HTTP 和 HTTPS 服务添加到 firewalld。

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

设置防火墙

安装 Zammad 客户支持系统

现在您已经安装并配置了依赖项,您可以开始 Zammad 安装,这可以通过 DNF 包管理器完成。

使用以下命令添加 Zammad 存储库的 GPG 密钥。

sudo rpm --import https://dl.packager.io/srv/zammad/zammad/key

现在使用以下命令将 Zammad 存储库添加到您的 Rocky Linux 服务器。

sudo wget -O /etc/yum.repos.d/zammad.repo \
https://dl.packager.io/srv/zammad/zammad/develop/installer/el/9.repo

接下来,使用下面的 dnf 命令安装 zammad。 出现提示时,输入 y 确认 gpg 密钥和 Zammad 安装。

sudo dnf install zammad

安装扎马德

安装完成后,执行以下命令查看Zammad的服务,包括zammad、zammad-web、zammad-worker、zammad-websocket。

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

确保 Zammad 的每项服务都在运行。

扎马德跑步

最后,运行以下命令来设置 Zammad 和 Elasticsearch 之间的集成。

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.hwdomain.io;

保存并退出文件。

现在验证您的 Nginx 配置以确保语法正确。 如果成功,您应该得到一个输出“语法正确”。

sudo nginx -t

最后,运行以下命令重新启动 Nginx 服务并为 Zammad 应用新的服务器块配置。

sudo systemctl restart nginx

设置 nginx

这样,您的 Zammad 安装就应该准备就绪并且可以访问了。

使用 HTTPS 保护 Z​​ammad

现在 Nginx 已配置完毕,让我们通过 SSL/TLS 证书保护 Zammad 的安全。 您将安装 Certbot 并利用 Letsencrypt 的 certbot 生成 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.hwdomain.io

完成后,您的 SSL/TLS 证书将在 /etc/letsencrypt/live/domain.com 目录中可用,并且您的 Zammad 也将自动使用 HTTPS 保护。

设置 Zammad 安装

启动您的网络浏览器并访问 https://zammad.hwomdian.io/。 如果安装成功,系统会询问您以下问题:

单击“设置新系统”以开始配置 Zammad。

设置扎马德

输入 Zammad 的管理员用户和密码的详细信息,然后单击“创建”。

设置用户

输入您的组织名称,上传您的徽标,然后单击“下一步”继续。

设置orgz

对于电子邮件设置,单击“跳过”。 您可以在完成安装后进行配置。

跳过电子邮件

现在您将看到如下所示的 Zammad 仪表板。

仪表板

结论

恭喜您已在 Rocky Linux 9 服务器上完成 Zammad 票务系统的安装。Zammad 中运行有 PostgreSQL 数据库、Nginx 作为反向代理、Elasticsearch,并且还通过 Certbot 使用 HTTPS 进行保护。

资讯来源:由0x资讯编译自HOWTOFORGE,版权归作者所有,未经许可,不得转载

资讯来源:由a0资讯编译自THECOINREPUBLIC。版权归作者A0资讯所有,未经许可,不得转载

上一篇 2024年 5月 31日
下一篇 2024年 5月 31日

相关推荐