树莓派与 Raspbian Lite 可以非常灵活地安装许多有用的服务(另请参阅我的树莓派项目文章)。 通过搜索开源软件并使用这款出色的设备进行测试,可以实现一些令人着迷的功能。一个有趣的例子是使用树莓派和 Qloapps 安装完整的开源酒店预订系统。
什么是 Qloapps?
QloApps 是一款开源软件,具有众多功能,可以帮助简化酒店业务管理。 这些功能包括
- 启动酒店预订网站
- 管理线下预订
- 部分付款预订
- 集成支付网关
- 在单个订单中进行多房间/多酒店预订
- 管理退款规则
它由一个 Web 前端组成,即客户可以从互联网访问的页面,以及一个 Web 后端,酒店所有者可以在其中管理酒店、房间、价格和许多其他可自定义的选项。
分步程序
这个项目非常简单,并且仅安装远程 Web 服务意味着我们只需要一些廉价的零件:
- 树莓派 3 型号 B* 以及电源
- 一张 micro SD 卡(建议至少 16GB)
*我将使用树莓派 3 型号 B,但它也应该适用于树莓派 3 型号 A+ 或更新的板卡。
您还需要一台装有 SFTP 软件的台式 PC(例如,免费的 Filezilla),用于将安装包传输到您的 RPI 中。
我们将从设置经典的 LAMP 服务器开始,然后我们将设置数据库用户并安装 Qloapps。
1. 安装 Raspbian Buster Lite 操作系统
对于此步骤,请参阅我的在您的树莓派中安装 Raspbian Buster Lite 文章。
确保您的系统是最新的。通过 ssh 终端连接并键入以下命令
sudo apt-get update
sudo apt-get upgrade
2. 安装 LAMP 服务器
LAMP(Linux、Apache、MySQL、PHP)服务器通常带有 MySQL 数据库。在我们的项目中,我们将使用 MariaDB 代替,因为它更轻巧,并且可以很好地与树莓派配合使用。第一部分将很快,因为互联网上有大量关于安装 LAMP 服务器的优秀说明。
3. 安装 Apache 服务器
sudo apt-get install apache2 -y
您现在应该能够通过浏览 http://<<YouRpiIPAddress>> 来检查 Apache 安装是否正确完成

4. 安装 PHP
sudo apt-get install php -y
5. 安装 MariaDB 服务器和 PHP 连接器
sudo apt-get install mariadb-server php-mysql -y
6. 安装 PHPMyAdmin
sudo apt-get install phpmyadmin
在 PHPMyAdmin 设置屏幕中,请按照以下说明操作
- 使用空格选择 Apache(强制性),然后按确定。
- 选择“是”以使用 dbconfig-common 配置 PHPMyAdmin 的数据库。
- 插入您喜欢的 PHPMyAdmin 密码,然后按确定。
- 再次插入您的 PHPMyAdmin 密码以确认,然后按确定。
7. 授予 PHPMyAdmin 用户数据库权限以管理数据库
我们将使用 root 用户(默认密码为空)连接到 MariaDB 以授予权限。 请记住在每个命令行的末尾使用分号,如下所示
sudo mysql -uroot -p
grant all privileges on *.* to 'phpmyadmin'@'localhost';
flush privileges;
最后,重启 Apache 服务
sudo systemctl restart apache2.service
并通过浏览“http://<<YouRpiIPAddress>>/phpmyadmin/.”来检查 PHPMyAdmin 是否正在工作。

默认的 PHPMyAdmin 登录凭据是
- 用户:phpmyadmin
- 密码:在 phpmyadmin 安装步骤中设置的密码
安装其他 Qloapps 所需的软件包并设置 PHP
我们需要为 Qloapp 安装检查准备我们的系统。 因此,我们必须安装 PHP Soap 连接器
sudo apt-get install php-soap
通过合规性检查的另一个要求是将 PHP 最大上传文件大小编辑为 16 MB
sudo nano /etc/php/7.3/apache2/php.ini
查找带有 upload_max_filesize 参数的行,并将其设置为如下所示
upload_max_filesize = 16M
Qloapps 还建议进行以下更改
max_execution_time = 500
保存并退出。再次重启 Apache
sudo systemctl restart apache2.service
安装 Qloapps
我们将遵循官方的 Qloapps 安装指南,并进行一些小的更改以拥有专用的数据库应用程序用户。
创建数据库并设置用户。 返回到 PHPMyAdmin 网页(浏览“http://<<YourRpiIPAddress>>/phpmyadmin/”),然后登录
- 用户:phpmyadmin
- 密码:您在 PHPMyAdmin 安装步骤中设置的密码
单击“数据库”选项卡

创建一个数据库,并记下数据库名称,因为在后续安装过程中您将需要相同的名称

现在是时候为 Qloapps 创建一个数据库用户了。 在此示例中,我将使用以下凭据;您可以使用自己选择的登录名。
- 用户:qloapps_db_user
- 密码:qloapps_db_password
因此,终端命令将是:
sudo mysql -uroot -p
CREATE USER ‘qloapps_db_user’@‘localhost’ IDENTIFIED BY ‘qloapps_db_password’;
GRANT ALL PRIVILEGES ON qloapps_.* TO 'qloapps_db_user' @ 'localhost';
flush privileges;
quit
(如果之前您没有更改过 root 密码,则 root 密码仍然为空)
安装 Qloapps 软件
从您的本地 PC 上的 Qloapps 下载页面 下载 Qloapps 安装 zip 文件。 在撰写本文时,此文件名为“HotelCommerce-1.4.0.zip”。
使用您喜欢的 SFTP 软件,将整个 zip 文件传输到您的树莓派中路径“/home/pi/download”下的一个新文件夹中。 常见的(默认)SFP 连接参数是
- 主机:您的树莓派 IP 地址
- 用户:pi
- 密码:raspberry(如果您没有更改 pi 默认密码)
- 端口:22
返回到终端
cd /home/pi/download/ #Enter directory where Qloapps installation files have been transferred
unzip HotelCommerce-1.4.0.zip #Extracts all files from zip
cd /var/www/html/ #Enter Apache web directory
sudo rm index.html #Removes Apache default page - we'll use Qloapps one
sudo cp -R /home/pi/download/HotelCommerce-1.4.0/hotelcommerce/* ./ #Copy installation files to web directory
sudo chown -R www-data:www-data ./
浏览 http://<<YourRpiIPAddress>> 以开始安装

选择您喜欢的语言,然后按“下一步”。

阅读许可协议。 如果您同意,请选中相反的标志,然后按“下一步”。

在此步骤中,您需要输入您的商店详细信息以及您将用于访问商店的凭据。 最后,按“确定”。

根据先前段落中定义的参数编辑数据库连接参数。 使用本指南中使用的参数,我将编辑
- 数据库名称:qloapps_(添加了最后的下划线)
- 数据库登录名:qloapps_db_user
- 数据库密码:qloapps_db_password
测试数据库连接,应该没问题。 单击“下一步”。

安装似乎已正确完成,但我们必须在进入 Qloapps 网页之前删除安装文件夹。 在终端中,键入
sudo rm -R install/
使用终端中的命令“ls”,找到一个名称以“admin”开头的文件夹。 在我的情况下,输出如下

但 admin 文件夹名称可能因安装而异。
现在您的预订 Web 服务器已准备就绪,页面将是
- 前端(供客户使用):http://<<YourRpiIPAddress>>
- 后端(供管理员使用):http://<<YourRpiIPAddress>>/<<AdminFolderName>>
首先,后端访问以演示模式进行。 可以使用页面右侧标记为“演示模式”的开关按钮禁用此模式。
要进行自定义,请使用 Qloapps 用户指南。
10 条评论