1 Star 1 Fork 10

XMAKER / fastadmin-shopro-install

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README
Apache-2.0

fastadmin-shopro-install

介绍

主要是记录一下部署流程,以便后续需要重新部署的时候快速部署不用踩坑,如果部署中有新坑可咨询作者QQ3104710541,记录常见问题我会第一时间进行修改补充

环境

  • Linux CentOS 7.2
  • 宝塔面板
  • php 7.2
  • nginx 1.18
  • mysql 5.7
  • redis 5.0
  • supervisor

安装

宝塔面板

打开宝塔官方网站,选择安装 linux

图片.png

图片.png

部署站点

1. 创建站点

图片.png

2. 设置站点
  • 解析域名,并指向服务器 ip
  • 设置 ssl 证书 请务必配置
  • 设置伪静态和跨域, 点此
3. fastadmin安装
  • fastadmin完整包zip上传到站点目录
  • 解压
  • 删除zip

图片.png

4. 配置站点运行目录

图片.png

5. 开始安装fastadmin

访问 http://{域名}/install.php, 设置好数据库账号密码, 管理员账号密码

6. 配置站点ssl证书

图片.png

7. 安装shopro插件

开发环境下打开debug随时定位问题

图片.png

1. 进入后台管理-插件管理-安装shopro

图片.png

2. 安装新版PHP微信扩展包
$ composer remove overtrue/wechat
$ composer require "overtrue/wechat:^4.2" -vvv
$ composer update
3. 商城配置

根据官方文档配置,点此

前端部署

1. 安装HbuilderX
2. 下载前端代码包到本地

图片.png

3. 在 HbuilderX 打开

图片.png

4. 点击顶部菜单运行->运行到浏览器-> chrome 【H5 运行为例】

图片.png

此问题是未安装前端依赖包

使用 HbuilderX 终端(或者任意熟悉的终端,需要进入前端代码目录), 执行 npm install

图片.png

执行 npm install ,结果如下即为成功:

图片.png

5. 再次运行到浏览器

又报错了

图片.png

根据提示找到对应的插件,进行安装 工具 -> 插件安装

图片.png

再次运行

图片.png

6. 修改配置文件env.js, 替换域名

图片.png

至此,如果上面伪静态跨域SSL 配置没有问题,就能看到正常的商城页面了

分享海报设置-H5

生成海报前, 设置 后台 -> 商城配置 -> 商城信息 -> 分享

图片.png

图片.png

图片.png

分享海报设置-小程序

生成海报请先确保小程序发布过至少一版,否则服务端会报 /pages/index/index 页面路径无效 41030invalid page hint: [zEDCRb0gE-Nr333a]

  1. 配置小程序 appid

图片.png

  1. 下载小程序开发工具

小程序开发工具 -> 设置 -> 安全设置 -> 安全 -> 服务端口 -> 开启

图片.png

图片.png

保证商城配置正确:商城配置 -> 平台配置 -> 小程序配置

图片.png

到这里还没有完,当使用手机预览的时候发现海报无法生成,甚至连首页也出不来(开发工具能出来是因为开发工具有个选项 不校验域名合法性 ),这是因为,后端的域名和海报图片地址都需要添加到小程序允许的服务器域名中

小程序后台 -> 开发 -> 开发设置 -> 服务器域名

api 域名    // 后端 api 接口域名,请部署 `https`
api.7wpp.com      // 后台默认的海报背景的域名
wx.qlogo.cn         // 微信授权登录的头像地址
shopro-1253949872.image.myqcloud.com      // 商城演示商品图片地址

redis队列

提高系统性能,活动可靠性,系统引入了 队列 和 redis 缓存

1. 下单试试

此报错为未安装 队列插件,队列 和 redis 配置文档已经很详细了,请移步按照文档进行配置,点此

图片.png

配好队列,加上余额,使用余额付款,一切正常的话,就能看到订单支付成功啦!!!

上线

前提已经走过上面开发过程,env appid 等已经正常设置

1. H5

前端请单独部署,不要和后端接口使用一个站点,点此

图片.png

图片.png

SSL,请参考上面后端的进行设置 请务必配置

打包前端

图片.png

图片.png

图片.png

将两个文件上传到宝塔前端站点根目录

图片.png

访问前端网址,至此 H5 前端部署完成

小程序端

注意不要运行模式下的代码提交小程序审核, 点击 发行 -> 小程序 -> 微信

图片.png

图片.png

图片.png

常见问题

1. 部分用户接口出现 EventDispatcher not found

图片.png

这是 php 和 overtrue/wechat 某个版本才会出现的问题,导致 symfony/event-dispatcher 扩展包被移除

解决办法:

$ composer require symfony/event-dispatcher:^4.3 -vvv

2. 新添加订单,支付页提示订单不存在

请检查队列配置文件 application/extra/queue.php 的 connector 配置是否是 redis【推荐】 或者 database,如果不是(Sync), 点此

3. 拼团开团支付成功,跳转我的拼团不显示

  • 因为支付成功之后采用异步队列进行执行,可能会存在短暂延迟
    • 首先稍微等待一下,60秒之内,刷新我的拼团页面,看是否能显示出来
    • 如果长时间还是未出来,确定队列监听是否正常,配置在这里

4. 微信公众号登录提示 redirect_uri 域名与后台配置不一致

图片.png

请在微信公众号后台 开发-> 接口权限 -> 网页服务 ->网页授权 设置网页授权回调域名为后台 api 的域名,别忘了配置 ip 白名单

5. 权限不足 Permission denied

图片.png

首先检查 supervisor 守护进程执行用户是否是和 php-fpm 执行用户一直,宝塔是 www,如果不一致请修改为 www

图片.png

修改整个后端目录所属用户为 www

图片.png

6. 短信验证码无法发送

  • 请安装阿里云短信插件
  • 在阿里云申请短信模板
  • 在现有默认模板基础再增加 mobilelogin 的短信模板

图片.png

7. 个人中心等级图标不显示

参考点此

图片.png

8. 部分接口请求报错

cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)

可能错误原因:

  • 第一在本地部署的测试环境
  • 第二未配置域名SSL 证书
下载 cacert.pem 证书
https://curl.haxx.se/ca/cacert.pem

编辑当前系统php 配置文件 php.ini

[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
curl.cainfo = 刚才下载的 cacert 的放置的绝对地址/cacert.pem

重启 php-fpm,重启 nginx

如果安装中有问题可以咨询一下作者QQ3104710541,我会第一时间进行修改补充

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

Fastadmin Shopro 从零部署,搭建过程 expand collapse
PHP
Apache-2.0
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
PHP
1
https://gitee.com/jccforever/fastadmin-shopro-install.git
git@gitee.com:jccforever/fastadmin-shopro-install.git
jccforever
fastadmin-shopro-install
fastadmin-shopro-install
master

Search