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 # 輸入臨時密碼
-
修改賬戶密碼
# 密碼一般存儲在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密碼
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
-
創建遠程用戶并授權
# 創建用戶 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.4mv /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
指令
注意:后續應該沒有什么問題了