适用人群
这篇教程专治以下症状:

ShopNC建站实战,新手三天搞定多商家商城,不废话全流程
- 你想做个类似京东、天猫的多商家入驻平台,但预算不够请程序员。
- 你是个刚接触CMS的站长,听说过ShopNC但不知道怎么下手。
- 你懂一点PHP环境搭建,但每次装系统都卡在白屏、404、数据库错误这些阴间问题上。
- 你是个电商运营,老板让你明天上线一个招商平台,你连虚拟主机都不熟。
前提条件:你会用鼠标右键解压文件,认识浏览器地址栏,并且能分清楚“上传”和“下载”的区别,如果你连宝塔面板都没听过,没关系,我保证每一步都像教老人用智能手机一样细。
完整搭建步骤(跟着做,不许跳步)
第一步:准备服务器环境
我强烈建议用Linux服务器 + 宝塔面板,省心到像用遥控器,如果你是Windows服务器,也勉强能跑,但后面踩坑别怪我。
- PHP版本:选PHP 7.2或7.3,不要选7.4以上!不要选5.6以下!ShopNC对PHP 8.0兼容性很差,装完直接500错误,神仙也救不了。
- MySQL版本:5.6或5.7,别用8.0,有些老函数会报错。
- Web服务器:Nginx或Apache都行,推荐Nginx,伪静态规则更友好。
动手:在宝塔面板点击“软件商店”,安装以上三个,安装完记得在“PHP管理”里把putenv、proc_open这些函数禁用列表里删掉(否则安装时可能报函数禁用)。
第二步:下载ShopNC源码
去ShopNC官网或者GitHub找B2B2C多商家版,注意不要下到单商户版,下载完是一个zip包,大小大概30-40MB。
第三步:上传并解压
在宝塔面板左侧点击“文件”,进入网站根目录(比如/www/wwwroot/你的域名),把zip包拖进去,然后右键解压,解压后你会看到一堆文件夹,比如application、data、runtime等,别动它们。
第四步:设置目录权限(重要!不然后台白屏)
选中下面这几个目录,右键“权限”,设置为 755,所有者选www(宝塔默认用户):
runtimeuploadsdatacache
曾经有个新手跳过这步,结果后台页面一直转菊花,折腾了两天最后发现是没给写权限。你不想熬夜的话,就老老实实设权限。
第五步:创建数据库
宝塔面板左侧“数据库”,点击“添加数据库”,数据库名随便起,比如shopnc,字符集选utf8mb4,密码用系统生成的长密码(复制下来)。重要:记住数据库名、用户名、密码,待会要用。
第六步:开始安装
浏览器访问你的域名(比如http://你的域名),会自动跳转到安装页面,类似install/index.php,如果没跳转,手动输入。
- 环境检测:绿色勾全部通过再继续,如果看到红色叉,根据提示去宝塔里装缺失的扩展(比如
curl、gd、pdo等)。 - 数据库设置:填写刚才创建的数据库名、用户名、密码。表前缀保持默认
nc_,不要手贱改它,以后迁移会想哭。 - 管理员账号:设一个强密码,邮箱最好用真实有效的,因为找回密码要用。
- 点击“安装”,等进度条跑完,大概30秒到1分钟。
安装成功后,会自动进入后台,默认后台地址是你的域名/admin。
第七步:后台基础配置
一进后台,先干三件事:
- 站点设置:网站名称、关键词、描述填好,LOGO和ICO图标上传。
- 邮件设置:用QQ邮箱或163邮箱的SMTP服务,QQ邮箱需要开启“授权码”,去QQ邮箱设置里找,填好后点测试发送,务必收到测试邮件再往下走。很多新手的验证码发不出去,就是卡在这里。
- 伪静态配置:进入“系统设置→SEO设置”,开启伪静态,然后去宝塔面板的网站设置里,找到“伪静态”,选择ShopNC的规则(宝塔自带模板),或者手动粘贴以下Nginx规则(就这几行,别怕):
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
}
}
保存后访问前台,看看商品页URL是否变成/category/123.html这种格式,如果还是?cate_id=123,说明伪静态没生效,检查规则是否放错位置。
第八步:配置支付和物流
- 支付接口:微信支付和支付宝都需要商户号、AppID、密钥等,如果你暂时没有,可以先用“货到付款”或“银行转账”顶替,申请接口时注意回调域名填写你的网站域名。
- 物流:在“物流配送”里添加快递公司,启用默认的运费模板。
- 地区:导入全国地区数据(后台有导入功能,一键搞定)。
第九步:创建商家入驻流程
后台“店铺管理→入驻管理”,设置入驻协议、入驻费用等,然后前台注册会员后,点击“商家入驻”申请,你可以测试一下流程,确保审核通过后商家能正常发布商品。
配置要点(不看你可能会重装三遍)
- PHP版本必须匹配:ShopNC v6.0及以上推荐PHP 7.2-7.3,不支持PHP 8.0,如果你已经装了PHP 8.0,降级重装吧,别挣扎。
- HTTPS必须弄:如果你打算上SSL证书(强烈建议),先在宝塔申请免费Let's Encrypt证书,然后在“系统设置→接口安全”里把强制HTTPS打开。否则微信支付回调会报域名不匹配。
- 上传文件大小限制:后台默认上传2MB,卖家具的大图根本传不上去,去宝塔PHP管理里修改
upload_max_filesize和post_max_size为20M或更大,同时修改max_execution_time为300秒。 - 缓存机制:ShopNC自带文件缓存,如果后台修改了设置前台不生效,去“工具→缓存管理”清空所有缓存,别再傻乎乎地去搜“为什么改完不变了”。
- 防盗链:如果图片被其他网站盗用,可以在Nginx里加上防盗链规则,但这属于进阶内容,新手先不用管。
常见踩坑提醒(血泪史)
- 安装时数据库连接失败:90%的原因是数据库密码填错了,或者数据库没创建,去宝塔数据库列表里确认存在。
- 安装后首页404:伪静态规则没启用,或者Nginx配置文件里没包含
index.php,在宝塔网站设置的“默认文档”里加上index.php。 - 后台验证码不显示:PHP GD库没装,去宝塔PHP管理里把
gd扩展装上,然后重启PHP。 - 上传商品图片时提示“非法图片”:是因为ShopNC做了图片安全检测,某些压缩过的图片会被拦截,解决方法:去
application/common.php里找图片检测函数,把getimagesize相关的代码注释掉(不推荐新手改代码,可以先换一张图片试试)。 - 商家入驻后前台搜索不到商品:检查后台“商品管理”是否开启了“商品上架审核”,如果开启,管理员需要手动审核商品,重启一下定时任务脚本(后台有“计划任务”功能,设置每5分钟执行一次)。
- 访问后台时出现“令牌错误”:这是CSRF防护机制,通常是因为你开了多个后台窗口,或者长时间不操作,刷新页面即可,或者清空浏览器缓存。
收尾
跟着这十几个步骤走下来,你的ShopNC多商家商城应该已经能跑起来了,别急着上线,先从后台添加一个测试商家、发布一件商品、走一遍下单流程,确认支付、物流、订单状态都正常,我见过太多人装完就扔着,结果一周后发现用户注册不了——因为SMTP没配置。
如果你在过程中遇到任何“白色屏幕”或“Fatal error”,先看错误提示,再检查PHP版本、目录权限、数据库连接,80%的问题逃不出这三个原因。
好了,动手吧,三天之内,把它跑通,然后去跟老板说:“商城好了,你招商家吧。”
发表评论