如何在 Ubuntu 24.04 服务器上安装 osTicket
本教程适用于这些 OS 版本
- Ubuntu 24.04 (贵族 Numbat)
- Ubuntu 22.04 (果酱水母)
本页内容
- 先决条件
- 安装依赖项
- 配置 PHP
- 配置 MariaDB 服务器
- 下载 osTicket
- 设置 Apache 虚拟主机
- 使用 HTTPS 保护 osTicket
- 安装 osTicket
- 结论
osTicket 是用 PHP 编写的开源帮助台和工单解决方案。它支持多种集成,例如电子邮件。电话号码和 Web 表单。您还可以设置自定义字段、过滤器、主题、任务以及自动回复程序。
在本指南中,您将学习如何在 Ubuntu 24.04 服务器上安装 osTicket 开源工单系统。您将使用 LAMP 堆栈(Linux、Apache、MariaDB 和 PHP)安装 osTicket,并通过 Certbot 和 Letsencrypt 使用 HTTPS 保护 osTicket。
先决条件
要完成本指南,请确保您拥有以下内容:
- Ubuntu 24.04 服务器
- 具有管理员权限的非 root 用户
- 指向服务器 IP 地址的域名
安装依赖项
osTicket 是一个用 PHP 编写的开源工单系统。要在 ubuntu 系统上安装 osTicket,必须安装 LAMP 堆栈(Linux、Apache、MariaDB 和 PHP)。此时,您需要 PHP 8.2,因此您将通过第三方存储库安装它。
首先,运行以下命令将基本软件包安装到您的 Ubuntu 系统,并添加 PHP 的 PPA 存储库。在本例中,您将使用 PHP 8.2 安装 osTicket,该版本可在 PPA 存储库中找到。
sudo apt install ca-certificates apt-transport-https software-properties-common lsb-release -y
sudo add-apt-repository ppa:ondrej/php -y
现在运行以下命令,将 LAMP 堆栈依赖项安装到您的 Ubuntu 系统。输入 'Y' 以确认安装。
sudo apt install apache2 mariadb-server php8.2 libapache2-mod-php8.2 php8.2-mysql php8.2-cgi php8.2-fpm php8.2-cli php8.2-curl php8.2-gd php8.2-imap php8.2-mbstring php-pear php8.2-intl php8.2-apcu php8.2-common php8.2-bcmath php8.2-xml php8.2-zip
安装完成后,使用以下命令检查“apache2”服务状态。
sudo systemctl is-enabled apache2
sudo systemctl status apache2
您可以在下面看到 Apache Web 服务器已启用并正在运行。
接下来,使用以下命令检查 MariaDB 服务器状态。您将看到 MariaDB 服务器也在您的 Ubuntu 系统上运行并启用。
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
最后,运行以下命令以检查 PHP 版本。您将看到 PHP 8.2 是通过 PPA 仓库安装在您的系统上的。
sudo php -v
sudo php -m
配置 PHP
在本节中,您将通过编辑默认的 'php.ini' 文件来配置 PHP,并重新启动 Apache Web 服务器。
使用以下 'nano' 编辑器打开文件 '/etc/php/8.2/apache2/php.ini' 。
sudo nano /etc/php/8.2/apache2/php.ini
使用以下命令更改默认配置。确保根据需要调整选项 'date.timezone' 和 'memory_limit' 。
date.timezone = Europe/Berlin
memory_limit = 512M
完成后,保存文件并退出编辑器。
最后,运行下面的 'systemctl' 命令以重新启动 Apache Web 服务器并应用新的 PHP 配置。
sudo systemctl restart apache2
配置 MariaDB 服务器
配置 PHP 后,您将保护 MariaDB 服务器安装并为 osTicket 创建新的数据库和用户。您将使用 'mariadb-secure-installation' 实用程序来保护 MariaDB 服务器,然后使用 'mariadb' 客户端。
执行以下 'mariadb-secure-installation' 以保护您的 MariaDB 服务器安装。
sudo mariadb-secure-installation
现在,系统会询问您以下配置:
- 对于没有 root 密码的默认 MariaDB 服务器安装,请在询问密码时按 ENTER。
- 默认情况下,MariaDB root 用户的本地身份验证是安全的,当要求将身份验证方法更改为 “unix_socket” 时,请输入 'n'。
- 输入 'Y' 以创建新的 MariaDB root 密码。然后,为您的 MariaDB root 用户输入强密码并重复。
- 当要求为 MariaDB root 用户禁用远程身份验证时,输入 'Y' 表示同意。
- 默认的 MariaDB 服务器安装带有数据库 'test' 并允许匿名用户访问它。为这两个设置输入 'Y' 以删除默认数据库 'test' 并删除匿名权限。
- 最后,输入 'Y' 以确认重新加载表权限。
配置并保护 MariaDB 服务器后,您需要为 osTicket 安装创建一个新的数据库和用户。
使用下面的 'mariadb' 客户端命令登录到 MariaDB 服务器。出现提示时,输入您的 MariaDB root 密码。
sudo mariadb -u root -p
登录后,运行以下查询以创建新的数据库和密码为 'osticketpassword' 的用户 'osticket'。根据需要更改以下详细信息。
CREATE DATABASE osticket;
CREATE USER 'osticket'@'localhost' IDENTIFIED BY 'osticketpassword';
GRANT ALL PRIVILEGES ON osticket.* TO osticket@localhost IDENTIFIED BY "osticketpassword";
FLUSH PRIVILEGES;
现在运行下面的查询,以确保用户 'osticket' 可以访问数据库 'osticket'。
SHOW GRANTS FOR osticket@localhost;
在以下输出中,您可以看到可以通过 'osticket' 用户访问 'osticket' 数据库。
最后,键入 'quit' 退出 MariaDB 服务器。
下载 osTicket
现在您已经配置了 PHP 和 MariaDB 服务器,您将下载 osTicket 源代码并设置安装目录。
转到 '/var/www/' 目录,并使用下面的 'wget' 命令下载 osTicket 源代码。
cd /var/www
wget https://github.com/osTicket/osTicket/releases/download/v1.18.1/osTicket-v1.18.1.zip
下载后,运行下面的“unzip”命令,将 osTicket 源代码提取到“osTicket”目录。因此,osTicket 安装目录将位于 '/var/www/osTicket' 中。
unzip osTicket-v1.18.1.zip -d osTicket
现在运行以下命令,将 '/var/www/osTicket' 目录的所有权更改为用户 'www-data',并将默认权限更改为 '0755'。
sudo chown -R www-data:www-data /var/www/osTicket
sudo chmod 755 /var/www/osTicket
最后,运行以下命令,将 osTicket 配置复制到 /var/www/osTicket/upload/include/ost-config.php。
mv /var/www/osTicket/upload/include/ost-sampleconfig.php /var/www/osTicket/upload/include/ost-config.php
设置 Apache 虚拟主机
在本节中,您将为 osTicket 创建一个新的 Apache 虚拟主机文件。因此,请确保您的域名指向服务器 IP 地址。
使用以下 'nano' 编辑器创建新的 Apache 虚拟主机文件 '/etc/apache2/sites-available/osticket.conf'。
sudo nano /etc/apache2/sites-available/osticket.conf
插入以下配置,并确保使用您的域名更改 'ServerName' 选项。
<VirtualHost *:80>
ServerName ticket.howtoforge.local
ServerAdmin admin@localhost
DocumentRoot /var/www/osTicket/upload
<Directory /var/www/osTicket/upload>
Require all granted
Options FollowSymlinks
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/osticket.error.log
CustomLog ${APACHE_LOG_DIR}/osticket.access.log combined
</VirtualHost>
完成后,保存文件并退出编辑器。
现在运行以下命令以激活“osticket.conf”文件并验证您的 Apache 语法。如果您有正确的 Apache 语法,您将看到输出 'Syntax is OK'。
sudo a2ensite osticket.conf
sudo apachectl configtest
最后,运行下面的 'systemctl' 命令以重新启动 Apache Web 服务器并应用您的更改。
sudo systemctl restart apache2
使用 HTTPS 保护 osTicket
在本节中,您将使用 HTTPS 保护 osTicket 安装。为此,您将安装和使用 Certbot 从 letsencrypt 生成 SSL/TLS 证书。
使用以下 'apt' 命令安装 'certbot' 和 'python3-certbot-apache' 插件。
sudo apt install certbot python3-certbot-apache -y
安装完成后,运行下面的 certbot 命令生成 SSL/TLS 证书并使用 HTTPS 保护 osTicket。请务必使用您的信息更改以下电子邮件地址和域名。
sudo certbox --apache --agree-tos --redirect --hsts --staple-ocsp --email [email -d ticket.howtoforge.local
完成后,您的 SSL/TLS 证书将在 '/etc/letsencrypt/live/domain.com' 目录中可用,并且您的 osTicket 安装应使用 HTTPS 进行保护。
安装 osTicket
打开您的 Web 浏览器并访问您的域名,例如 https://tiket.howtoforge.local。如果一切顺利,您将看到 osTicket 安装向导。
确保已安装 osTicket 的所有依赖项,然后单击 Continue (继续)。
更改基本系统设置,例如您的域名,然后输入 osTicket 的新管理员用户,并输入您创建的数据库详细信息。
如果安装完成,您将看到以下页面:
接下来,返回您的服务器终端并运行以下命令,从 osTicket 安装中删除“setup”目录。
sudo rm -rf /var/www/osTicket/upload/setup
现在,如果您访问 osTicket 主页,您将获得如下所示的默认页面:
使用您的 admin 用户和密码登录到 osTicket。
如果您拥有正确的管理员凭证,您将看到以下 osTicket 管理控制面板。
结论
祝贺!您已完成 Ubuntu 24.04 服务器上的 osTicket 安装。您已经使用 LAMP 堆栈(Linux、Apache、MariaDB 和 PHP)启动并运行了 osTicket,并且您还通过 Certbot 使用 HTTPS 保护了 osTicket,让我们进行加密。