Docs
指南安装

Ubuntu 和 Debian

在 Ubuntu Server 22.04/24.04 和 Debian 12 上安装 HWD POS,包括从 .zip 软件包安装。

Ubuntu Server 24.04 LTS 是 HWD POS 的推荐系统。Ubuntu 22.04 LTS 和 Debian 12 同样受支持,并使用同一个安装程序 install-ubuntu.sh。

在 Ubuntu 和 Debian 上,网络安装会自动检测 apt 并为你运行 install-ubuntu.sh:

curl -fsSL https://3r.com.pa/hwdpos_inst/bootstrap.sh | sudo bash

安装程序在 Ubuntu 上配置的内容

组件说明
Web 服务器使用已安装的 Apache 或 Nginx。如果两者都没有,则安装 Apache。站点配置将文档根目录指向 /var/www/HWDPOS/public。
PHP-FPM + CLI默认 PHP 8.3(也支持 PHP_VER=8.2),并安装系统要求中列出的全部扩展。
MariaDB创建 hwd_pos 数据库和 hwdpos_manager 用户,密码自动生成并保存在 /var/www/HWDPOS/deploy/DB-CREDENTIALS.txt 中。
打印CUPS 以及来自官方 .deb 软件包(amd64)的 Google Chrome,除非设置了 WITH_PRINTING=no。
后台服务hwpos-print 和 hwpos-plugins,设置为开机启动。
防火墙在 ufw 中开放站点端口。
服务器面板hwdpanel 命令。
权限代码归 Web 用户 www-data 所有,该用户可写入 storage/ 和 public/uploads/。www-data 会被加入 lp(USB 打印机)和 lpadmin(IPP 队列)组。

为什么用 Google Chrome 而不是 chromium-browser

在 Ubuntu 上,chromium-browser 只是指向 Snap 软件包的桥接程序。没有 snapd 时(容器、许多 VPS 和 LXC 环境),该命令存在却无法运行。因此安装程序会从官方 .deb 安装 Google Chrome,摘要也会以 Web 用户身份实际运行它来检查,而不是只查找命令是否存在。

从 .zip 软件包安装

当服务器无法通过互联网下载系统,或供应商向你提供了特定软件包时,使用此方法。将 .zip 复制到服务器(通过 USB 或 SCP),然后运行对应系统家族的安装程序。

安装脚本不包含在软件包中。请单独获取,并将它们全部复制到同一个文件夹(例如 /root/hwdpos-inst/)。安装程序会把三个配套脚本复制到 /var/www/HWDPOS/deploy/;缺少这些脚本时,不会安装后台服务和 hwdpanel。

文件是否必需
install-ubuntu.sh是。
install-workers.sh是:安装两个后台服务。
hwdpanel.sh是:服务器面板。
check.sh推荐:诊断和修复。

将软件包解压到 /var/www(会生成 /var/www/HWDPOS):

cd /var/www && sudo unzip -q /root/HWDPOS-v1.5.0.zip

运行安装程序,并将其指向代码目录:

sudo APP_DIR=/var/www/HWDPOS bash /root/hwdpos-inst/install-ubuntu.sh

阅读最终摘要,打开其中显示的地址,继续进行安装向导。

如果未设置 APP_DIR,且安装程序不在代码文件夹内,则会使用 /var/www/HWDPOS;它会拒绝在系统文件夹(/、/tmp、/var…)上操作。如果缺少某个配套脚本且服务器无法联网,摘要会指出这一点,并且不会提供 hwdpanel。

另外,如果服务器可以联网,也可以使用带 HWPOS_ZIP 的 bootstrap.sh,它会为你解压软件包并下载安装程序:

curl -fsSL https://3r.com.pa/hwdpos_inst/bootstrap.sh | sudo HWPOS_ZIP=/root/HWDPOS-v1.5.0.zip bash

即使代码来自 .zip,激活也需要互联网。

自定义安装

任何安装程序变量都可以放在命令前面。例如:

sudo DOMAIN=pos.mystore.com PHP_VER=8.3 WITH_PRINTING=no bash /var/www/HWDPOS/deploy/install-ubuntu.sh

使用官方 .zip 时,deploy/ 文件夹由首次安装创建。在此之前,请使用带 HWPOS_ZIP 的 bootstrap.sh,或 /root/hwdpos-inst/ 中的副本。

Ubuntu 专项说明

  • 软件源标签变更。 如果 apt-get update 失败并提示类似 Repository '…ondrej/php…' changed its 'Label' value 的信息,脚本已通过 --allow-releaseinfo-change 自动处理。如需手动修复,请运行 sudo apt-get update --allow-releaseinfo-change。
  • PHP 扩展检查。 脚本会检测实际使用的 PHP-FPM 版本,并用 dpkg -s phpX.Y-<extension> 检查软件包,因此结果不受终端中 php 指向哪个版本的影响。
  • 手动更改端口。 参见 Web 服务器。带上 WEB_PORT= 再次运行安装程序更简单。

检查安装

sudo bash /var/www/HWDPOS/deploy/check.sh

参见 check.sh 诊断。

本页目录