如何在 Ubuntu 18.04 LTS 上使用 Nginx 安装 osTicket
osTicket 是 Linux 平台上用 PHP 编写的开源票务系统。它支持不同类型的数据库,如 MySQL、PostgreSQL,并且可以与 LDAP/Active Directory 集成以进行集中身份验证。
它是一个简单且轻量级的基于 Web 的应用程序。 OsTicket 允许您管理、组织和存档您的支持请求。它将通过电子邮件、Web 表单和电话创建的查询无缝路由到一个简单、易于使用、多用户、基于 Web 的客户支持平台。
在本教程中,我将向您展示如何在 Ubuntu 18.04 上安装 osTicket,使用 Nginx 作为 Web 服务器,使用 MySQL/MariaDB 作为数据库服务器和 PHP。
先决条件
- Ubuntu 18.04
- 具有 root 权限的 sudo 用户。
第 1 步:开始
首先,使用 sudo 权限登录到您的服务器,并使用以下命令将系统更新为最新的稳定版本:
sudo apt update && sudo apt upgrade -y
第 2 步:安装 LEMP 服务器
OsTicket 需要在您的服务器上安装 Web 服务器、PHP 和数据库服务器。
安装 Nginx Web 服务器
您可以通过以下命令安装 Nginx Web 服务器:
sudo apt install nginx -y
现在让我们检查 Nginx 服务并手动启动服务,运行以下命令:
sudo systemctl status nginx
sudo systemctl start nginx
现在通过运行以下命令使 nginx 服务在引导时启动:
sudo systemctl enable nginx
安装 PHP 和 PHP-FPM
接下来,您需要安装 PHP、PHP-FPM 和一些额外的 PHP 模块,这些模块是 OsTicket 正常运行所必需的:
sudo apt install php php-mysql php-cgi php-fpm php-cli php-curl php-gd php-imap php-mbstring php-xml-util php-intl php-apcu php-common php-gettext php-bcmath
上面的命令将安装 php-7.2
现在通过在终端中运行以下命令来编辑 php.ini 文件。
sudo vim /etc/php/7.2/fpm/php.ini
取消注释 cgi.fix_pathinfo 变量并将其值更改为 0
cgi.fix_pathinfo=0
现在保存并关闭文件。
接下来,重启 php7.2-fpm 服务并使用以下命令在启动时启用它:
sudo systemctl restart php7.2-fpm
sudo systemctl enable php7.2-fpm
为 OsTicket 安装和配置 MySQL 数据库服务器
在您的终端窗口中,发出以下命令来安装 MySQL 数据库服务器。
sudo apt install mysql-server
现在启动 MySQL 服务并使其在启动时启动,然后使用以下命令检查 MySQL 服务状态:-
sudo systemctl start mysql
sudo systemctl enable mysql
sudo systemctl status mysql
接下来,使用以下命令保护 MySQL 安装:
sudo mysql_secure_installation
回答以下所有问题:
Set root password? [Y/n] Y
New password:
Re-enter new password:
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
接下来,登录MySQL控制台,如下图:
sudo mysql -u root -p
在此处输入您的 Root 密码。
现在您需要为 osTicket 创建数据库
run following command
mysql> create database osticket_db;
mysql> grant all privileges on osticket_db.* to osticket_user identified by '';
mysql> flush privileges;
osTicket 的数据库已创建。
第 3 步:下载并配置 osTicket
为 osTicket 创建一个新目录,然后转到该目录。
sudo mkdir -p /var/www/osticket/
cd /var/www/osticket/
接下来使用 wget 下载最新的 osTicket 设置并使用以下命令提取它:-
sudo apt-get install wget unzip
sudo wget https://github.com/osTicket/osTicket/releases/download/v1.14.1/osTicket-v1.14.1.zip
sudo unzip osTicket-v1.14.1.zip
解压后得到scripts和upload目录。
接下来使用以下命令从 ost-sampleconfig.php 文件创建一个 osTicket 配置文件:
sudo su -
cd upload/
cp ost-sampleconfig.php ost-config.php
接下来,您需要将 osTicket Web 目录的所有权更改为 www-data 用户和组。
sudo chown -R www-data:www-data /var/www/osticket/
第 4 步 - 创建 OsTicket 虚拟主机
现在通过运行以下命令为 OsTicket 创建新的虚拟主机配置:
sudo vim /etc/nginx/sites-available/osticket.conf
粘贴配置如下:
server {
listen 80;
server_name 13.52.217.10; ## change server_name as per your domain name.
root /var/www/osticket/upload;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
index index.php index.html index.htm;
# Enable gzip
gzip on;
gzip_min_length 1000;
gzip_types text/plain application/x-javascript text/xml text/css application/xml;
set $path_info "";
location ~ /include {
deny all;
return 403;
}
if ($request_uri ~ "^/api(/[^\?]+)") {
set $path_info $1;
}
location ~ ^/api/(?:tickets|tasks).*$ {
try_files $uri $uri/ /api/http.php?$query_string;
}
if ($request_uri ~ "^/scp/.*\.php(/[^\?]+)") {
set $path_info $1;
}
location ~ ^/scp/ajax.php/.*$ {
try_files $uri $uri/ /scp/ajax.php?$query_string;
}
location / {
try_files $uri $uri/ index.php;
}
location ~ \.php$ {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
}
在这里,您需要根据您的域名更改server_name 13.52.217.10。
保存 Nginx 配置文件并退出。
现在激活虚拟主机并测试配置。
ln -s /etc/nginx/sites-available/osticket.conf /etc/nginx/sites-enabled/
nginx -t
这将显示如下输出

现在重启nginx服务
sudo systemctl restart nginx
第 5 步:安装和配置 osTicket
现在让我们在任何网络浏览器中输入您的域名以获取 osTicket UI,您将看到如下页面:

Next 单击Continue,您将被重定向到 osTicket 配置部分。
填写所有必填信息,然后点击“立即安装”按钮。

在数据库设置中,输入您在 mysql 安装期间创建的数据库名称、用户名和密码等详细信息。

最后点击立即安装按钮,安装完成后会显示如下截图:

接下来,通过运行以下命令更改 ost-config.php 的权限以删除写访问权限:
cd /var/www/osticket/upload/
chmod 0644 include/ost-config.php
对于 osTicket 管理员,在网络浏览器中输入您的 IP/域名:

对于管理员登录/代理面板/管理面板配置类型,如下所示。
- osTicket 管理员登录 -
- osTicket 代理面板 -
- osTicket 管理面板配置 - http://yourdomainname/scp/settings.php
最后,您已经在 Ubuntu 18.04 服务器上成功安装了 osTicket。