使用 Let's Encrypt 在 CentOS 7/RHEL 7 上安装 osTicket
本指南是为想要在 CentOS 7/RHEL 7 Linux 计算机上安装和配置 osTicket 的用户创建的。本文还将介绍使用 Let’s Encrypt SSL 证书设置后保护 osTicket 的内容。 osTicket 是一个开源且功能强大的票务系统,可与商业解决方案竞争。它的一系列功能将使您放弃商业软件并选择 osTicket。该软件是用PHP编程语言编写的。
osTicket 的功能
osTicket 中提供的一些主要功能包括:
- 工单过滤器:定义规则,将收到的工单路由到正确的部门、代理,并触发操作。
- 自定义字段:自定义提交票证时从用户收集的数据,以帮助直接解决问题。
- 自定义列和队列:自定义队列是基于您指定的自定义条件的工单视图。自定义列是一个附加字段,在查看票证选项卡时最初不会显示
- 帮助主题:可配置的网络票证帮助主题使您可以将查询发送到正确的部门,以便快速解决。
- 避免代理冲突:工单锁定机制,允许工作人员在响应期间锁定工单,以避免冲突或双重响应。
- 分配、转移和推荐:在部门之间转移工单,以确保由正确的代理处理,或将工单分配给特定代理或代理团队。
- 自动回复:打开新工单或收到消息时发送可配置的自动回复。
- 线程操作:代理能够从工单的线程条目或任务的线程条目创建工单或任务。
- 服务级别协议:所有支持请求和响应均在线存档以供最终用户使用。
- 高级搜索:使用高级搜索缩小搜索条件。
- 任务:为客服人员创建内部待办事项列表。
有关更多详细信息,请查看官方 osTicket 功能页面。
在 CentOS 7/RHEL 7 上安装 osTicket
按照以下步骤在 CentOS 7/RHEL 7 Linux 系统上安装和配置 osTicket。此设置的唯一先决条件是具有 sudo 权限的用户以及可以从服务器访问 Internet 的用户。
第1步:更新CentOS/RHEL 7系统
我们始终建议您在更新的 Linux 系统上执行安装。
sudo yum -y update
升级后设置正确的服务器主机名:
sudo hostnamectl set-hostname osticket.computingforgeeks.com
配置正确的时区并与 NTP 同步:
sudo timedatectl set-timezone Africa/Nairobi
sudo timedatectl set-ntp yes
升级后重启系统:
sudo reboot -f
第 2 步:安装并配置 MariaDB、httpd 和 PHP
我们需要 MySQL 数据库服务器、Apache httpd Web 服务器和 PHP 来在 CentOS 7/RHEL 7 系统上运行 osTicket。
1)安装并配置MariaDB数据库服务器
安装 MariaDB 数据库服务器的稳定版本:
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s --
sudo yum -y install MariaDB-server MariaDB-client MariaDB-backup
如果安装成功,启动数据库服务。
sudo systemctl enable --now mariadb
设置root用户密码并在服务器上执行其他加固步骤。
$ sudo mariadb-secure-installation
Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] y
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
创建 osTicket 数据库和用户
$ mysql -u root -p
CREATE DATABASE osticket;
GRANT ALL PRIVILEGES ON osticket.* TO osticket@localhost IDENTIFIED BY "Str0ngDBPassw0rd";
FLUSH PRIVILEGES;
QUIT;
以 osticket 用户身份验证与数据库的连接:
$ mysql -u osticket -p'Str0ngDBPassw0rd'
Your MariaDB connection id is 13
Server version: 10.7.3-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> EXIT
Bye
2) 安装和配置Httpd Web服务器
运行以下命令在 CentOS/RHEL 7 服务器中安装 Apache Web 服务器:
sudo yum -y install httpd
安装后,您可以使用以下命令启动该服务:
sudo systemctl enable --now httpd
确认服务状态:
$ systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2022-03-24 23:54:09 EAT; 8s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 2090 (httpd)
Status: "Processing requests..."
CGroup: /system.slice/httpd.service
├─2090 /usr/sbin/httpd -DFOREGROUND
├─2091 /usr/sbin/httpd -DFOREGROUND
├─2092 /usr/sbin/httpd -DFOREGROUND
├─2093 /usr/sbin/httpd -DFOREGROUND
├─2094 /usr/sbin/httpd -DFOREGROUND
└─2095 /usr/sbin/httpd -DFOREGROUND
Mar 24 23:54:09 osticket.computingforgeeks.com systemd[1]: Starting The Apache HTTP Server...
Mar 24 23:54:09 osticket.computingforgeeks.com systemd[1]: Started The Apache HTTP Server.
3)安装PHP和所需的扩展
启用 EPEL 存储库:
### CentOS 7 ###
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
### RHEL 7 ###
sudo subscription-manager repos --enable=rhel-7-server-rpms \
--enable=rhel-7-server-extras-rpms \
--enable=rhel-7-server-optional-rpms
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
还添加提供 PHP 8.0 包的 REMI:
sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
启用 PHP 8.0 Remi 存储库:
sudo yum -y install yum-utils
sudo yum-config-manager --disable remi-php54
sudo yum-config-manager --enable remi-php80
安装 PHP 和运行 osTicket 所需的所有扩展:
sudo yum -y install php
sudo yum -y install php-{fpm,mysqlnd,pear,cgi,common,curl,gettext,zip,opcache,apcu,imap,intl,gd,bcmath,mbstring}
检查系统中 PHP 的默认版本。应该是8.0
$ php -v
PHP 8.0.17 (cli) (built: Mar 15 2022 08:24:20) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.17, Copyright (c) Zend Technologies
with Zend OPcache v8.0.17, Copyright (c), by Zend Technologies
步骤 3:在 CentOS 7/RHEL 7 上下载 osTicket
您可以从官方产品页面找到最新版本的 osTicket。
sudo yum -y install curl wget unzip vim
使用curl和过滤来拉取最新版本
curl -s https://api.github.com/repos/osTicket/osTicket/releases/latest \
| grep browser_download_url \
| grep "browser_download_url" \
| cut -d '"' -f 4 \
| wget -i -
解压下载的存档文件
unzip osTicket-v*.zip -d osTicket
将创建的文件夹 osTicket 移动到 /var/www 目录:
sudo mv osTicket /var/www/
通过复制示例一创建配置文件
sudo cp /var/www/osTicket/upload/include/ost-sampleconfig.php /var/www/osTicket/upload/include/ost-config.php
为目录设置正确的权限
sudo chown -R apache:apache /var/www/osTicket
如果强制执行 SELinux,请设置正确的文件上下文。
sudo setsebool -P httpd_can_network_connect 1
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/osTicket(/.*)?"
sudo restorecon -Rv /var/www/osTicket/
步骤 4:在 httpd Web 服务器上创建 osTicket 配置
为 osTicket 创建新的 VirtualHost 配置文件
sudo vim /etc/httpd/conf.d/osticket.conf
添加并修改以下内容以适合您的设置环境。
<VirtualHost *:80>
DocumentRoot /var/www/osTicket/upload
ServerAdmin [email
ServerName osticket.example.com
ServerAlias www.osticket.example.com
<Directory /var/www/osTicket/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/httpd/osticket_error.log
CustomLog /var/log/httpd/osticket_access.log combined
</VirtualHost>
在哪里 :
- /var/www/osTicket/upload 是 osTicket Web 根目录的路径
- [电子邮件受保护]替换为您的网站管理员电子邮件地址
- osticket.example.com 是您的 osTicket FQDN 网站管理员电子邮件地址
确保 Httpd 服务器中没有配置语法错误。
$ sudo apachectl configtest
Syntax OK
删除 apache 欢迎页面:
sudo rm /etc/httpd/conf.d/welcome.conf
重新启动您的 httpd 服务。
sudo systemctl restart httpd
如果您的防火墙处于活动状态,请打开 http 和 https 端口。
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload
步骤 5:在 CentOS 7/RHEL 7 上完成 osTicket 安装
访问 http://osticket.example.com 上的 Web 服务器 IP 地址或 FQDN,完成 osTicket 的 Web 配置。
确认所有检查均成功。
填写所需信息:
在“数据库设置”下提供数据库连接详细信息
- MySQL 数据库:osticket
- MySQL 用户名:osticket
- MySQL 密码:Str0ngDBPassw0rd
然后点击“立即安装”按钮开始安装。完成后,会显示不同功能的访问 URL。
更新 ost-config.php 文件的权限
sudo chmod 0644 /var/www/osTicket/upload/include/ost-config.php
在 CentOS 7 | RHEL 7 服务器上成功安装 osTicket 后删除 setup 文件夹。
sudo rm -rf /var/www/osTicket/upload/setup/
保存访问 URL,因为您将需要它们。
员工控制面板是osticketfqdn/scp
登录后您应该会看到类似于下面的仪表板
第 6 步 – 使用 Let’s Encrypt SSL 证书保护 osTicker
按照以下链接中的指南保护您的服务器安装;
- 如何使用 Let's Encrypt SSL 证书保护 osTicket
类似文章:
- 在 Ubuntu 上安装 attendize 票务和活动管理系统
- 在 Ubuntu 上设置 UVdesk 票务系统