在Debian 10上安装Zammad票务系统

脸书
Debian+10&url=https%3A%2F%2Fkifarunix.com%2Finstall-zammad-ticketing-system-on-debian-10%2F&via=kifarunix”>

推特

Pinterest WhatsApp

    欢迎来到我们的教程,了解如何在Debian 10上安装Zammad票务系统。 Zammad文档页面,“ Zammad是基于Web的开放源代码服务台/客户支持系统,具有许多功能,可通过电话,facebook,twitter,聊天和电子邮件等多种渠道来管理客户沟通。”

    在其功能页面上了解有关Zammad票务系统功能的信息,下面提供了链接。

    Zammad票务系统功能

    在Debian 10上安装Zammad票务系统

    先决条件

    在撰写本文时,您的系统必须满足许多要求(在撰写本文时),然后才能在Debian 10上安装Zammad Ticketing系统。

    软件需求

    1. 适用于Zammad v3.4.1 +的Ruby 2.6.6:Zammad用Ruby和Java编写,因此需要Ruby。
    2. 用于存储内容的关系数据库管理系统(RDBMS)。支持的RDMS系统;
      • MySQL 5.6以上
      • MariaDB 10.0以上
      • PostgreSQL 9.1+(推荐,默认情况下受支持)。
    3. 反向代理可交付应用程序的静态内容:
      • Nginx 1.3以上
      • 阿帕奇2.2+
    4. Elasticsearch(可选,但强烈建议使用)以加快搜​​​​索速度并支持高级功能,例如报告或通过电子邮件附件内容进行搜索。 Zammad v3.4 +与Elasticsearch 5.5–7.7兼容。

    硬件要求

    请参阅 Zammad硬件要求页面

    在Debian 10上安装Zammad票务系统

    在Debian中配置语言环境

    在本教程中,我们将使用PostgreSQL默认安装Zammad。

    因此,如果您使用的是PostgreSQL数据库后端,则需要启用UTF-8语言环境。

    要检查是否启用了UTF-8本地,请运行 locale 来自终端的命令,如下所示。

    locale
    LANG=en_US.UTF-8
    LANGUAGE=
    LC_CTYPE="en_US.UTF-8"
    LC_NUMERIC="en_US.UTF-8"
    LC_TIME="en_US.UTF-8"
    LC_COLLATE="en_US.UTF-8"
    LC_MONETARY="en_US.UTF-8"
    LC_MESSAGES="en_US.UTF-8"
    LC_PAPER="en_US.UTF-8"
    LC_NAME="en_US.UTF-8"
    LC_ADDRESS="en_US.UTF-8"
    LC_TELEPHONE="en_US.UTF-8"
    LC_MEASUREMENT="en_US.UTF-8"
    LC_IDENTIFICATION="en_US.UTF-8"
    LC_ALL=

    如果从上面的输出中看不到这样的行;

    LANG=en_US.UTF-8

    您需要生成和更新语言环境。

    locale-gen en_US.UTF-8
    update-locale LANG=en_US.UTF-8

    这将更新 /etc/default/locale 带有设置的LANG环境变量的文件。

    在Debian上安装Elasticsearch

    Zammad v3.4 +与Elasticsearch 5.5–7.7兼容。因此,让我们在Debian上安装Elasticsearch 7.7。

    安装Elasticsearch存储库签名密钥;

    apt install gnupg2 -y
    wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch --no-check-certificate | sudo apt-key add -

    安装Elasticsearch回购;

    echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

    在Debian上安装Elasticsearch 7.7;

    apt update
    apt install elasticsearch=7.7.1

    在Debian 10上安装Zammad票务系统

    在Debian上安装Zammad存储库列表

    wget -qO- https://dl.packager.io/srv/zammad/zammad/key | sudo apt-key add -
    wget -O /etc/apt/sources.list.d/zammad.list https://dl.packager.io/srv/zammad/zammad/stable/installer/debian/10.repo

    更新包缓存;

    apt update

    接下来,在Debian 10和所有其他必需的软件包上安装Zammad票务系统。

    下面的命令将安装Zammad 3.6.0,这是撰写本文时当前的稳定版本吗?

    apt install zammad

    安装完成后,您将看到这样的输出:

    ...
    # Starting Zammad
    # Creating webserver bootstart
    Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
    Executing: /lib/systemd/systemd-sysv-install enable nginx
    # Restarting webserver nginx
    ####################################################################################
    
    Add your fully qualified domain name or public IP to servername directive of
    nginx, if this installation is done on a remote server. You have to change:
    /etc/nginx/sites-available/zammad.conf and restart nginx process.
    Otherwise just open http://localhost/ in your browser to start using Zammad.
    
    ####################################################################################
    ...

    管理Zammad服务Zammad

    systemctl status zammad
    systemctl stop zammad
    systemctl start zammad
    systemctl restart zammad
    systemctl enable zammad

    仅Web应用程序服务器

    systemctl status zammad-web
    systemctl stop zammad-web
    systemctl start zammad-web
    systemctl restart zammad-web

    只有工人的过程

    systemctl status zammad-worker
    systemctl stop zammad-worker
    systemctl start zammad-worker
    systemctl restart zammad-worker

    仅Websocket服务器

    systemctl status zammad-websocket
    systemctl stop zammad-websocket
    systemctl start zammad-websocket
    systemctl restart zammad-websocket

    为Zammad配置Elasticsearch

    接下来,为Zammad配置Elasticsearch搜索引擎。

    运行Elasticsearch

    我们已经安装了Elasticsearch 7.7.1。因此,您可以通过运行以下命令来启动并使其在系统启动时运行;

    systemctl enable --now elasticsearch

    Elasticsearch现在正在使用默认设置运行。

    您可以通过运行以下命令进行验证;

    curl localhost:9200
    {
      "name" : "debian",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "jNyydGm3TjSaaRp1EcvCxg",
      "version" : {
        "number" : "7.7.1",
        "build_flavor" : "default",
        "build_type" : "deb",
        "build_hash" : "ad56dce891c901a492bb1ee393f12dfff473a423",
        "build_date" : "2020-05-28T16:30:01.040088Z",
        "build_snapshot" : false,
        "lucene_version" : "8.5.1",
        "minimum_wire_compatibility_version" : "6.8.0",
        "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }

    安装Elasticsearch Ingest插件

    摄取插件 通过提供其他摄取节点功能扩展了Elasticsearch。

    要安装插件,请运行以下命令;

    /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment
    -> Installing ingest-attachment
    -> Downloading ingest-attachment from elastic
    [=================================================] 100%   
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @     WARNING: plugin requires additional permissions     @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    * java.lang.RuntimePermission accessClassInPackage.sun.java2d.cmm.kcms
    * java.lang.RuntimePermission accessDeclaredMembers
    * java.lang.RuntimePermission getClassLoader
    * java.lang.reflect.ReflectPermission suppressAccessChecks
    * java.security.SecurityPermission createAccessControlContext
    * java.security.SecurityPermission insertProvider
    * java.security.SecurityPermission putProviderProperty.BC
    See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
    for descriptions of what these permissions allow and the associated risks.
    
    Continue with installation? [y/N]y
    -> Installed ingest-attachment

    调整Elasticsearch

    增加虚拟内存映射数;

    echo vm.max_map_count=262144 >> /etc/sysctl.conf
    sysctl -p

    增加HTTP请求正文的最大大小(默认为100MB)。

    echo "http.max_content_length: 400mb" >> /etc/elasticsearch/elasticsearch.yml

    重新启动Elasticsearch

    systemctl restart elasticsearch

    配置Zammad使用Elasticsearch

    运行以下命令以定义Zammad Elasticsearch URL,重建索引,调整索引命名空间以及文件附件索引规则。

    zammad run rails r "Setting.set('es_url', 'http://localhost:9200')" 
    zammad run rake searchindex:rebuild
    zammad run rails r "Setting.set('es_attachment_ignore', [ '.png', '.jpg', '.jpeg', '.mpeg', '.mpg', '.mov', '.bin', '.exe', '.box', '.mbox' ] )"
    zammad run rails r "Setting.set('es_attachment_max_size_in_mb', 50)"

    为Zammad电子邮件通知安装Postfix

    要让Zammad传递电子邮件通知,您可以安装后缀。

    apt install postfix

    访问Zammad界面

    要访问Zammad Web界面,您需要更新一些Nginx Web服务器配置。

    实际上,我们唯一可以做的更改就是通过将server_name的值更改为您可解析的完全限定域名来使站点可以从外部访问。

    vim /etc/nginx/sites-available/zammad.conf
    server {
        listen 80;
    
        # replace 'localhost' with your fqdn if you want to use zammad from remote
        #server_name localhost;
        server_name helpdesk.kifarunix-demo.com;
    ...

    保存文件并退出。

    检查Nginx语法,如果一切正常,请重新启动它;否则,请重新启动。

    nginx -t
    systemctl restart nginx

    您现在可以通过导航到URL来访问Zammad Web界面, http://<server-domain>

    Zammad设置页面将欢迎您;

    在Debian 10上安装Zammad票务系统

    点击 设置新系统 继续。

    设置Zammad管理员帐户。

    在Debian 10上安装Zammad票务系统

    接下来,设置组织名称,徽标和zammad网址;

    在Debian 10上安装Zammad票务系统

    配置电子邮件通知设置。在这种情况下,我们使用Gmail中继。

    在Debian 10上安装Zammad票务系统

    也, 允许不太安全的应用访问 点击之前 继续

    在Debian上安装Zammad票务系统

    您可以设置Zammad通讯通道。请点击 电子邮件 设置电子邮件交流渠道。

    在Debian 10上安装Zammad票务系统
    在Debian 10上安装Zammad票务系统

    设置Zammad通讯通道后,您可以选择邀请同事。

    设置完成后,您应该进入仪表板。

    在Debian 10上安装Zammad票务系统
    在Debian 10上安装Zammad票务系统
    在Debian 10上安装Zammad票务系统

    这就是如何在Debian 10上安装Zammad Ticketing System的全部内容。

    您可以继续进行设置,以完全使用Zammad票务系统。

    参考

    Zammad文档

    其他教程

    在Ubuntu 20.04上安装Zammad票务系统

    在CentOS 8上使用MariaDB安装请求跟踪器(RT)

    配置请求跟踪器(RT)以通过Office 365中继使用MSMTP发送邮件

    Sidebar