【01】针对开源收银系统icepos (宝塔面板) 详细安装教程详细参考-优雅草卓伊凡

【01】针对开源收银系统icepos (宝塔面板) 详细安装教程详细参考-优雅草卓伊凡

引言

本文做参考,下篇文章 直接实践,由于已经选型

本系统是服务端php开发的系统,他的系统环境如下:

系统安装
环境要求

ICEPOS对服务器或电脑硬件要求不高,可以使用单台电脑/自建服务器/云服务器

单台电脑,即可安装C#收银客户端+PHP服务端+管理后台。适合单独小卖部/中小型超市

自建服务器/云服务器适合多门店连锁+数据量访问大的中大型连锁超市

  PHP >= 7.2 且 <= 7.4 (推荐PHP7.4版本)MySQL >= 5.6 且 <= 8.0 (需支持innodb引擎)Apache 或 Nginx// 客户端浏览器推荐Google Chrome v100+Firefox v100+Microsoft EDGE v100+Apple Safari v13+360浏览器 v14+ (极速模式)

icepos (宝塔面板) 详细安装教程

本教程假设您已经拥有一台安装了 纯净版 CentOS 7/8 或 Ubuntu 18/20 的云服务器或本地电脑,并已能够通过 SSH 连接。

第一部分:系统环境准备 (安装宝塔面板)

如果您的服务器尚未安装宝塔面板,请先执行此步骤。

  1. 连接服务器
    使用 SSH 工具 (如 PuTTY, Terminal, Xshell) 连接到您的服务器。

  2. 安装宝塔面板
    根据您的操作系统,执行对应的安装命令:

    • CentOS 系统安装命令:

      yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
      
    • Ubuntu/Debian 系统安装命令:

      wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
      
  3. 完成安装
    安装过程大约需要 1-5 分钟,完成后,命令行界面会显示宝塔面板的后台地址、用户名和密码。请务必妥善保存这些信息!

    宝塔安装成功截图


    同时,您需要在云服务器的安全组/防火墙中放行面板端口(通常是 8888)。


第二部分:配置 icepos 所需环境
  1. 登录宝塔面板
    在浏览器中打开上一步获取的宝塔面板地址,使用用户名和密码登录。

  2. 安装 Web 环境套件 (LNMP)
    首次登录,宝塔会推荐您安装套件。请严格按照 icepos 的要求进行选择:

    • Nginx 或 Apache: 任选其一,推荐 Nginx,性能更好。
    • MySQL: 版本选择 5.65.7 或 8.0 (根据 icepos 文档推荐,建议选择 5.7,兼容性最好)。
    • PHP: 版本必须选择 7.27.3 或 7.4。本教程以 PHP-7.4 为例。
    • 安装方式为“编译安装”或“极速安装”均可。
      点击【一键安装】后,等待宝塔自动完成安装,这个过程可能需要较长时间。
  3. 配置 PHP (关键步骤)

    • 在宝塔面板首页,点击【软件商店】-> 找到已安装的 PHP-7.4,点击【设置】。
    • 切换到【禁用函数】选项卡,找到并删除以下函数(icepos 安装可能需要):
      putenv
      proc_open
      pcntl_signal
      pcntl_alarm
    • 切换到【安装扩展】选项卡,确保以下扩展已安装:
      fileinfo
      exif
      opcache
      redis (如果计划使用 Redis 缓存,非必需但推荐)
    • 点击【重载配置】或【重启PHP】使更改生效。

第三部分:部署 icepos 程序
  1. 添加网站

    • 在宝塔面板首页,点击【网站】-> 【添加站点】。
    • 域名: 如果您有域名,请填写(例如 pos.yourdomain.com)。如果还没有或仅在本地使用,可以填写您的服务器 IP 地址。
    • 根目录: 默认即可,例如 /www/wwwroot/icepos
    • FTP 和数据库:
      • 勾选【创建数据库】,选择 MySQL,设置数据库名、用户名和密码。务必记录好这些信息,后续安装需要!
      • 勾选【创建FTP】可选,方便上传文件。
    • PHP 版本: 务必选择您刚才安装的 PHP-7.4
    • 点击【提交】。
  2. 上传 icepos 程序文件
    您需要从 icepos 的官方仓库(如 Gitee 或 GitHub)下载最新的发行版(Release)ZIP 压缩包。

    • 方式一(推荐): 在宝塔的【文件】管理中,进入您刚才创建的网站根目录(如 /www/wwwroot/icepos)。点击【上传】,将下载好的 icepos ZIP 压缩包上传至此,然后右键点击压缩包,选择【解压】。
    • 方式二: 使用刚才创建的 FTP 账户,通过 FTP 客户端(如 FileZilla)将文件上传到网站根目录。
    • 方式三(技术向): 使用 SSH 命令,通过 wget 或 curl 直接下载到服务器目录,然后用 unzip 命令解压。

    重要: 解压后,确保网站根目录直接包含 index.phpapppublic 等文件,而不是多一层文件夹。如果有多余文件夹,请将内部所有文件移动到网站根目录。

  3. 设置目录权限
    在宝塔的【文件】管理中,进入网站根目录,选中以下目录,点击上方的【权限】按钮,将其权限设置为 755,并勾选【应用到子目录】。

    • storage/
    • bootstrap/cache/
      如果无法写入,可能需要将这些目录的所有者改为 www 用户。

第四部分:安装 icepos
  1. 开始安装向导
    打开浏览器,访问您为 icepos 设置的域名或服务器IP地址(例如 http://your-server-ip)。
    如果一切配置正确,您应该会看到 icepos 的安装向导界面。

  2. 环境检测
    安装程序会自动检查环境是否符合要求。如果前面步骤都正确,这里应该全是绿色的对勾(√)。点击【下一步】。

  3. 数据库配置
    填写您在创建网站时记录的数据库信息:

    • 数据库地址: 默认是 localhost 或 127.0.0.1(如果数据库和网站在同一服务器)。
    • 数据库名: 填写您创建的数据库名称。
    • 用户名: 填写该数据库的用户名。
    • 密码: 填写该数据库的密码。
    • 表前缀: 默认即可(如 ice_),除非您有特殊需求。
      点击【测试连接】,成功后再点击【下一步】。
  4. 创建管理员账户
    设置您的超级管理员账号信息:

    • 用户名、邮箱、密码等。
      请务必使用强密码并牢记。
  5. 完成安装
    点击【安装】,系统会自动导入数据库结构和初始数据。安装完成后,通常会提示您“安装成功”。
    出于安全考虑,安装程序会强烈建议您删除安装目录(通常是 /install 文件夹)。 请务必通过宝塔【文件】管理找到并删除它。


第五部分:登录与验证
  1. 访问后台
    安装完成后,点击【进入后台】或访问 http://your-domain.com/admin,使用您刚才创建的管理员账号登录。

  2. 访问前台 (收银端)
    收银端通常位于 http://your-domain.com 或有一个单独的入口,您可以在后台的系统设置中找到准确的URL。

  3. 后续配置
    登录管理后台后,您需要进一步配置:

    • 系统设置: 设置门店名称、地址、电话、税率等。
    • 支付方式: 配置现金、刷卡、支付宝、微信支付等。
    • 商品管理: 添加商品、分类、库存。
    • 员工管理: 为收银员创建账号并分配权限。

常见问题排查 (Q&A)

  • Q: 访问网站显示 500 错误?

    • A: 通常是目录权限或 PHP 扩展问题。请返回检查 storage/ 和 bootstrap/cache/ 目录权限是否为 755(或 777),并检查 PHP 的 fileinfo 扩展是否安装。
  • Q: 安装向导无法连接数据库?

    • A: 1. 检查数据库地址、名、用户名、密码是否正确。2. 检查数据库是否正在运行(在宝塔【软件商店】查看MySQL状态)。3. 检查服务器防火墙/安全组是否放行了 3306 端口(本地安装通常无需此操作)。
  • Q: 页面排版错乱,CSS/JS 加载不了?

    • A: 在宝塔的【网站】设置中,找到对应网站,点击【设置】->【网站目录】,确认【运行目录】一项是否正确设置为 public(对于 Laravel 框架的程序通常如此,请以 icepos 官方文档为准)。
  • Q: 收银端无法打开或白屏?

    • A: 确保您使用的浏览器版本符合要求(Chrome/Edge 100+),并尝试按 F12 打开开发者工具,查看 Console 面板是否有红色报错信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/96416.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/96416.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL的常用命令

目录1. 连接MySQL数据库基本连接语法连接参数说明2. 数据库操作2.1 查看数据库2.2 创建数据库2.3 删除数据库3. 表操作3.1 查看表信息3.2 创建表3.3 常用数据类型3.4 修改表结构3.5 删除表4. 数据操作 (CRUD)4.1 插入数据 (CREATE)4.2 查询数据 (READ)基本查询条件查询排序和分…

Linux: config: CONFIG_CHECKPOINT_RESTORE;CRIU

文章目录 config CHECKPOINT_RESTORE commit related 简介 参考 如何使用 Checkpoint/Restore 功能 步骤 1:确保内核支持 步骤 2:安装 CRIU 步骤 3:检查点(Checkpoint) 步骤 4:恢复(Restore) 步骤 5:验证 常见应用场景 注意事项 python config CHECKPOINT_RESTORE bo…

eclipse怎么把项目设为web

在 Eclipse 中将一个项目设置为 Web 项目&#xff08;或称动态 Web 项目&#xff09;主要有两种场景&#xff1a;​创建新的 Web 项目​ 和 ​将现有项目转换为 Web 项目。我将为你详细讲解这两种方法。前提条件&#xff1a;确保你有必要的 Eclipse 组件在开始之前&#xff0c;…

CVPR 2025|基于视觉语言模型的零样本3D视觉定位

论文信息题目&#xff1a;Zero-Shot 3D Visual Grounding from Vision-Language Models基于视觉语言模型的零样本3D视觉定位作者&#xff1a;Rong Li, Shijie Li, Lingdong Kong, Xulei Yang, Junwei Liang论文创新点提出全新框架&#xff1a;论文提出SeeGround这一无需训练的零…

Realtime API 语音代理端到端接入全流程教程(含 Demo,延迟 280ms)

在现代应用中&#xff0c;实时语音交互已经成为重要功能&#xff0c;而低延迟的语音传输更是用户体验的关键指标。本文将详细介绍如何使用 Realtime API 实现 语音代理 的端到端接入&#xff0c;包括环境搭建、接口调用、低延迟优化及 Demo 演示。通过本教程&#xff0c;开发者…

AI赋能办公:用Python解决发票合并打印难题

一、问题的提出今天网友提问&#xff1a;报销时&#xff0c;财务要求要把发票合并打印&#xff0c;即两张合成一张放在A4纸上&#xff0c;中间还要加一道黑色分界线&#xff0c;如何快速完成数十张发票的打印&#xff1f;问题的提出二、问题分析这个问题可以采用两种方法解决&a…

Shell编程之正则表达式与文本处理工具

一、正则表达式基础1. 正则表达式概述​定义​&#xff1a;正则表达式&#xff08;Regular Expression&#xff0c;简称Regex&#xff09;是由普通字符​&#xff08;如字母、数字、标点符号&#xff09;与元字符​&#xff08;具有特殊含义的专用字符&#xff09;组成的字符串…

使用 Spring AI Alibaba Graph 实现工作流

1 依赖<dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-starter-dashscope</artifactId><version>1.0.0.2</version> </dependency><dependency><groupId>com.alibaba.cloud.…

碰一碰系统源码于小程序打通技术开发整合方案,驱动AI技术开发源代码

碰一碰系统结合小程序开发数据互通&#xff0c;驱动AI技术开发源代码碰一碰系统作为门店获客技术落地的核心载体&#xff0c;已从标准化产品向实体店定制演进。本文从源码d的形式出发&#xff0c;解析企业级数字人分身系统的交互系统&#xff0c;为技术团队提供可落地的开发指南…

深度学习——自然语言处理NLP

自然语言处理中的词向量技术演进与实践一、传统统计语言模型的困境与突破1.1 统计语言模型的局限性早期NLP主要依赖统计语言模型&#xff0c;如n-gram模型&#xff0c;通过统计词序列的频率来预测语言概率。这类模型存在两个根本缺陷&#xff1a;早期统计语言模型的局限性1. 维…

uni-app头像叠加显示

展示代码<view class"bmBox"><view class"bmLeft">已报名&#xff1a;<text class"blueColor">10人</text></view><view class"bmRight dflex"><view class"avatarList"><ima…

私有化部署Ragflow的预训练模型

部署ragflow代码库中的det.onnx模型&#xff08;通常是目标检测或文档结构解析类模型&#xff0c;如版面分析模型&#xff09;到火山云&#xff0c;需基于ONNX Runtime推理框架&#xff0c;结合火山云的计算资源和服务能力实现。以下是具体步骤&#xff1a; 一、模型特性与依赖…

go中的singleflight是如何实现的?

大家周四快乐&#xff0c;今天分享粉丝投稿的面经。 内容整理如下&#xff1a;go go singleflight 的底层实现 singleflight 是 Go 语言标准库中的一个很有用的包&#xff0c;它主要用来处理并发请求时的重复问题。比如在高并发场景下&#xff0c;如果多个请求同时访问同一个资…

【开关电源篇】整流及其滤波电路的工作原理和设计指南-超简单解读

开关电源之整流电路1. 什么是半波整流电路&#xff1f;1.1 电路结构与工作原理1.2 输出特性分析2. 全波整流电路如何工作&#xff1f;2.1 电路结构特点2.2 工作过程分析2.3 优缺点对比3. 桥式整流电路有什么优势&#xff1f;3.1 电路组成3.2 工作原理详解3.3 性能特点4. 什么是…

创建GLFW窗口,开启OpenGL之路

前言&#xff1a;本系列文章主要是一个学习笔记和总结&#xff0c;具体学习过程参考https://learnopengl-cn.github.io/这个网站的是学习OpenGL的一个很完美的新手教程。在这个部分系列中&#xff0c;我会以自己的理解详细描述每个函数、方法的使用&#xff0c;以及关键参数的解…

es通过分片迁移迁移解决磁盘不均匀问题

POST _cluster/reroute {"commands": [{"move": {"index": "xxx_detail","shard": 2,"from_node": "el8P9Ul","to_node": "4sDv-RD"}}] }查看迁移进程 GET _cat/shards?v查看磁盘…

c++打包pyd文件给Python使用调用函数

c打包pyd文件给Python使用调用函数C语言源码&#xff1a;simplemath.cpp代码&#xff1a;// // Created by ASFOR on 2025/9/11. // #include <pybind11/pybind11.h>namespace py pybind11;// 一个简单的加法函数 int add(int a, int b) {return a b; }// 一个简单的乘…

hadoop的api操作对象存储

一、获取文件或目录1. 获取某个目录下的文件// 必须的依赖 import org.apache.hadoop.conf.Configuration import org.apache.hadoop.fs.{FileSystem, LocatedFileStatus, Path, RemoteIterator}// 获取某个目录下的文件路径 def list_file(conf: Configuration, dir_path: Str…

《UE5_C++多人TPS完整教程》学习笔记52 ——《P53 FABRIK 算法(FABRIK IK)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P53 FABRIK 算法&#xff08;FABRIK IK&#xff09; 的学习笔记&#xff0c;该系列教学视频为计算机工程师、程序员、游戏开发者、作家&#xff08;Engineer, Programmer, Game Developer, Author&#xff09; Stephen …

HttpServletRequest vs ServletContext 全面解析

HttpServletRequest vs ServletContext 全面解析 一、 核心区别概览特性HttpServletRequest (请求对象)ServletContext (Servlet上下文/应用对象)作用域请求范围应用范围生命周期从客户端发出请求开始&#xff0c;到服务器返回响应结束。从Web应用启动&#xff08;部署&#xf…