如何在 Ubuntu 18.04 上使用 OTRS 设置帮助台系统

作者选择了自由软件基金会作为 写给捐款计划的一部分接受捐款。

介绍

OTRS,也被称为 Open 源 Ticket Request Ssystem,是一个帮助桌和IT服务管理系统. 它为用户,客户,IT人员,IT服务和任何外部组织提供一个单一的接触点。 该程序以 Perl编写,支持各种数据库(MySQL, PostgreSQL,等等),并可以与 LDAP 目录集成。

在本教程中,您将安装OTRS Community Edition在Ubuntu 18.04服务器上,并设置一个简单的帮助台系统,允许您使用Web界面和电子邮件接收和处理客户的请求。

前提条件

要完成本教程,您将需要以下内容:

  • 根据我们的Ubuntu 18.04初始服务器设置指南建立的Ubuntu 18.04服务器,包括一个具有sudo权限的非根基用户和一个配置有 " ufw " 的防火墙* Apache 和 MySQL 安装在您的 Ubuntu 服务器上 。 遵循本指南第1和第2步来配置这些.() ( )* 一个完全注册的域名. 该教程将始终使用`example.com'。 您可以在 [Namecheap] (https://namecheap.com 上购买域名, 在 [Freenom] (http://www.freenom.com/en/index.html) 上免费获取域名, 或者使用您选择的域名注册员. () ( )* 为您的服务器设置了以下两个 DNS 记录 。 您可以跟随[这个对 DigitalOcean DNS (https://andsky.com/tech/tutorials/an-introduction-to-digitalocean-dns)的介绍来了解如何添加它们的细节.
  • 一个带有‘example.com'的唱片,指向您的服务器的公开IP地址. () ) - 有"www.example.com"的唱片,指向您服务器的公开IP地址. ( ( )* 在您的 Ubuntu 18.04 服务器上为您域安装了 TLS/ SSL 证书 。 您可以遵循 [让我们在 Ubuntu 18.04 指南上加密] (https://andsky.com/tech/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-18-04) 获取免费的 TLS/SSL 证书 。 () ( )* 通过遵循我们的教程[如何在Ubuntu 18.04 (https://andsky.com/tech/tutorials/how-to-install-and-configure-postfix-on-ubuntu-18-04)上安装并配置后缀]而设置的后缀邮件传输代理(Postfix mail transfer). (- ) * (可选) A 专用 [Gmail account (https://accounts.google.com/), 并启用 [IMAP 访问 (https://support.google.com/mail/answer/7126229?hl=en), [2-step 校验 (https://support.google.com/accounts/answer/185839?co=GENIE.Platform%3DDesktop&hl=en), 以及使用 ** 其他(海关名称) ** 选项生成的 [App 密码 (https://support.google.com/mail/answer/185833?hl=en. 当生成 App 密码时,将其写下,以便在第5步中使用. 您将在 OTRS 中使用 Gmail 配置入境邮件票的创建, Gmail 作为您的 IMAPS 邮箱 。 这只是为OTRS配置入境邮件的一种方法;如果你想探索其他选项,请查看OTRS文档. () (英语)

<$>[警告] 警告: 不要使用您自己的活跃的 Gmail 帐户来配置 OTRS 的入口邮件。当 `imap.gmail.com 向 OTRS 发送电子邮件时, Gmail 帐户中的所有电子邮件都将被删除。

步骤 1 – 安装 OTRS 包和 Perl 模块

在此步骤中,您将安装OTRS和一组Perl模块,这将增加系统的功能。

OTRS在Ubuntu的包管理器中可用,但 官方文档建议从源头安装OTRS。

要做到这一点,先登录您的Ubuntu服务器,作为您的非根用户:

1[environment local]
2ssh sammy@Ubuntu_Server_IP

然后用wget命令下载源档案. 对于本教程,您将下载版本 6.0.19;您可以在OTRS 下载页面上找到最新的可用版本。

1wget http://ftp.otrs.org/pub/otrs/otrs-6.0.19.tar.gz

接下来,解包压缩文件用tar:

1tar xzf otrs-6.0.19.tar.gz

将档案的内容移动到‘/opt/otrs’目录:

1sudo mv otrs-6.0.19 /opt/otrs

由于 OTRS 是用 Perl 编写的,它使用了一些 Perl 模块。 通过使用 OTRS 附带的CheckModules.pl 脚本检查缺少的模块:

1sudo /opt/otrs/bin/otrs.CheckModules.pl

你会看到这样的输出,列出你已经下载了哪些模块,而你错过了哪些模块:

1[secondary_label Output]
2  o Apache::DBI......................FAILED! Not all prerequisites for this module correctly installed.
3  o Apache2::Reload..................ok (v0.13)
4. . .
5  o XML::LibXML......................Not installed! Use: 'apt-get install -y libxml-libxml-perl' (required - Required for XML processing.)
6  o XML::LibXSLT.....................Not installed! Use: 'apt-get install -y libxml-libxslt-perl' (optional - Required for Generic Interface XSLT mapping module.)
7  o XML::Parser......................Not installed! Use: 'apt-get install -y libxml-parser-perl' (optional - Recommended for XML processing.)
8  o YAML::XS.........................Not installed! Use: 'apt-get install -y libyaml-libyaml-perl' (required - Required for fast YAML processing.)

某些模块只需要用于可选功能,例如与其他数据库通信或处理特定字符集的邮件;其他模块则是程序工作所必需的。

虽然建议下载这些模块的命令使用apt-get,但本教程将使用apt命令安装缺少的模块,这是Ubuntu 18.04的建议最佳实践。

1$ sudo apt install libapache2-mod-perl2 libdbd-mysql-perl libtimedate-perl libnet-dns-perl libnet-ldap-perl \
2    libio-socket-ssl-perl libpdf-api2-perl libsoap-lite-perl libtext-csv-xs-perl \
3    libjson-xs-perl libapache-dbi-perl libxml-libxml-perl libxml-libxslt-perl libyaml-perl \
4    libarchive-zip-perl libcrypt-eksblowfish-perl libencode-hanextra-perl libmail-imapclient-perl \
5    libtemplate-perl libdatetime-perl

当您完成安装这些模块时,请重新启动脚本,以确保安装所有所需的模块:

1sudo /opt/otrs/bin/otrs.CheckModules.pl

您的输出现在将显示所有安装的模块:

1[secondary_label Output]
2...
3  o Text::CSV_XS.....................ok (v1.34)
4  o Time::HiRes......................ok (v1.9741)
5  o XML::LibXML......................ok (v2.0128)
6  o XML::LibXSLT.....................ok (v1.95)
7  o XML::Parser......................ok (v2.44)
8  o YAML::XS.........................ok (v0.69)

现在您已经在服务器上安装了 OTRS 及其依赖,您可以配置 OTRS 以使用 Apache 和 MySQL。

步骤 2 – 配置 OTRS、Apache 和 MySQL 服务器

在此步骤中,您将创建 OTRS 的系统用户,然后配置 Apache 和 MySQL 服务器以与 OTRS 工作。

创建一个名为otrs的用户以使用useradd命令运行 OTRS 函数:

1sudo useradd -d /opt/otrs -c 'OTRS user' otrs

-d 将用户的主目录设置为 /opt/otrs,而 -c 会设置 `'OTRS 用户' 评论来描述用户。

接下来,将otrs添加到 Web 服务器组:

1sudo usermod -G www-data otrs

OTRS 附有默认配置文件 /opt/otrs/Kernel/Config.pm.dist. 通过复制它而不使用 .dist 文件名扩展来激活此功能:

1sudo cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm

现在,导航到‘/opt/otrs’目录:

1cd /opt/otrs

从这里运行otrs.SetPermissions.pl脚本.它会检测正确的用户和组设置,并为OTRS设置文件和目录权限。

1sudo bin/otrs.SetPermissions.pl

这将产生以下产出:

1[secondary_label Output]
2Setting permissions on /opt/otrs

现在已经设置了正确的许可证。

接下来,激活apache2配置文件,并确保它在所有其他配置之后被加载。

1sudo ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/sites-enabled/zzz_otrs.conf

OTRS 需要几个 Apache 模块才能进行最佳操作. 您可以通过a2enmod工具激活它们. 虽然其中一些已经启用,但最好检查它们:

1sudo a2enmod perl
2sudo a2enmod headers
3sudo a2enmod deflate
4sudo a2enmod filter

这些模块允许 Apache 与 Perl, 控制 HTTP 标题, 压缩服务器输出配置输出内容过滤器一起工作。

重新启动您的 Web 服务器以应用新的配置:

1sudo systemctl restart apache2

在您进入下一步并运行 Web 安装程序之前,请更改一些 MySQL 配置设置。在您喜爱的文本编辑器中打开 MySQL 配置文件。本教程使用nano:

1sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

对于 max_allowed_packetquery_cache_size,分别将值更改为 64M32M,如下代码块所示:

 1[label /etc/mysql/mysql.conf.d/mysqld.cnf]
 2...
 3max_allowed_packet      = 64M
 4thread_stack            = 192K
 5thread_cache_size       = 8
 6# This replaces the startup script and checks MyISAM tables if needed
 7# the first time they are touched
 8myisam-recover-options  = BACKUP
 9#max_connections        = 100
10#table_open_cache       = 64
11#thread_concurrency     = 10
12#
13# * Query Cache Configuration
14#
15query_cache_limit       = 1M
16query_cache_size        = 32M
17...

这调整了允许的最大包大小和查询缓存大小,以便MySQL可以与OTRS交互。

然后在文件末尾的[mysqld]部分中添加以下突出附加选项:

1[label /etc/mysql/mysql.conf.d/mysqld.cnf]
2...
3# ssl-cert=/etc/mysql/server-cert.pem
4# ssl-key=/etc/mysql/server-ikey.pem
5innodb_log_file_size = 256M
6collation-server = utf8_unicode_ci
7init-connect='SET NAMES utf8'
8character-set-server = utf8

这会设置数据库日志文件的大小,确定 字符集和集合,并创建一个 init_connect 字符串来设置 MySQL 服务器启动时的字符集。

保存并关闭mysqld.cnf,按CTRL +X,然后按Y,然后按ENTER

1sudo systemctl restart mysql.service

现在你已经创建了otrs用户,并配置了Apache和MySQL以与OTRS工作,你已经准备好使用Web安装程序。

步骤 3 – 使用 Web 安装程序

在此步骤中,您将在 Web 浏览器中配置 OTRS 数据库设置,并在命令行上启动 OTRS daemon 过程。

在您最喜欢的网页浏览器中打开https://example.com/otrs/installer.pl,以您的域名取代example.com。您将找到一个欢迎的屏幕,包含消息 欢迎来到OTRS 6和有关OTRS办公室的信息。

OTRS Welcome Screen

下一个屏幕将包含OTRS的许可证,这是开放源代码程序中常见的 GNU General Public License

在下一个屏幕上,您将被提示选择一个数据库类型. 默认设置(MySQLCreate a new database for OTRS)对您的设置是好的,所以单击 Next继续。

Database Selection

在下一个屏幕上,输入您在 MySQL 服务器安装过程中设置的 MySQL 凭证. 使用 root用户字段,然后输入您创建的密码. 留下默认主机值。

点击 ** 检查数据库设置** 以确保它工作. 安装程序将为新数据库生成身份证件. 无需记住生成的密码。

Result of database check

点击下一步继续。

数据库将创建,您将看到成功的结果:

Database setup successful

点击下一步

接下来,提供以下所需的系统设置:

  • 系统FQDN:一个完全合格的域名. 用自己的域名替换 example.com
  • AdminEmail:您的系统管理员的电子邮件地址. 有关 OTRS 错误的电子邮件将到这里
  • 组织:您的组织名称

将所有其他选项留在其默认值:

System Settings

点击下一步

现在你将降落在 邮件配置页面上. 为了能够发送和接收电子邮件,你必须配置一个邮件帐户。

现在 OTRS 安装完成了;您将看到一个 ** 已完成** 页面,在 ** 开始页面** 之后将链接到管理面板,然后将 OTRS 超级用户的身份证件。

成功安装后,唯一剩下的就是启动OTRS DAEMON并激活其cronjob

带上你正在使用的终端来访问你的 Ubuntu 18.04 服务器. OTRS 戴蒙负责处理 OTRS 中的任何不同步和重复任务。

1sudo su - otrs -c "/opt/otrs/bin/otrs.Daemon.pl start"

您将看到以下结果:

1[secondary_label Output]
2Manage the OTRS daemon process.
3
4Daemon started

/opt/otrs/var/cron/ 目录中有两个默认 cron 文件。

1cd /opt/otrs/var/cron

这些 cron 文件被用来确保 OTRS daemon 正在运行. 通过复制它们而不使用 .dist 文件名扩展来激活它们。

1sudo cp aaa_base.dist aaa_base
2sudo cp otrs_daemon.dist otrs_daemon

要安排这些 cron 任务,请使用Cron.sh脚本与otrs用户:

1sudo su - otrs -c "/opt/otrs/bin/Cron.sh start"

您现在已经安装了 OTRS 与 Web 安装程序,并将其连接到 MySQL 数据库。您还在您的服务器上启动了 OTRS 戴蒙。接下来,您将登录到管理员 Web 界面并安全 OTRS。

步骤4 - 确保其他人

目前,您有一個完全功能的應用程式,但使用超級用戶帳戶與 OTRS 並不安全. 相反,您將創建一個新的 agent

要开始,请登录为 root@localhost. 打开您在上一步收到的 开始页面链接. 输入 root@localhost以获取您从第 3 步复制的用户名和密码,然后单击 登录

您将看到主仪表板. 它包含几个小工具,显示有关门票,统计,新闻等的不同信息. 您可以通过拖动或在设置中更改其可见性来自由地重新安排它们。

Main screen

首先,创建一个新的代理人. 要做到这一点,请按下屏幕顶部的红色消息 ** 不要使用超级用户帐户与 OTRS 6 合作! 创建新的代理人并使用这些帐户。

Agent Management

点击添加代理人按钮,将您带到添加代理人屏幕。大多数默认选项都很好。 填写姓名、姓名、用户名、密码和电子邮件字段。 记录用户名和密码以便将来登录。 通过点击保存按钮提交表单。

接下来,更改新代理人的组关系. 因为你的代理人也将是管理员,你可以给它完整的读取和写入所有组。

Change Group Relations

最后,点击保存并完成

现在,使用新创建的帐户退出并再次登录,您可以通过点击左上角的 avatar 图像来找到 Logout链接。

Logout Location

一旦您重新登录,您可以通过点击Avatar菜单中的个人偏好来自定义您的代理的偏好,在那里您可以更改密码,选择界面语言,配置设置通知和喜爱的队列,更改界面皮肤等。

一旦您登录为新代理,并将帐户配置为您喜欢,下一步是配置入口邮件选项,以从入口电子邮件中生成门票。

步骤5:设置入口邮件

客户有两种方式将新票发送到OTRS:通过客户前端或通过发送电子邮件。为了接收客户的消息,您需要设置POP或IMAP帐户。

在顶部菜单中,点击Admin,然后找到PostMaster Mail Accounts选项,然后点击Add Mail Account按钮来设置新的邮箱。

Add Mail Account

添加邮件帐户屏幕上,选择Type中的IMAPSUsername中,输入您的Gmail地址;Password中,在前提条件中输入您为您的Gmail帐户生成的应用密码。

<$>[注] **注:**您可以通过为您的 Gmail 帐户启用 Less secure app access来使用 Gmail for IMAPS,而无需 2 步验证。您可以在 Google 帮助中心找到有关如何做到这一点的说明。

接下来,将测试电子邮件从外部电子邮件帐户发送到您的专用OTRS Gmail帐户. 邮件将每10分钟由OTRS示威者接收,但您可以通过点击 Fetch mail链接强制接收。

结果,你会看到新票。

Email ticket

现在您已经准备好通过电子邮件接收客户的门票了,接下来,您将通过客户前端进行创建门票的过程。

步骤6:与客户界面合作

客户创建门票的第二种方式是通过OTRS前端,在此步骤中,您将通过此过程来确保设置此门票创建方法。

客户端前端位于 https://example.com/otrs/customer.pl. 在网页浏览器中导航。您可以在那里创建客户帐户并使用GUI提交门票。

使用现在注册链接来打开注册表。

Create Account

填写表格并按下创建按钮。

你會看到這樣的訊息:

1New account created. Sent login information to [email protected]. Please check your email.

查看您的收件箱,查找来自 OTRS 的消息,您将看到包含新帐户凭证的消息:

 1Hi sammy,
 2
 3You or someone impersonating you has created a new OTRS account for
 4you.
 5
 6Full name: sammy
 7User name: [email protected]
 8Password : Sammy_Password
 9
10You can log in via the following URL. We encourage you to change your password
11via the Preferences button after logging in.
12
13http://example.com/otrs/customer.pl

现在,使用所提供的凭据访问客户前端并创建另一个门票. 使用客户前端创建的所有新门票将立即出现在代理人的仪表板上:

Customer ticket

在代理仪表板上,您可以看到所有当前机票的信息:他们的状态(新,打开,升级等),他们的年龄(从机票收到之日起的时间)和主题。

您可以点击门票号码(在 **TICKET#**列中)以查看其细节,代理人也可以在这里对门票采取行动,例如更改门票的优先级或状态,将其移到另一个队列,关闭它或添加注释。

您现在已经成功创建了 OTRS 帐户。

结论

在本教程中,您设置了OTRS并创建了测试帮助桌票,现在您可以使用Web界面和电子邮件接受和处理用户的请求。

您可以通过阅读 OTRS 管理手册来了解更多有关 OTRS 的信息。如果您想了解有关使用 MySQL 的更多信息,请参阅我们的文章 An Introduction to Queries in MySQL 或探索 DigitalOcean 的 Managed Databases 产品

Published At
Categories with 技术
comments powered by Disqus