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密码
SQLFLUSH 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
指令
注意 :后续应该没有什么问题了