如何在Ubuntu18.04上使用OTRS设置帮助台系统
作为 Write for DOnations 计划的一部分,作者选择了 自由软件基金会 来接受捐赠。
介绍
OTRS,也称为 Open source Ticket Request S系统,是一个帮助台和IT服务管理系统。 它为用户、客户、IT 人员、IT 服务和任何外部组织提供单点联系。 程序采用Perl编写,支持多种数据库(MySQL、PostgreSQL等),可与LDAP目录集成]。
在本教程中,您将在 Ubuntu 18.04 服务器上安装 OTRS 社区版并设置一个简单的帮助台系统,这将允许您使用 Web 界面和电子邮件接收和处理客户的请求。
先决条件
要完成本教程,您将需要以下内容:
- 按照我们的 Initial Server Setup Guide for Ubuntu 18.04 设置 Ubuntu 18.04 服务器,包括具有 sudo 权限的非 root 用户和使用
ufw
配置的防火墙。 - Apache 和 MySQL 安装在您的 Ubuntu 服务器上。 按照本指南 的 步骤 1 和 2 进行配置。
- 完全注册的域名。 本教程将自始至终使用
example.com
。 您可以在 Namecheap 上购买一个域名,在 Freenom 上免费获得一个域名,或者使用您选择的域名注册商。 - 为您的服务器设置了以下两个 DNS 记录。 您可以关注这个DigitalOcean DNS的介绍,详细了解如何添加它们。
- 带有
example.com
的 A 记录指向您服务器的公共 IP 地址。 - 带有
www.example.com
的 A 记录指向您服务器的公共 IP 地址。
- 带有
- 为您的域安装在 Ubuntu 18.04 服务器上的 TLS/SSL 证书。 您可以按照 Let's Encrypt on Ubuntu 18.04 指南 获取免费的 TLS/SSL 证书。
- 按照我们的教程 如何在 Ubuntu 18.04 上安装和配置 Postfix 设置 Postfix 邮件传输代理。
- (可选)一个专用的Gmail帐户,启用IMAP访问,两步验证,以及使用[X159X生成的App密码 ]其他(自定义名称) 选项。 生成 App 密码时,将其记下,以便在第 5 步中使用。 您将使用 Gmail 在 OTRS 中配置入站邮件票证创建,并将 Gmail 作为您的 IMAPS 邮箱。 这只是为 OTRS 配置入站邮件的一种方法; 如果您想探索其他选项,请查看 OTRS 文档。
警告: 不要使用您自己的任何活动 Gmail 帐户为 OTRS 配置入站邮件。 当 imap.gmail.com
将邮件转发到 OTRS 时,Gmail 账户中的所有邮件都会被删除。 因此,创建一个专门用于 OTRS 的新 Gmail 帐户是一个更好的选择。
第 1 步 — 安装 OTRS 包和 Perl 模块
在这一步中,您将安装 OTRS 和一组将增加系统功能的 Perl 模块。
OTRS 在 Ubuntu 的包管理器中可用,但 官方文档 建议从源代码安装 OTRS。
为此,首先以非 root 用户身份登录 Ubuntu 服务器:
ssh sammy@Ubuntu_Server_IP
然后使用 wget
命令下载源存档。 对于本教程,您将下载版本 6.0.19; 您可以在 OTRS 下载页面 上找到最新的可用版本。
wget http://ftp.otrs.org/pub/otrs/otrs-6.0.19.tar.gz
接下来,用tar
解压压缩文件:
tar xzf otrs-6.0.19.tar.gz
将存档的内容移动到 /opt/otrs
目录中:
sudo mv otrs-6.0.19 /opt/otrs
因为 OTRS 是用 Perl 编写的,所以它使用了许多 Perl 模块。 使用 OTRS 附带的 CheckModules.pl
脚本检查缺失的模块:
sudo /opt/otrs/bin/otrs.CheckModules.pl
你会看到这样的输出,列出你已经下载了哪些模块以及你缺少哪些模块:
Output o Apache::DBI......................FAILED! Not all prerequisites for this module correctly installed. o Apache2::Reload..................ok (v0.13) . . . o XML::LibXML......................Not installed! Use: 'apt-get install -y libxml-libxml-perl' (required - Required for XML processing.) o XML::LibXSLT.....................Not installed! Use: 'apt-get install -y libxml-libxslt-perl' (optional - Required for Generic Interface XSLT mapping module.) o XML::Parser......................Not installed! Use: 'apt-get install -y libxml-parser-perl' (optional - Recommended for XML processing.) 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 的建议最佳实践。 随意手动浏览这些模块,或使用以下命令:
$ sudo apt install libapache2-mod-perl2 libdbd-mysql-perl libtimedate-perl libnet-dns-perl libnet-ldap-perl \ libio-socket-ssl-perl libpdf-api2-perl libsoap-lite-perl libtext-csv-xs-perl \ libjson-xs-perl libapache-dbi-perl libxml-libxml-perl libxml-libxslt-perl libyaml-perl \ libarchive-zip-perl libcrypt-eksblowfish-perl libencode-hanextra-perl libmail-imapclient-perl \ libtemplate-perl libdatetime-perl
每当您完成安装这些模块时,请重新运行脚本以确保已安装所有必需的模块:
sudo /opt/otrs/bin/otrs.CheckModules.pl
您的输出现在将显示所有已安装的模块:
Output... o Text::CSV_XS.....................ok (v1.34) o Time::HiRes......................ok (v1.9741) o XML::LibXML......................ok (v2.0128) o XML::LibXSLT.....................ok (v1.95) o XML::Parser......................ok (v2.44) o YAML::XS.........................ok (v0.69)
现在您已经在服务器上安装了 OTRS 及其依赖项,您可以将 OTRS 配置为使用 Apache 和 MySQL。
第 2 步 — 配置 OTRS、Apache 和 MySQL 服务器
在此步骤中,您将为 OTRS 创建一个系统用户,然后配置 Apache 和 MySQL 服务器以使用 OTRS。
创建一个名为 otrs
的用户,使用 useradd
命令运行 OTRS 函数:
sudo useradd -d /opt/otrs -c 'OTRS user' otrs
-d
设置用户的主目录为/opt/otrs
,-c
设置'OTRS user'
注释来描述用户。
接下来,将 otrs
添加到 webserver 组:
sudo usermod -G www-data otrs
OTRS 带有一个默认配置文件 /opt/otrs/Kernel/Config.pm.dist
。 通过复制不带 .dist
文件扩展名的文件来激活它:
sudo cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm
现在,导航到 /opt/otrs
目录:
cd /opt/otrs
从这里,运行 otrs.SetPermissions.pl
脚本。 它将检测正确的用户和组设置,并为 OTRS 设置文件和目录权限。
sudo bin/otrs.SetPermissions.pl
这将产生以下输出:
OutputSetting permissions on /opt/otrs
现在设置了正确的权限。
接下来,激活 apache2
配置文件并确保在所有其他配置之后加载它。 为此,请使用 zzz_
前缀创建符号链接:
sudo ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/sites-enabled/zzz_otrs.conf
OTRS 需要一些 Apache 模块才能处于活动状态以实现最佳操作。 您可以通过工具 a2enmod
激活它们。 虽然其中一些已经启用,但最好检查它们:
sudo a2enmod perl sudo a2enmod headers sudo a2enmod deflate sudo a2enmod filter
这些模块使 Apache 可以使用 Perl, 控制 HTTP 标头, 压缩服务器输出 和 配置输出内容过滤器。
重新启动您的 Web 服务器以应用新配置:
sudo systemctl restart apache2
在进行下一步并运行 Web 安装程序之前,请更改一些 MySQL 配置设置。 在您喜欢的文本编辑器中打开 MySQL 配置文件。 本教程使用nano
:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
在 [mysqld]
部分下查找以下选项。 对于 max_allowed_packet
和 query_cache_size
,将值分别更改为 64M
和 32M
,如以下代码块中突出显示的:
/etc/mysql/mysql.conf.d/mysqld.cnf
... max_allowed_packet = 64M thread_stack = 192K thread_cache_size = 8 # This replaces the startup script and checks MyISAM tables if needed # the first time they are touched myisam-recover-options = BACKUP #max_connections = 100 #table_open_cache = 64 #thread_concurrency = 10 # # * Query Cache Configuration # query_cache_limit = 1M query_cache_size = 32M ...
这会调整允许的最大数据包大小和查询缓存大小,以便 MySQL 可以与 OTRS 交互。
然后在文件末尾的 [mysqld]
部分下添加以下突出显示的附加选项:
/etc/mysql/mysql.conf.d/mysqld.cnf
... # ssl-cert=/etc/mysql/server-cert.pem # ssl-key=/etc/mysql/server-ikey.pem innodb_log_file_size = 256M collation-server = utf8_unicode_ci init-connect='SET NAMES utf8' character-set-server = utf8
这将设置数据库日志文件大小,确定 字符集和排序规则 ,并创建一个 init_connect
字符串以在启动 MySQL 服务器时设置字符集。
按 CTRL
+ X
,然后按 Y
,然后按 ENTER
保存并关闭 mysqld.cnf
。 然后,重新启动 MySQL 服务器以应用新参数:
sudo systemctl restart mysql.service
现在您已经创建了 otrs
用户并配置了 Apache 和 MySQL 以使用 OTRS,您可以使用 Web 安装程序了。
第 3 步 — 使用 Web 安装程序
在此步骤中,您将在 Web 浏览器中配置 OTRS 的数据库设置,并在命令行上启动 OTRS 守护进程。
在您喜欢的网络浏览器中打开 https://example.com/otrs/installer.pl
,将 example.com
替换为您的域名。 您将找到一个欢迎屏幕,其中包含消息 Welcome to OTRS 6 以及有关 OTRS 办公室的信息。
单击下一步。 下一个屏幕将显示 OTRS 的许可证,它是开源程序通用的 GNU 通用公共许可证 。 阅读后点击接受许可并继续。
在下一个屏幕上,系统将提示您选择数据库类型。 默认值(MySQL 和 Create a new database for OTRS)适合您的设置,因此单击 Next 继续。
在下一个屏幕上,输入您在 MySQL 服务器安装期间设置的 MySQL 凭据。 在 User 字段中使用 root,然后输入您创建的密码。 保留默认主机值。
单击 检查数据库设置 以确保其正常工作。 安装程序将为新数据库生成凭据。 无需记住此生成的密码。
单击下一步继续。
将创建数据库,您将看到成功的结果:
单击下一步。
接下来,提供以下所需的系统设置:
- System FQDN:完全限定域名。 将
example.com
替换为您自己的域名。 - AdminEmail:系统管理员的电子邮件地址。 有关 OTRS 错误的电子邮件将发送至此处。
- Organization:您的组织名称。
将所有其他选项保留为默认值:
单击下一步。
现在您将登陆 邮件配置 页面。 为了能够发送和接收电子邮件,您必须配置一个邮件帐户。 本教程稍后将在第 5 步中处理此问题,因此请单击 跳过此步骤。
OTRS 安装现已完成; 您将看到 Finished 页面,在 Start page 之后有一个指向管理面板的链接,之后是 OTRS 超级用户的凭据。 确保记下 root@localhost 用户生成的密码和 起始页 的 URL。
成功安装后唯一剩下的就是启动 OTRS 守护进程并激活它的 cronjob
。
启动您用来访问 Ubuntu 18.04 服务器的终端。 OTRS 守护进程负责处理 OTRS 中的任何异步和重复任务。 使用 otrs
用户启动它:
sudo su - otrs -c "/opt/otrs/bin/otrs.Daemon.pl start"
您将看到以下输出:
OutputManage the OTRS daemon process. Daemon started
/opt/otrs/var/cron/
目录中有两个默认的 cron 文件。 移动到这个目录。
cd /opt/otrs/var/cron
这些 cron 文件用于确保 OTRS 守护程序正在运行。 通过复制它们而不使用 .dist
文件扩展名来激活它们。
sudo cp aaa_base.dist aaa_base sudo cp otrs_daemon.dist otrs_daemon
要安排这些 cron 作业,请将脚本 Cron.sh
与 otrs
用户一起使用:
sudo su - otrs -c "/opt/otrs/bin/Cron.sh start"
您现在已经使用 Web 安装程序安装了 OTRS,并设置了它与 MySQL 数据库的连接。 您还在服务器上启动了 OTRS 守护程序。 接下来,您将登录管理员 Web 界面并保护 OTRS。
第 4 步 — 保护 OTRS
目前,您拥有一个功能齐全的应用程序,但在 OTRS 中使用超级用户帐户并不安全。 相反,您将创建一个新的 代理 。 在 OTRS 中,代理是有权使用系统的各种功能的用户。 在此示例中,您将使用有权访问系统所有功能的单个代理。
要开始使用,请以 root@localhost 身份登录。 打开您在上一步中收到的 Start page 链接。 输入 root@localhost 作为您从第 3 步复制的用户名和密码,然后单击 Login。
您将看到主仪表板。 它包含几个小部件,显示有关门票、统计数据、新闻等的不同信息。 您可以通过在设置中拖动或切换它们的可见性来自由地重新排列它们。
首先,创建一个新代理。 为此,请点击屏幕顶部的红色消息,点击链接不要使用超级用户帐户来使用 OTRS 6! 创建新代理并改为使用这些帐户。 这将带你到代理管理屏幕。
单击添加代理按钮。 这将带您进入 添加代理 屏幕。 大多数默认选项都很好。 填写名字、姓氏、用户名、密码和电子邮件字段。 记录用户名和密码以供将来登录。 单击保存按钮提交表单。
接下来,更改新代理的组关系。 因为您的代理也将是管理员,所以您可以为其授予对所有组的完全读写权限。 为此,请在 Change Group Relations for Agent 下一直单击右侧 RW 旁边的复选框。
最后点击【X15X】保存完成【X34X】。
现在,注销并使用新创建的帐户重新登录。 您可以点击左上角的头像图片找到注销链接。
重新登录后,您可以通过单击头像菜单中的个人偏好来自定义代理的偏好。 在那里您可以更改密码、选择界面语言、配置设置通知和收藏队列、更改界面皮肤等。
以新代理身份登录并根据自己的喜好配置帐户后,下一步是配置入站邮件选项以从收到的电子邮件生成票证。
第 5 步 — 配置入站邮件
客户有两种方式将新票转发给 OTRS:通过客户前端或发送电子邮件。 为了接收客户的消息,您需要设置一个 POP 或 IMAP 帐户。 在本教程中,您将使用您创建的专用 OTRS Gmail 帐户作为先决条件。
通过单击顶部菜单中的 Admin 导航到 Admin 选项卡。 然后找到 PostMaster Mail Accounts 选项并点击它。 按【X10X】添加邮箱【X30X】按钮设置新邮箱。
在 添加邮件帐户 屏幕上,为 类型 选择 IMAPS。 对于 Username,输入您的 Gmail 地址,对于 Password,输入您在先决条件中为您的 Gmail 帐户生成的应用程序密码。 将所有其他选项保留为默认值。 单击保存。
注意:您可以通过为您的Gmail帐户启用不太安全的应用程序访问,将Gmail用于IMAPS而无需两步验证。 您可以在 Google 帮助中心 中找到有关如何执行此操作的说明。 但是,此方法的安全性较低,并且 安全性较低的应用程序访问 最多可能需要 24 小时才能生效。 建议您使用App密码方式。
接下来,从外部电子邮件帐户向您的专用 OTRS Gmail 帐户发送一封测试电子邮件。 邮件将由 OTRS 守护程序每 10 分钟提取一次,但您可以通过单击 Fetch mail 链接强制接收。
结果,您将看到新票证。
现在您可以通过电子邮件接受客户的票了。 接下来,您将完成通过客户前端创建工单的过程。
第 6 步 — 使用客户界面
客户创建工单的第二种方式是通过 OTRS 前端。 在此步骤中,您将完成此过程以确保已设置此工单创建方法。
客户前端位于 https://example.com/otrs/customer.pl
。 在网络浏览器中导航到它。 您可以在那里创建客户帐户并使用 GUI 提交工单。
使用立即注册链接打开注册表。
填写表格并按下 创建 按钮。
你会看到这样的消息:
New account created. Sent login information to sammy@gmail.com. Please check your email.
检查您的收件箱以获取来自 OTRS 的消息。 您将看到一条带有新帐户凭据的消息:
Hi sammy, You or someone impersonating you has created a new OTRS account for you. Full name: sammy User name: sammy@email.com Password : Sammy_Password You can log in via the following URL. We encourage you to change your password via the Preferences button after logging in. http://example.com/otrs/customer.pl
现在,使用提供的凭据访问客户前端并创建另一个工单。 使用客户前端创建的所有新工单将立即出现在代理的仪表板上:
在代理仪表板上,您可以看到所有当前工单的信息:他们的状态(新的、打开的、升级的等)、他们的年龄(从收到工单的那一刻起经过的时间)和主题。
您可以单击票号(在 TICKET# 列中)查看其详细信息。 代理还可以在此处对工单执行操作,例如更改其优先级或状态、将其移动到另一个队列、关闭它或添加注释。
您现在已成功设置您的 OTRS 帐户。
结论
在本教程中,您设置了 OTRS 并创建了测试帮助台工单。 现在,您可以使用 Web 界面和电子邮件接受和处理来自用户的请求。
您可以通过阅读 OTRS 管理手册 了解有关 OTRS 的更多信息。 如果您想了解有关如何使用 MySQL 的更多信息,请参阅我们的 An Introduction to Queries in MySQL 文章,或探索 DigitalOcean 的 Managed Databases 产品。