ShopXO v2.2.4开源商城手动部署(保姆级)+异常处理

ShopXO v2.2.4开源商城手动部署(保姆级)

1.项目了解

1.1项目简洁

ShopXO国内领先企业级免费开源电商系统!

  • 求实进取、创新专注、自主研发、国内领先企业级电商系统解决方案。
  • 遵循MIT开源协议发布,无需授权、可商用、可二次开发、满足99%的电商运营需求。
  • 支持PC+H5、支付宝小程序、微信小程序、百度小程序、头条&抖音小程序、QQ小程序、APP等...
  • 支持多仓库、多商户模式运营(组件插件化、即插即用),可视化DIY拖拽装修。

1.2 核心技术框架

  • 前端AmazeUI
  • 后端ThinkPHP
  • 数据库MySQL

1.3 需要环境

  • 系统:Centos 7+
  • PHP版本:7.4
  • MySQL版本:5.7.42

2.安装

2.1 MySQL安装

复制代码
# 添加MySQL YUM 仓库
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm

# 修改仓库配置以启用5.7版本
sudo yum-config-manager --disable mysql80-community
sudo yum-config-manager --enable mysql57-community

# 安装 MySQL 5.7
sudo yum install mysql-community-server

# 启动MySQL 5.7
sudo systemctl start mysqld

# 设置开机自启动
sudo systemctl enable mysqld

# 验证版本
mysql --version

2.2 PHP安装

复制代码
# 添加 Remi 仓库(支持多版本PHP)
sudo yum install epel-release
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

# 启动PHP 7.4仓库
sudo yum-config-manager --enable remi-php74

# 安装PHP 7.4 及其相关扩展
sudo yum install php php-cli php-common php-mysqlnd php-fpm

# 验证版本
php -v

2.3 Apache安装

复制代码
# 安装apache ,[-y] 直接下载安装,无需确认
sudo yum install httpd -y 

# 启动Apache 服务
sudo systemctl start httpd

# 设置开机启动
sudo systemctl enable httpd

# 检查服务状态
sudo systemctl status httpd

# 配置防火墙(如果是云服务器请检查安全组是否配置)
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

3.MySQL中的问题

3.1MySQL的登录问题

3.1.1 查询到临时密码

假如我们能够查询到临时密码的情况

  • 查看临时登录密码 (安装的我们并没有设置mysql的账户和登录密码,但系统为我们生成了一个root,临时密码需要去mysqld.log文件中去查找)

    复制代码
    # 通过grep 去查找
    grep 'temporary password' /var/log/mysqld.log
    
    # 输出示例:A temporary password is generated for root@localhost: xxxxxxxx
  • 使用临时密码登录

    复制代码
    mysql -u root -p
    # 输入临时密码
  • 修改账户密码

    SQL 复制代码
    # 密码一般存储在mysql库中的user表格中
    
    use mysql;
    alter user 'root'@'localhost' identified by '你的新密码';
    FLUSH PRIVILEGES;
    EXIT;
3.1.2 查询不到临时密码

方法1:我们不查询不到临时密码,但是可以跳过权限检查强制重置密码

  • 停止mysql服务

    sudo systemctl stop mysqld # mysql(根据系统)

  • 跳过权限检查模式启动mysql

    复制代码
    sudo mysqld_safe --skip-grant-tables --skip-networking &
    • --skip-grant-tables:禁用权限验证
    • --skip-networking:禁止远程连接,仅允许本地访问
  • 无密码进行登录

    复制代码
    mysql -u root
  • 修改root密码

    SQL 复制代码
    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
    EXIT;
  • 重启MySQL服务

    复制代码
    systemctl restart mysqld

方法2:修改配置文件

  • 查询配置文件地址

    复制代码
    sudo find / -name "mysql.conf"
    或
    sudo find / -name "my.cnf"
  • 编辑MySQL配置文件

    复制代码
    sudo vim /etc/my.cnf
    或
    sudo vim /etc/mysql/my.cnf
  • 在文件的[mysqld]段添加:

    复制代码
    skip-grant-tables
    skip-networking
  • 保存并启动MySQL:

    复制代码
    systemctl restart mysqld

3.2开启远程连接

  • 修改配置文件,添加bind-address字段

    复制代码
    sudo vim /etc/my.cnf  
    
    # 在[mysqld]下方添加
    bind-address = 0.0.0.0
  • 创建远程用户并授权

    SQL 复制代码
    # 创建用户
    use mysql;
    create user 'your_user'@'%' identified by '你的密码';
    
    # 授权所有数据库权限
    GRANT ALL PRIVILEGES ON *.* TO 'you_user'@'%' WITH GRANT OPTION;
    
    # 刷新权限
    FLUSH PRIVILEGES
  • 开启防护墙的端口

    复制代码
    sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent  # 开放端口
    sudo firewall-cmd --reload                                       # 重载规则

4.将项目代码部署到Apache中

  • 将项目文件部署移到/var/www/html中

    复制代码
    # 我的文件路径是/root/shopxo-v2.2.4
    
    mv /root/shopxo-v2.2.4 /var/www/html/shopxo-v2.2.4
  • 修改项目文件的权限

    复制代码
    sudo chown -R apache:apache /var/www/html/shopxo-v2.2.4
    sudo chmod -R 755 /var/www/html/shopxo-v2.2.4
  • 修改httpd.conf文件

    复制代码
    vim /etc/httpd/conf/httpd.conf
    
    # 将DocumentRoot "/var/www/html/" 修改为你的项目地址
    DocumentRoot "/var/www/html/shopxo-v2.2.4"
  • 重启httpd服务

    复制代码
    systemctl restart httpd

5.安装ShopXO遇到问题

5.1项目安装

  • 在windwos的浏览器中输入http://localhost (我使用的是云服务器http://公网IP)进入一下界面
  • 检查配置环境

  • 数据库配置

  • 完成后保存号后端密码

5.2 环境配置问题

  • 环境检查GD库不符合要求

    复制代码
    # 安装GD扩展
    sudo apt install php-gd
    
    # 重启服务器
    sudo systemctl restart httpd
  • 函数/类

    • simplexml_load_string函数 不支持

      复制代码
      # 可能是为安装SimpleXML 扩展
      # 安装 php-xml 包(包含 SimpleXML 扩展)
      sudo yum install php-xml
      
      # 验证安装,如果返回simplexml,则扩展已经启用
      php -m | grep simplexml
      
      # 重启服务器
      sudo systemctl restart httpd
    • ZipArchive类 不支持

      复制代码
      # 可能你未安装
      sudo yum install php-zip libzip-devel
      
      # 重启服务器
      sudo systemctl restart httpd
  • 目录/文件权限检查

    请提高你项目文件的操作权限chmod指令

注意后续应该没有什么问题了

相关推荐
pwzs10 分钟前
缓存不只是加速器:深入理解 Redis 的底层机制
数据库·redis·缓存
A尘埃19 分钟前
电商中的购物车(redis的hash类型操作)
数据库·redis·哈希算法
程序员学习随笔1 小时前
PostgreSQL技术内幕28:触发器实现原理
数据库·postgresql
在下千玦1 小时前
#关于数据库中的时间存储
数据库
天才测试猿1 小时前
Postman接口测试详解
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
寰宇视讯1 小时前
铼赛智能Edge mini斩获2025法国设计大奖 | 重新定义数字化齿科美学
前端·数据库·edge
三金C_C1 小时前
数据库预热
数据库
小费的部落6 小时前
记 etcd 无法在docker-compose.yml启动后无法映射数据库目录的问题
数据库·docker·etcd
woshilys8 小时前
mysql 删除表等待
数据库·mysql
SEO-狼术9 小时前
dbForge Documenter for Oracle Crack
数据库·oracle