如何在Ubuntu 16.04上使用Nginx安装osTicket

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地址。

http://192.168.33.14/info.php

您将获得有关您的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

链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏