OsTicket是基于PHP的开源支持票证系统。 它是一个简单而轻便的支持票证系统,旨在易于使用和易于安装。 OsTicket允许您管理,整理和归档您的支持请求。 它支持LDAP和Active Directory身份验证。
在本教程中,我将逐步介绍在Ubuntu 16.04上安装和配置OsTicket。 OsTicket将在PHP-FPM 7下运行,使用Nginx作为Web服务器,并使用MySQL 5.7版作为数据库。
前提条件
- Ubuntu 16.04
- 根权限
第1步 - 安装Nginx和MySQL
在这一步中,我们将从Ubuntu存储库安装Nginx和MySQL服务器,然后启动所有服务在引导时启动。
使用您的ssh帐户登录服务器:
ssh root@192.168.33.14
更新Ubuntu存储库:
sudo apt-get update
然后安装Nginx和MySQL服务器。
sudo apt-get install -y nginx mysql-server
您将被要求输入MySQL根密码,输入安全的MySQL密码。
现在使用以下systemctl命令启动Nginx和MySQL:
systemctl restart nginx
systemctl restart mysql
将其添加到启动时启动:
systemctl enable nginx
systemctl enable mysql
现在通过检查服务器的服务器端口确保所有服务都在运行:
netstat -plntu
您将看到Nginx使用的端口80和MySQL服务器使用的端口3306。
第2步 - 安装和配置PHP-FPM7
OsTicket需要安装一些PHP扩展,包括php-gd,imap,xml和mbstring。 在这一步中,我们将安装PHP 7和所有这些扩展,然后配置PHP以运行Nginx Web服务器。
使用apt命令安装PHP-FPM 7和所需的所有扩展名:
sudo apt-get install -y php7.0-cli php7.0-mysql php7.0-cgi php7.0-fpm php7.0-gd php7.0-imap php7.0-xml php7.0-mbstring php7.0-intl php-apcu
如果全部完成,请转到php 7目录并编辑php.ini文件。
cd /etc/php/7.0/
vim fpm/php.ini
取消注释cgi.fix_pathinfo行,并将其值更改为0。
cgi.fix_pathinfo=0
保存文件并退出vim。
现在重新启动php7-fpm并将其添加到启动时间开始:
systemctl restart php7.0-fpm
systemctl enable php7.0-fpm
接下来,我们将配置PHP 7 FPM以使用Nginx Web服务器。 转到Nginx虚拟主机目录并使用vim编辑默认虚拟主机文件。
cd /etc/nginx/sites-available/
vim default
取消注释下面的PHP 7配置行:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
保存并退出,然后重新启动Web服务器。
systemctl restart nginx
现在通过创建phpinfo文件来测试PHP 7和Nginx。
cd /var/www/html/
echo '<?php phpinfo(); ?>' > info.php
在浏览器中打开您的Web服务器URL,并访问服务器IP地址。
您将获得有关您的php配置的信息。
第3步 - 为OsTicket创建数据库
在这一步中,我们将为OsTicket创建一个新的数据库和MySQL用户。 使用您的MySQL root密码登录到MySQL shell:
mysql -u root -p
TYPE YOUR PASSWORD
创建一个名为'osticket_db '的新数据库,以及一个新用户' osticket ',密码为'osticketpw @ '。
create database osticket_db;
create user osticket@localhost identified by 'osticketpw@';
将新用户的所有权限授予数据库“osticket_db”。
grant all privileges on osticket_db.* to osticket@localhost identified by 'osticketpw@';
flush privileges;
OsTicket的数据库已创建。
第4步 - 创建OsTicket虚拟主机
现在我们必须为OsTicket创建新的虚拟主机配置。
转到Nginx虚拟主机目录,并用vim创建一个新文件'osticket':
cd /etc/nginx/sites-available/
vim osticket
粘贴以下配置:
server {
listen 80;
server_name osticket.hakase-labs.com;
root /var/www/osticket/upload;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
index index.php;
client_max_body_size 2000M;
client_body_buffer_size 100M;
client_header_buffer_size 10M;
large_client_header_buffers 2 10M;
client_body_timeout 12;
client_header_timeout 12;
keepalive_timeout 15;
send_timeout 10;
gzip on;
gzip_comp_level 2;
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
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.0-fpm.sock;
fastcgi_param PATH_INFO $path_info;
}
}
我们将使用域名' osticket.hakase-labs.com ',并使用' / var / www / osticket / upload '目录作为Web根目录。 用您自己的域名替换域名' osticket.hakase-labs.com ' 。
保存Nginx配置文件并退出。
现在激活虚拟主机并测试配置。
ln -s /etc/nginx/sites-available/osticket /etc/nginx/sites-enabled/
nginx -t
确保没有错误并重新启动Nginx。
systemctl restart nginx
第5步 - 下载并配置osTicket
为osTicket创建一个新目录并转到该目录。
mkdir -p /var/www/osticket/
cd /var/www/osticket/
用wget命令下载osTicket。
wget http://osticket.com/sites/default/files/download/osTicket-v1.10.zip
解压缩osTicket归档文件。
unzip osTicket-v1.10.zip
所有的osTicket Web文件都可以在'upload'目录下找到目录,并复制示例osticket配置文件。
cd upload/
cp include/ost-sampleconfig.php include/ost-config.php
现在将所有osticket文件和目录的所有者更改为“www-data”用户和组。
cd /var/www/osticket/
chown -R www-data:www-data upload/
第6步 - 安装OsTicket
打开您的网络浏览器并访问您的OsTicket域名,我的是:
h77p://osticket.hakase-labs.com
确保所有必需的软件包都标记为绿色,如图所示。
如果有错误,您可以看到红色标记,如下例所示:
点击“ 继续 ”,您将被重定向到OsTicket配置部分。
在“ 系统设置 ”中,键入您的“HelpDesk名称”和默认电子邮件地址。 在“ 管理员用户 ”部分中,键入管理员配置,包括管理员电子邮件,并确保电子邮件与默认的帮助台电子邮件不同。
在数据库设置中,只需填写我们在第3步中创建的数据库的详细信息。
点击“ 立即安装 ”,稍等一下安装 。 如果这样做,你将在下面看到。
cd /var/www/osticket/upload/
删除或重命名安装目录,并更改osticket配置文件的权限。
mv setup/ setup-sh/
chmod 0644 include/ost-config.php
OsTicket安装完成。
第7步 - 测试
OsTicket主页 - http://osticket.hakase-labs.com/
OsTicket管理登录 - http://osticket.hakase-labs.com/scp/
OsTicket代理面板 - http://osticket.hakase-labs.com/scp/index.php
OsTicket管理面板配置 - http://osticket.hakase-labs.com/scp/settings.php