如何在 Debian 上安装 UVdesk 帮助台
UVDesk 是一个用 PHP 编写的开源帮助台系统,并使用 MySQL 数据库。 UVDesk 具有简单的 UI,使客服人员可以轻松搜索工单队列并按关键字、分配的客服人员、创建日期、优先级和其他因素对其进行过滤。
客服人员可以使用包含活动源、工单过滤器、已关闭工单上的“星标”和类别的系统来跟踪工单。
UV Desk 具有许多处理客户支持的功能,包括新帐户的用户验证、帮助台软件所有用户的电子邮件验证、客户通过联系表单创建工单时发出警报、联系表单提交页面中的垃圾邮件检测、工单内容验证确保它不会太长或太短。
UVdesk 旨在帮助公司提供快速的电子邮件、电话和聊天支持;维护常见问题的知识库;自助出票;根据用户行为提供有针对性的促销;并创建有关座席生产力的详细报告。
该服务还提供了第三方集成的选项,包括 FedEx Ship Manager 集成以及通过电子邮件或短信进行跟踪更新的集成。 UVdesk 可以在组织的私有服务器上使用或由 UVdesk 托管。它拥有多渠道客户服务支持(电话、电子邮件、网络聊天)。它提供的报告工具可以显示哪些客户打电话最多、他们在与某人交谈之前排队的时间以及客服人员响应客户的速度。
本指南将引导您完成在 Debian 10 VPS 上安装 UV Desk 的过程。本指南还向您展示如何安装 Apache 作为 Web 服务器和 php-fpm 作为 PHP 处理器。
先决条件
要学习本教程,您将需要以下内容:
- Debian 10 VPS
- 对您的服务器的 root 访问权限
- SSH 客户端,例如 PuTTy
- 系统要求:至少 4GB RAM、20GB 磁盘空间。
连接到您的 Debian 10 VPS
首先,您必须使用 SSH 客户端连接到 Debian 10 VPS。登录后,您应该使用以下命令更新系统。
sudo apt update && sudo apt upgrade -y
系统更新后,运行以下命令来安装所需的依赖项。
sudo apt install git unzip curl nano -y
安装 Apache Web 服务器
Apache 是一种广泛使用的 Web 服务器,默认情况下随 Debian 10 一起提供。要安装 Apache,请运行以下命令。 libapache2-mod-fcgid 是 PHP-FPM 必需的依赖项。
sudo apt install apache2 libapache2-mod-fcgid -y
接下来,运行以下命令来启用 Apache 模块。
sudo a2enmod actions
sudo a2enmod fcgid
sudo a2enmod alias
sudo a2enmod proxy_fcgi
Apache 模块解释:
- a2enmod 管理 apache 模块。 Apache2 与 PHP-FPM 通信需要 fcgid 模块,PHP-FPM 可以处理动态页面。
- 别名允许用户将多个网站统一为一个 URL。
- proxy_fcgi 启用 apache 的 mod_proxy 模块和 fastcgi 协议,它们可以一起通信并使您能够运行后端 FastCGI 进程。
最后,重新启动 Apache 以使更改生效。
sudo systemctl restart apache2
为 UVdesk 创建数据库
本指南将使用 MariaDB 作为我们的数据库,可以通过 apt 安装。 MariaDB 是作为 MySQL 的一个分支创建的跨平台 SQL 数据库管理系统。
sudo apt install mariadb-server mariadb-client -y
MariaDB-server 是运行 MariaDB 的实际守护进程,而 mariadb-client 是可用于连接到 MariaDB 服务器的命令行客户端。
安装 MariaDB 后,请运行以下命令来保护它。
mysql_secure_installation
系统会要求您提供 MariaDB 的 root 密码。按 Enter 键。
系统将要求您输入 root 的当前密码(如果不输入则不输入)。按 Enter 键。
接下来,系统将提示您设置新的 root 密码。输入强密码并按 Enter。
系统将要求您确认新的 root 密码。重新输入密码并按 Enter。
对于其余问题,请键入 Y 并按 Enter。
示例输出:
安装 PHP-FPM
PHP-FPM(FastCGI 进程管理器)是一个 PHP 模块,允许您使用 FastCGI 协议运行 PHP 应用程序。 PHP-FPM 可以在运行 PHP 脚本时轻松控制进程和线程的数量。
sudo apt install -y php php-pear
sudo apt install -y php-{cli,fpm,pdo,json,common,mysql,zip,gd,mbstring,curl}
sudo apt install -y php-{xml,bcmath,imap,intl,mailparse}
安装 PHP-FPM 后,请运行以下命令来检查其状态。
sudo systemctl status php*-fpm.service
您应该会看到与此类似的内容。这里需要注意的重要一点是该进程是活动的并且正在运行。
现在,我们需要编辑 php.ini 文件来配置 PHP-FPM。首先,使用以下命令打开 php.ini 文件。
sudo nano /etc/php/*/fpm/php.ini
您将在此文件中看到很多设置。向下滚动到时区设置,您可以在 [日期] 下找到该设置。
我们需要在此处使用您选择的时区设置 date.timezone 指令。您只需复制下面的代码并将其粘贴到该文件的第 13 行即可(如下所示)。
date.timezone = USA/Eastern
接下来,您需要设置 memory_limit 指令。该指令设置脚本可以消耗的最大内存量。我们建议将此值设置为 512M(如果您的服务器有足够的内存,甚至可以设置为 1024MB)。
memory_limit = 512M
示例输出:
前 :
后 :
完成后,保存并关闭文件。现在我们需要重新启动 PHP-FPM 来加载新设置。
sudo systemctl restart php*-fpm.service
安装 PHP 作曲家
PHP Composer 是 PHP 的依赖项管理器,允许您安装和管理项目的依赖项。
UVdesk 需要 PHP Composer 才能工作。您可以在此处了解 PHP Composer 是什么及其工作原理。
首先,运行以下命令下载 Composer 安装程序。
curl -sS https://getcomposer.org/installer -o composer-setup.php
curl -sS (这会使用“curl ”下载安装程序) https://getcomposer.org/installer (这会从 getcomposer.org 下载最新的安装程序) -o (输出会重定向到名为composer-setup.php 的文件) composer-setup.php(Composer 安装程序名为composer-setup.php)
下载安装程序后,运行以下命令来安装 Composer。
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
sudo php(以 root 身份运行 php)composer-setup.php(指定输入文件是安装程序,composer-setup.php)--install-dir=/usr/local/bin(安装位置可以是任何位置;我们选择了 /usr/local/bin) --filename=composer (该命令的输出是 Composer,Composer 可执行文件)
现在 Composer 已安装,请运行composer -V 命令以确保其正常工作。
composer -V
您应该看到类似这样的输出。如果您没有看到版本号,则 Composer 可能未正确安装,需要从安装程序重新安装。
安装 UVdesk 软件
现在我们的应用程序服务器已配置完毕,我们可以在其上安装 UVdesk。首先,您应该始终为您的项目创建一个目录。该目录将存储项目的所有文件,包括 UVdesk 安装文件。
sudo mkdir /var/www/udvesk
cd /var/www/udvesk
接下来,运行以下命令来设置项目目录的权限。这将确保您拥有该目录的写入权限。
sudo chown $USER:$USER /var/www/udvesk -R
sudo chown
用户:
USER:USER 将项目目录的所有权设置为您的用户名 /var/www/udvesk -R 递归设置项目目录及其所有子目录的权限
接下来,运行以下命令以获取可用软件包的最新列表。
composer clear-cache
现在我们有了所有可用 Composer 软件包的完整列表,运行命令来安装 UVdesk。
composer create-project uvdesk/community-skeleton helpdesk-project
Composer create-project uvdesk/community-sculpture helpdesk-project 安装最新版本的 UVdesk 社区框架。安装完成后,您将获得项目设置完成,如下所示。
创建虚拟主机
要在您的域上使用 UVdesk,您需要创建一个虚拟主机。虚拟主机允许您在单个服务器上运行多个网站(或应用程序)。有关更多信息,请参阅此文档。
首先,运行以下命令来保护服务器的默认虚拟主机文件。如果我们需要恢复它,我们将创建一个 bak 文件。 Bak 是备份文件的默认扩展名。
sudo mv 000-default.conf 000-default.conf.bak
现在,运行以下命令创建一个新的虚拟主机文件,该文件使用服务器的默认端口 80 并侦听服务器上的所有地址。将所有代码中的 my_domain 替换为您的域名
sudo mv 000-default.conf 000-default.conf.bak
接下来,使用您喜欢的文本编辑器创建新的虚拟主机文件。我们将在此示例中使用 nano 编辑器。
sudo nano /etc/apache2/sites-enabled/uvdesk.conf
将以下代码复制并粘贴到文件中。请务必将 my-domain 替换为您的域名。
Listen 8080
<VirtualHost *:8080>
ServerName my-domain.com
ServerAlias www.my-domain.com
DocumentRoot /var/www/udvesk/helpdesk-project/public
<Directory /var/www/udvesk/helpdesk-project/public>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
<FilesMatch .php$>
2.4.10+ can proxy to unix socket
SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost"
</FilesMatch>
ErrorLog /var/log/apache2/uvdesk-error.log
CustomLog /var/log/apache2/uvdesk-access.log combined
</VirtualHost>
关于上面的代码块,您应该了解什么:
Listen 8080:这一行告诉 Apache 在端口 8080 上监听请求。如果您需要使用不同的端口,请更改此行以反映新的端口号。
ServerName my-domain.com:此行告诉 Apache 在响应请求时使用哪个域名。
ServerAlias www.my-domain.com:此行告诉 Apache 也响应 www.my-domain.com 域名的请求。
DocumentRoot /var/www/udvesk/helpdesk-project/public:这一行告诉 Apache 在哪里可以找到我们之前创建的 helpdesk-project 目录。
按 CTRL+X、Y 和 ENTER 保存并退出 nano。
现在您已经创建了虚拟主机文件,请运行以下命令来设置正确的权限。
sudo chown -R www-data:www-data /var/www/udvesk
接下来,运行下面的 sudo chmod -R 755 /var/www/udvesk 命令来设置正确的权限。这将确保 Apache 进程可以读取和写入 helpdesk-project 目录。
sudo chmod -R 755 /var/www/udvesk
最后,通过运行以下命令,重新加载 Apache 以使更改生效。
sudo systemctl reload apache2
访问 UVdesk Web UI
现在我们已经设置了虚拟主机,我们可以通过在浏览器中访问 http://my-domain.com:8080 来访问 Web UI。第一次访问 UVdesk 时,系统会要求您配置服务器和数据库连接。
单击让我们开始并按照屏幕上的说明完成设置。
结论
恭喜,您已在 Debian 服务器上成功设置 UVdesk。您现在已准备好通过网络浏览器管理您的帮助台。
有关使用 UVdesk 的更多信息,请参阅其官方文档页面。