如何在Vultr云服务器CentOS 7上安装osTicket免费开源客户支持系统

osTicketosTicket是一个广泛使用。它将通过电子邮件,电话和基于Web的表单创建的查询无缝集成到一个简单易用的多用户Web界面中。本教程详细的简介了如何在 CentOS 7 上安装 osTicket 并使用免费的 Let’s Encrypt TLS 证书设置 HTTPS的过程。

Vultr官网

[qgg_yellow]点击直达Vultr官方网站[/qgg_yellow]

vultr最新优惠码

vultr长期针对新用户有促销活动,目前新用户注册最高送103美刀,如果你是新用户可以考虑通过下面链接注册,最高可以获得103美刀的免费使用额度。目前vultr已经支持支付宝充值购买,但是如果要参与下面活动,必须使用PayPal、信用卡完成首次充值才有额度赠送哦。

  • 赠送100美刀:点击直达(必须通过此地址注册才有送,用户必须活跃30天以上,并且使用至少25美刀)
  • 赠送50美刀:点击直达(必须通过此地址注册才有送,用户必须活跃30天以上,并且使用至少25美刀)
  • 赠送10美刀:点击直达(必须通过此地址注册才有送,必须活跃30天以上,并且使用至少10美刀)
  • 完成推特任务送3美刀教程:Vultr完成三项Twitter任务即可免费获得3美刀使用额度(可以叠加上面活动,每个账号可以参与一次,赠送金额使用期限应该是1年 以上。)

先决条件

  • 一台CentOS的7主机,禁用SELinux。
  • 按照 Vultr 的最佳指南创建 sudo 用户并更新 CentOS 主机。

本教程假设您拥有一个域名,例如example.com,并且您已将其指向主机 IP 地址。如果没有,请将example.com替换为主机 IP 地址。

确保将代码示例中的example.com替换为您的域名或 IP 地址。

1. 安装 PHP 7.4

CentOS 7 在其官方存储库中提供了 PHP 5.4 版,但 osTicket 不支持该版本。osTicket 推荐的 PHP 版本是 7.4。您可以从 Remi 的 RPM 存储库安装 7.4 版,这是一个长期且受社区信任的 CentOS 存储库。

以非root sudo 用户通过SSH 登录主机,然后安装Remi 的RPM 仓库配置包。

$ sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm

安装yum-utils包以配置存储库。

$ sudo yum -y install yum-utils

启用 Remi 的 RPM 存储库。

$ sudo yum-config-manager --disable 'remi-php*'
$ sudo yum-config-manager --enable   remi-php74

安装 PHP-FPM 和其他必要的 PHP 扩展。

$ sudo yum install -y php-cli php-fpm php-gd php-gettext php-imap php-intl php-json php-mbstring php-xml php-apcu php-mysqli php-opcache

启用 PHP-FPM 服务,以便 PHP-FPM 在启动时运行。

$ sudo systemctl enable php-fpm.service

列出您的 CentOS 系统支持的所有时区。使用UP/DOWN键在列表中移动,然后按Q退出。

$ timedatectl list-timezones

从列表中选择合适的时区,例如America/New_York。然后使用该时区更新您的 CentOS 系统。

$ sudo timedatectl set-timezone America/New_York

打开主要的 PHP 配置文件。

$ sudo nano /etc/php.ini

找到该行;date.timezone =并将其替换为date.timezone = America/New_York。然后保存配置文件并退出。

为了增强主机的安全性,请osticket为 osTicket创建一个名为PHP-FPM 进程的用户/组的专用用户。该用户还拥有 osTicket 源代码文件。

$ sudo adduser osticket

每次要添加、删除或更新源代码文件时,都需要切换到该用户。

从默认配置文件创建 PHP-FPM 配置文件。

$ sudo cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/osticket.conf

重命名默认文件以禁用它并将其保留为备份。

$ sudo yum -y install yum-utils0

打开/etc/php-fpm.d/osticket.conf文件。

$ sudo yum -y install yum-utils1

在配置文件中,任何以 开头的行;都是注释。

确保listen = 127.0.0.1:9000设置不是以开头的,;因为 PHP-FPM 进程127.0.0.1使用9000端口侦听地址。

搜索以下设置,然后:

  1. [www]替换为[osticket]
  2. user = apache替换为user = osticket
  3. group = osticket替换group = apache
  4. /var/log/php-fpm/www-error.log替换为/var/log/fpm-php/osticket/error.log
  5. /var/lib/php/session替换为/var/lib/php/session.osticket

保存配置文件并退出。

为避免弄乱默认文件夹,请创建一个名为/var/log/php-fpm/www-error.log存储日志消息的单独文件夹和一个名为/var/lib/php/session.osticket存储会话数据的文件夹。

$ sudo yum -y install yum-utils2

更新两个文件夹的所有权和权限,以便只有 osTicket 的 PHP-FPM 进程可以写入它们。

$ sudo yum -y install yum-utils3

检查新配置。

$ sudo yum -y install yum-utils4

启动 PHP-FPM 服务。

$ sudo yum -y install yum-utils5

2. 安装 MariaDB 5.5

尽管 CentOS 7 的存储库中不包含 MySQL,但它包含 MariaDB 5.5,这是 MySQL 5.5 的直接替代品。由于 osTicket 支持 MySQL 5.5,因此您可以为 osTicket 安装 MariaDB 5.5。

$ sudo yum -y install yum-utils6

启用 MariaDB 服务,以便 MariaDB 在启动时运行。

$ sudo yum -y install yum-utils7

启动 MariaDB 服务。

$ sudo yum -y install yum-utils8

运行mysql_secure_installation脚本以提高安全性并为 MariaDBroot用户设置密码。

$ sudo yum -y install yum-utils9

对于Enter current password for root (enter for none):问题,只需按,ENTER因为您尚未为root用户设置密码。

对于Set root password? [Y/n]问题,按Y和ENTER设置root密码。

出现提示时输入两次强密码。您可以使用KeePassXC等免费密码管理器或Random Password Generator等在线工具来生成强密码。

对于任何剩余问题,请按Y和ENTER以接受推荐的选项。

完成后,以root用户身份连接到 MariaDB 命令行。

$ sudo yum-config-manager --disable 'remi-php*'
$ sudo yum-config-manager --enable   remi-php74
0

为 osTicket创建一个名为osticket的 MariaDB 数据库。

$ sudo yum-config-manager --disable 'remi-php*'
$ sudo yum-config-manager --enable   remi-php74
1

为 osTicket创建一个名为osticket的 MariaDB 用户。更换密码使用强密码。

$ sudo yum-config-manager --disable 'remi-php*'
$ sudo yum-config-manager --enable   remi-php74
2

退出 MariaDB 命令行。

$ sudo yum-config-manager --disable 'remi-php*'
$ sudo yum-config-manager --enable   remi-php74
3

3.安装osTicket

下载源代码

创建一个文件夹来存储 osTicket 源代码。

$ sudo yum-config-manager --disable 'remi-php*'
$ sudo yum-config-manager --enable   remi-php74
4

设置osticket为源代码文件夹的所有者。

$ sudo yum-config-manager --disable 'remi-php*'
$ sudo yum-config-manager --enable   remi-php74
5

安装 git 包,因为您将使用它来下载 osTicket 源代码。

$ sudo yum-config-manager --disable 'remi-php*'
$ sudo yum-config-manager --enable   remi-php74
6

切换到osticket用户下载并配置osTicket。

$ sudo yum-config-manager --disable 'remi-php*'
$ sudo yum-config-manager --enable   remi-php74
7

下载最新的 osTicket。

$ sudo yum-config-manager --disable 'remi-php*'
$ sudo yum-config-manager --enable   remi-php74
8

将代码部署到/var/www/osticket您在上面创建的文件夹中。

$ sudo yum-config-manager --disable 'remi-php*'
$ sudo yum-config-manager --enable   remi-php74
9

从示例文件创建配置文件。

$ sudo yum install -y php-cli php-fpm php-gd php-gettext php-imap php-intl php-json php-mbstring php-xml php-apcu php-mysqli php-opcache
0

切换回 sudo 用户以继续设置。

$ sudo yum install -y php-cli php-fpm php-gd php-gettext php-imap php-intl php-json php-mbstring php-xml php-apcu php-mysqli php-opcache
1

4. 安装 Nginx

使用以下命令安装 Nginx。

$ sudo yum install -y php-cli php-fpm php-gd php-gettext php-imap php-intl php-json php-mbstring php-xml php-apcu php-mysqli php-opcache
2

启用 Nginx 服务,以便 Nginx 在启动时运行。

$ sudo yum install -y php-cli php-fpm php-gd php-gettext php-imap php-intl php-json php-mbstring php-xml php-apcu php-mysqli php-opcache
3

为 osTicket 创建一个新的配置文件。

$ sudo yum install -y php-cli php-fpm php-gd php-gettext php-imap php-intl php-json php-mbstring php-xml php-apcu php-mysqli php-opcache
4

粘贴以下内容:

$ sudo yum install -y php-cli php-fpm php-gd php-gettext php-imap php-intl php-json php-mbstring php-xml php-apcu php-mysqli php-opcache
5

保存配置文件并退出。然后检查新配置。

$ sudo yum install -y php-cli php-fpm php-gd php-gettext php-imap php-intl php-json php-mbstring php-xml php-apcu php-mysqli php-opcache
6

启动 Nginx 服务。

$ sudo yum install -y php-cli php-fpm php-gd php-gettext php-imap php-intl php-json php-mbstring php-xml php-apcu php-mysqli php-opcache
7

更新防火墙以允许传入的 HTTP 请求。

$ sudo yum install -y php-cli php-fpm php-gd php-gettext php-imap php-intl php-json php-mbstring php-xml php-apcu php-mysqli php-opcache
8

重新加载当前的防火墙会话。

$ sudo yum install -y php-cli php-fpm php-gd php-gettext php-imap php-intl php-json php-mbstring php-xml php-apcu php-mysqli php-opcache
9

5.(可选)配置HTTPS

如果您拥有有效的域名,则可以免费为您的 osTicket 设置 HTTPS。使用 Certbot 程序,您可以从证书颁发机构 Let’s Encrypt 获得免费的 TLS 证书。

使用 Snap 安装 Certbot

Snap Store 是一个拥有数百万用户的 Linux 应用程序商店。它可以轻松获取具有自动证书续订等功能的最新版本的 Certbot。提供使用 Snap Store 所需的一切的包是snapd

安装 snapd 包。

$ sudo systemctl enable php-fpm.service
0

启用 snapd 服务。

$ sudo systemctl enable php-fpm.service
1

启用经典快照支持。

$ sudo systemctl enable php-fpm.service
2

获取最新版本的 snapd 核心。

$ sudo systemctl enable php-fpm.service
3

如果出现以下错误,请不要担心。

$ sudo systemctl enable php-fpm.service
4

安装 snapd 后,可能需要一些时间来初始化其环境。请稍等片刻,然后重试上述命令。

安装 Certbot。

$ sudo systemctl enable php-fpm.service
5

使certbot命令全局可用。

$ sudo systemctl enable php-fpm.service
6

获取 Let’s Encrypt 证书

重命名 HTTP 配置文件,使其成为 HTTPS 配置文件的模板。

$ sudo systemctl enable php-fpm.service
7

创建一个新的配置文件来处理 HTTP 请求。

$ sudo yum install -y php-cli php-fpm php-gd php-gettext php-imap php-intl php-json php-mbstring php-xml php-apcu php-mysqli php-opcache
4

粘贴以下内容:

$ sudo systemctl enable php-fpm.service
9

此配置使 Nginx 将所有 HTTP 请求(来自 Let’s Encrypt 的请求除外)重定向到相应的 HTTPS 请求。

保存配置文件并退出。然后检查Nginx配置。

$ sudo yum install -y php-cli php-fpm php-gd php-gettext php-imap php-intl php-json php-mbstring php-xml php-apcu php-mysqli php-opcache
6

应用新配置。

$ timedatectl list-timezones
1

现在您可以运行以下命令来获取 Let’s Encrypt 证书。

$ timedatectl list-timezones
2

您可能需要回答有关与电子前沿基金会共享电子邮件的问题。

完成后,certbot告诉您证书文件和密钥文件的路径:

$ timedatectl list-timezones
3

位于同一文件夹中的另一个关键文件也是下一步所需的chain.pem.

使用 Nginx 安装证书

为 DHE 密码生成带有 DH 参数的文件。

$ timedatectl list-timezones
4

2048是 DH 参数的推荐大小。此过程可能需要一段时间,请耐心等待。

从上面的模板文件创建 HTTPS 配置文件。

$ timedatectl list-timezones
5

打开 HTTPS 配置文件。

$ timedatectl list-timezones
6

找到以下几行:

$ timedatectl list-timezones
7

将它们替换为:

$ timedatectl list-timezones
8

保存配置文件并退出。然后检查Nginx配置。

$ sudo yum install -y php-cli php-fpm php-gd php-gettext php-imap php-intl php-json php-mbstring php-xml php-apcu php-mysqli php-opcache
6

应用新配置。

$ timedatectl list-timezones
1

更新防火墙以允许传入的 HTTPS 请求。

$ sudo timedatectl set-timezone America/New_York
1

重新加载当前的防火墙会话。

$ sudo yum install -y php-cli php-fpm php-gd php-gettext php-imap php-intl php-json php-mbstring php-xml php-apcu php-mysqli php-opcache
9

自动续订

Let’s Encrypt 证书的有效期为 90 天,因此您必须至少每三个月更新一次 TLS 证书。Certbot 安装自动创建了一个 systemd 计时器单元来自动执行此任务。运行以下命令以验证计时器是否处于活动状态。

$ sudo timedatectl set-timezone America/New_York
3

更新证书后,Certbot 不会自动重新加载 Nginx,因此 Nginx 仍然使用旧证书。您必须在/etc/letsencrypt/renewal-hooks/deploy文件夹内编写一个脚本来重新加载 Nginx。

打开你的文本编辑器。

$ sudo timedatectl set-timezone America/New_York
4

粘贴以下内容:

$ sudo timedatectl set-timezone America/New_York
5

保存并退出。然后使脚本可执行。

$ sudo timedatectl set-timezone America/New_York
6

通过试运行测试更新过程。

$ sudo timedatectl set-timezone America/New_York
7

6. 完成 osTicket 设置

重新启动主机以确保它在之后仍然有效。

$ sudo timedatectl set-timezone America/New_York
8

等待系统启动,然后在浏览器中打开http://example.com链接。该osTicket安装程序出现,您将看到您的主机的配置满足所有的最低要求。

单击继续按钮移至osTicket 基本安装

用您的信息填写表格以更新系统设置并创建管理员用户

对于Database Settings,在MySQL DatabaseMySQL Username字段中输入osticket,然后在MySQL Password字段中输入您在步骤 2 中创建的osticket用户的密码

单击立即安装按钮以安装 osTicket。完成后,它会将您重定向到祝贺屏幕。

删除安装文件夹返回到您的 SSH 会话进行清理。

$ sudo timedatectl set-timezone America/New_York
9

设置root为 osTicket 配置文件的所有者以防止 PHP-FPM 更改它。

$ sudo nano /etc/php.ini
0

您的 osTicket 网站现已准备就绪。您应该打开Staff Control Panel页面 https://example.com/scp/,以继续安装后设置。有关完整和最新的说明,请阅读osTicket 文档的安装后设置指南。

推荐站内搜索:php空间推荐、com域名注册、云服务器vps、虚拟主机测评、php虚拟空间、国内免备案空间、空间免费、网站备案信息查询云服务器租用、便宜域名、