技术教程 · 2019年12月24日 0

如何在Ubuntu 18.04 LTS上使用Nginx安装osTicket

osTicket是Linux平台上用PHP编写的开源票务系统。它支持不同类型的数据库,如MySQL,PostgreSQL,并且可以与LDAP / Active Directory集成以进行中央身份验证。

它是一个简单,轻量级的基于Web的应用程序。OsTicket允许您管理,组织和存档支持请求。它无缝地将通过电子邮件,Web表单和电话创建的查询路由到一个简单,易于使用的多用户,基于Web的客户支持平台中。

在本教程中,我将向您展示如何使用Nginx作为Web服务器,MySQL / MariaDB作为数据库服务器和PHP在Ubuntu 18.04上安装osTicket。

先决条件

  • 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和OsTicket正常运行所需的一些其他PHP模块:

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控制台,如下所示:

须藤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 'OsTicketPassw0rd@19';

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

解压缩后,您将获得脚本上传目录。

接下来,使用以下命令从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配置

现在重启nginx服务

sudo systemctl restart nginx

步骤5:安装和配置osTicket

现在,让我们输入域名以在任何网络浏览器中获取osTicket UI,您将看到如下页面:

osTicket安装程序

下一步单击“ 继续 ”,您将被重定向到osTicket配置部分。

填写所有必需的信息,然后单击“ 立即安装” 按钮。

系统设置

在数据库设置中,输入详细信息,如dbname,用户名和密码,这些名称是在mysql安装过程中创建的。

数据库设置

最后单击立即安装按钮,安装完成后将显示如下屏幕截图:

osTicket安装成功

接下来,通过运行以下命令来更改ost-config.php的权限以删除写访问权限:

cd /var/www/osticket/upload/
chmod 0644 include/ost-config.php

对于osTicket管理员,请在网络浏览器中输入您的IP /域名:

osTicket登录

对于管理员登录/代理面板/管理面板配置类型,如下所示。

最后,您已经在Ubuntu 18.04服务器上成功安装了osTicket。

原文:https://www.howtoforge.com/how-to-install-osticket-on-ubuntu-1804/