如何在 Ubuntu 16.04 上设置 Zammad 票务系统如何在 Ubuntu 16.04 上设置 Zammad 票务系统如何在 Ubuntu 16.04 上设置 Zammad 票务系统如何在 Ubuntu 16.04 上设置 Zammad 票务系统
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 16.04 上设置 Zammad 票务系统

在此页

  1. 我们将做什么
  2. 先决条件
  3. 第 1 步 - 配置区域设置
  4. 第 2 步 - 安装 Zammad 票务系统
  5. 第 3 步 - 安装和配置 SSL Letsencrypt
  6. 第 4 步 - 为 Zammad 配置 Nginx
  7. 第 5 步 - Zammad 配置
  8. 第 6 步 - 其他提示
  9. 参考资料

Zammad 是一个用 Ruby 编写的开源帮助台/客户支持系统。它是一个基于 Web 的票务系统,具有许多功能,包括支持通过 Facebook、电报、聊天和电子邮件等多个渠道管理客户通信。 Zammad 在 GNU AFFERO 通用公共许可证 (AGPL) 下分发,可以安装在多个平台上,如 Linux、AIX、FreeBSD、OpenBSD 和 MacOSX。它在 Github 上可用,可以免费安装在您自己的服务器上。

在本教程中,我们将向您展示如何使用 Nginx Web 服务器和数据库系统的 PostgreSQL 安装和配置 Zammad 票务系统。操作系统将是 Ubuntu 16.04 Xenial Xerus,我们将使用 SSL Letsencrypt 来保护客户端-服务器连接。

我们将要做什么

  1. 在 Ubuntu 16.04 上配置语言环境
  2. 安装 Zammad 票务系统
  3. 安装和配置 SSL Letsencrypt
  4. 配置 Nginx HTTPS
  5. Zammad 配置
  6. 其他提示

先决条件

  • Ubuntu 16.04
  • 内存:2GB 或更多
  • 根权限

第 1 步 - 配置语言环境

我们需要将语言环境系统设置为 UTF-8 以安装 PostgreSQL 数据库。使用以下 apt 命令在系统中安装语言环境。

apt install locales

生成新的 UTF-8 语言环境并将其作为系统的默认语言环境。

locale-gen en_US.UTF-8
echo 'LANG=en_US.UTF-8' > /etc/default/locale

接下来,使用以下命令检查区域设置。

locale

并且您应该将当前使用的系统区域设置为 UTF-8。

第 2 步 - 安装 Zammad 票务系统

Zammad 可以通过以下两种方式安装:从源手动安装或从存储库包安装。在本教程中,我们将从存储库安装 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 将自动安装其他所需的包,包括 Nginx Web 服务器和 PostgreSQL 数据库。

完成安装后,您将看到类似于以下屏幕截图所示的结果。

Zammad 连同其他所需的软件包已安装在系统上。

第 3 步 - 安装和配置 SSL Letsencrypt

在本教程中,我们将配置 Zammad 以使用 HTTPS 在客户端和服务器之间建立安全连接。我们将使用来自 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 证书文件。

第 4 步 - 为 Zammad 配置 Nginx

Nginx Web 服务器在 Zammad 安装过程中自动安装。 Zammad 有一个虚拟主机配置,位于 /etc/nginx/sites-available 目录中。

在这一步中,我们需要编辑zammad虚拟主机文件zammad.conf来实现SSL配置。

转到 sites-available 目录并使用 vim 编辑 zammad.conf 文件。

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。现在,测试配置并确保没有错误。然后重启 nginx 网络服务器。

nginx -t
systemctl restart nginx

Zammad 虚拟主机现在正在使用 SSL 配置。

第 5 步 - Zammad 配置

安装了 Zammad 和其他包括 Nginx 和 PostgreSQL 的软件包,虚拟主机配置也已完成。现在我们需要通过 Web 浏览器执行 Zammad 安装和配置。

打开您的 Web 浏览器并输入 zammad URL zammad.hakase-labs.co。您将被自动重定向到 HTTPS 连接。

单击设置新系统。

下一页用于管理员配置。在这里,输入管理员用户、电子邮件和密码等详细信息。然后点击创建

对于组织名称,输入您的组织名称 Hakase-labs Inc,然后单击下一步。

对于电子邮件配置,单击继续。我们可以从设置页面进行电子邮件通知配置。

接下来,在频道配置窗口中,单击跳过。

现在您会看到带有漂亮 UI 的 Zammad 管理仪表板。

Zammad 已安装并启用 HTTPS。它在 Linux Ubuntu 16.04 上安装了 Nginx 作为 Web 服务器和 PostgreSQL 作为数据库。

第 6 步 - 其他提示

Zammad 具有三个组件,包括 Web 应用程序服务器、工作进程和 WebSocket 服务器。我们可以使用下面的 systemcl 命令管理所有服务。

systemctl start zammad
systemctl status zammad
systemctl restart zammad

如果要配置个别服务,可以使用如下所示的特定命令。

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

Zammad 在 Ubuntu 16.04 Xenial Xerus 上的安装已经完成。

参考

  • https://docs.zammad.org/

©2015-2025 艾丽卡 support@alaica.com