独角数卡/dujiaoka安装搭建保姆级教程

发布时间: 2023-06-20

独角数卡

开源式站长自动化售货解决方案、高效、稳定、快速!

demo地址:http://demo.dujiaoka.com

核心贡献者:

模板贡献者:

鸣谢以上开源项目及贡献者,排名不分先后.

系统优势

采用业界流行的laravel框架,安全及稳定性提升。
支持自定义前端模板功能
支持国际化多语言包(需自行翻译)
代码全部开源,所有扩展包采用composer加载,代码所有内容可溯源!
长期技术更新支持!

写在前面

本程序有一定的上手难度(对于小白而言),需要您对linux服务器有基本的认识和操作度
且本程序不支持虚拟主机,大概率也不支持windows服务器!
如果您连宝塔、phpstudy、AppNode等一键可视化服务器面板也未曾使用或听说过,那么我大概率劝您放弃本程序!
如果您觉得部署有难度,建议仔细阅读(仔细!)宝塔视频安装篇教程,里面有保姆级的安装流程和视频教程!
认真观看部署教程我可以保证您98%可能性能部署成功!
勤动手,多思考,善研究!

使用交流

QQ群:568679748 (需付费,管理较严)
Telegram: https://t.me/dujiaoka (免费,管理相对宽松)
关注Telegram官方频道:https://t.me/dujiaoshuka (系统更新通知,bug更新,重大事件推送)

界面尝鲜

【官方unicorn模板】 

【luna模板】 

【hyper模板】

支付接口已集成

基本环境要求

  • (PHP + PHPCLI) version = 7.4
  • Nginx version >= 1.16
  • MYSQL version >= 5.6
  • Redis (高性能缓存服务)
  • Supervisor (一个python编写的进程管理服务)
  • Composer (PHP包管理器)
  • Linux (Win下未测试,建议直接Linux)

PHP环境要求

星号(*)为必须执行的要求,其他为建议内容

  • *安装fileinfo扩展
  • *安装redis扩展
  • *终端需支持php-cli,测试php -v(版本必须一致)
  • *需要开启的函数:putenvproc_openpcntl_signalpcntl_alarm
  • 安装opcache扩展

安装篇

默认后台

  • 后台路径 /admin
  • 默认管理员账号 admin
  • 默认管理员密码 admin

免责声明

独角数卡程序是免费开源的产品,仅用于学习交流使用!
不可用于任何违反中华人民共和国(含台湾省)使用者所在地区法律法规的用途。
因为作者即本人仅完成代码的开发和开源活动(开源即任何人都可以下载使用),从未参与用户的任何运营和盈利活动。
且不知晓用户后续将程序源代码用于何种用途,故用户使用过程中所带来的任何法律责任即由用户自己承担。

Thanks

Thanks JetBrains for the free open source license

License

独角数卡 DJK Inc MIT license.

linux_install

前景概要

正式上线后一定要将.env配置里面的APP_DEBUG设置为false
正式上线后一定要将.env配置里面的APP_DEBUG设置为false
正式上线后一定要将.env配置里面的APP_DEBUG设置为false

请根据自己的linux发行版本替换命令。
本教程默认你已经掌握linux基本知识和操作。
本教程默认你已经安装好了所有基本环境要求

下载代码

  1. 下载项目代码 使用git下载:
yum install git

git clone https://github.com/assimon/dujiaoka.git
  1. 如不使用git下载,也可以下载代码发行包手动上传至网站目录

发行版本下载:https://github.com/assimon/dujiaoka/releases.

确认php-cli环境

在终端下执行命令:

php -v

正确返回类似以下:

PHP 7.3.16-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Mar 20 2020 13:51:21) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.16, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.16-1+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
    with Xdebug v2.9.3, Copyright (c) 2002-2020, by Derick Rethans

确保你的终端环境支持php-cli

确保你的php环境没有禁用以下函数:

putenv
proc_open
pcntl_signal
pcntl_alarm

否则会导致composer或php artisan命令无法正确执行!

修改项目配置文件

在网站根目录下执行: 修改为你自己的配置信息

vi .env

wq保存

请确保.env里面的配置能够正确连接上mysql和redis

安装composer依赖

根目录下执行:

composer install

配置Nginx伪静态

location / {  
    try_files $uri $uri/ /index.php$is_args$query_string;  
}  

设置网站运行目录为/public,根据自身实际目录配置

    root /www/wwwroot/dujiaoka/public;

配置Supervisor

参考资料:使用 Supervisor 管理 Laravel 队列进程.

docker_install

此方式为第三方贡献者提供

@JiangJuHong提供

- Docker Compose 安装: ``docker-compose -f docker-compose.yml up -d web``
- Docker Run 安装: ``docker run -dit --name dujiaoka -p 80:80 -p 9000:9000 -e WEB_DOCUMENT_ROOT=/app/public jiangjuhong/dujiaoka``

2.x_bt_install

前景概要

⚠️正式上线后一定要将.env配置里面的APP_DEBUG设置为false⚠️
⚠️正式上线后一定要将.env配置里面的APP_DEBUG设置为false⚠️
⚠️正式上线后一定要将.env配置里面的APP_DEBUG设置为false⚠️

首先: 你需要一台内存512M或以上为最佳的vps或云服务器
其次 你的服务器操作系统要为 linux 内核,我可不管你是什么centos党还是ubuntu

什么? 没有? 那请点击浏览器右上角的X号!

宝塔安装

直接自己去看吧: bt.cn.
如果宝塔都不会玩我建议你放弃~

必装环境

接下来我们安装一下下图六个软件:

最好是编译安装哦,性能更好。
?由于在之前版本很多同学不会使用supervisor,所以2.0.+版本我们会采用较为简单的堡塔应用管理器来实现守护进程。

PHP环境确认

一、 接下来我们按照步骤删除一下php的禁用函数

(ps:宝塔默认会禁用一些php的函数,导致artisan命令无法正确运行)

点击【软件商店】->【PHP设置】->【禁用函数列表】 将以下函数删除!!
putenvproc_openpcntl_signalpcntl_alarm

二、 我们再装一下必要的两个扩展

点击【软件商店】->【PHP设置】->【安装扩展】
安装以下三个扩展:
fileinforedisphpzip(如果你想正常使用导出功能得话)opcache(可选安装,性能加强)

新建一个网站

一、在宝塔里新建一个网站用于运行本项目

二、上传我们的项目代码

请选择xxx_build.tar.gz压缩包。
⚠️一定要选择带build字样的包,才有依赖!
独角数卡发行版本下载地址:独角数卡各发行版本

三、设置项目伪静态和运行目录

解压项目代码后,我们点击网站的设置
设置运行目录: 

 设置伪静态:

开始安装

一、访问你的网站域名,进入安装流程

二、按实际情况填写网站配置信息

配置守护进程

注意,很多人嫌麻烦不配置这一步,那你出了问题别哔哔!⚠ ⚠ ⚠
注意,很多人嫌麻烦不配置这一步,那你出了问题别哔哔!⚠ ⚠ ⚠
注意,很多人嫌麻烦不配置这一步,那你出了问题别哔哔!⚠ ⚠ ⚠

堡塔应用管理器是我们用来管理laravel队列进程的工具。

很多同学喜欢问可不可以不执行这一步。

现在我明确的告诉你,不可以!请按照教程来,不然可以选择不使用。?‍♀️

没有它的话你的程序执行会异常!

如果不喜欢使用堡塔应用管理器,那么使用1.x版本supervisor也是可以的,两个必须选一个! 必选题!

一、堡塔应用管理器配置教程

进入宝塔控制面板: 步骤:【软件商店】->【堡塔应用管理器设置】->【添加应用】 如图: 

名称:随意,如dujiao
应用环境: 选择php7.4
启动文件: 网站根目录 + /artisan
执行目录: 网站根目录
启动参数: queue:work

保存即可!

如果遇到没有自己的php版本怎么办?或者系统有多个php版本,但是应用环境没有自己想要的那个php版本怎么办?

请看下一步新增应用环境

新增应用环境

环境名称可以随便填。

启动文件一般是 /www/server/php/72/bin/php

⚠️注意哦,我这里是72就是php7.2,你可能是73或者74。按照自己来,我这里只是举例!

二、supervisor配置教程

步骤:【软件商店】->【Supervisor设置】->【添加守护进程】 如图: 

命令参考:

/www/server/php/74/bin/php /www/wwwroot/dujiaoka/artisan queue:work

名称:随意填写
启动用户:选择www
运行目录:选择程序根目录
启动命令:/www/server/php/你的php版本/bin/php /www/wwwroot/你的网站根目录/artisan queue:work

请注意你自己的php版本和网站根目录。不要瞎抄照着我的写? 注意命令之间的空格。

1.x_bt_install

前景概要

正式上线后一定要将.env配置里面的APP_DEBUG设置为false
正式上线后一定要将.env配置里面的APP_DEBUG设置为false
正式上线后一定要将.env配置里面的APP_DEBUG设置为false
接下来又到了最无脑的宝塔安装时间!
准备好了奥,奥利给!

首先: 你需要一台内存512M或以上为最佳的vps或云服务器
其次 你的服务器操作系统要为 linux 内核,我可不管你是什么centos党还是ubuntu

什么? 没有? 那请点击浏览器右上角的X号!

视频教程(强烈建议食用)

搭配观看

链接:https://pan.baidu.com/s/1ivPgtkVWK2CFaPvuZnp15g 
提取码:9h9e

编辑项目配置并导入SQL

一、进入网站根目录,将.env.example重命名为 .env

二、编辑.env文件设置数据库连接信息

# 数据库配置
DB_CONNECTION=mysql
DB_HOST=数据库地址
DB_PORT=数据库端口
DB_DATABASE=数据库
DB_USERNAME=数据库登录用户
DB_PASSWORD=数据库密码

其他一些项目的名称发信服务也可以一并修改!
不认识的、不知道干什么的配置不要瞎改!!

三、导入sql文件

进入服务器终端,cd 到你的项目根目录,执行以下命令导入sql:

/www/server/php/72/bin/php artisan dujiao install

(我这里是php7.2,目录就是php72,根据自己实际来)
执行完成以后你就可以访问一下你的域名,看网站是否能跟正常访问!

配置Supervisor

Supervisor是我们用来管理laravel队列进程的工具。
没有它的话你的程序执行会异常!!!

进入宝塔控制面板: 步骤:【软件商店】->【Supervisor设置】->【添加守护进程】 如图: supervisor配置.png

名称:随意,如dujiao
启动用户: 选择www
运行目录: 一般选网站根目录
启动文件: /www/server/php/你php版本/bin/php (我这里是php7.2,目录就是php72,根据自己实际来)
启动参数: 网站根目录 + /artisan queue:work

保存即可!

教程结束

problems

导航

PHP终端环境对应不上

服务器终端下执行以下命令将宝塔php版本设置为系统php-cli版本

ln -sf /www/server/php/74/bin/php /usr/bin/php

根据自己宝塔安装的php版本执行,不要照抄,这里是/php/74,你如果是php7.2的话就是/php/72

后台管理密码忘记了

服务器终端下cd 网站根目录, 执行以下命令重置管理员密码:

php artisan admin:reset-password

邮件服务

注意,2.0+版本直接在后台设置即可,无需编辑.env文件了
编辑根目录下.env配置,配置邮件服务

# 邮件服务配置
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_FROM_ADDRESS=server@emails.dujiaoka.com
MAIL_FROM_NAME=独角发卡
MAIL_ENCRYPTION=tls

如果不能发送邮件,就请尝试更换一下端口:587 465 22,挨个试试!
MAIL_ENCRYPTION设置为ssl或者tls

记得改了邮件配置一定要去重启一下Supervisor堡塔应用管理器的进程服务,否则不会生效!

修改后台登录地址

编辑项目根目录下.env里面的 ADMIN_ROUTE_PREFIX即可

易支付配置

市面上98%易支付都是彩虹的程序,独角数卡已经集成通用支付方式,但是由于请求支付地址不一样
需要大家手动去改一下你使用的易支付的支付请求地址:
网站根目录下app\Http\Controllers\Pay\YipayController.php11行代码
这里注意啊!!!很多人直接填写得易支付得url。其实一般都需要在url后面加/submit.php
例如完整url就是http://xxx.com/submit.php
具体可以参考每家易支付得支付文档【发起支付请求那个地方】

下面是例子代码:

 // 这里自己配置请求网关
    const PAY_URI = 'http://xxx.com/submit.php';

注意:

1.8.2版本起,无需再修改代码文件方式,直接将易支付请求地址填入`商户key`即可

HTTPS-ERROR

强制开启https访问后,后台会报错
The GET method is not supported for this route. Supported methods: POST
解决方法是将.env文件配置里面得ADMIN_HTTPS设置为ADMIN_HTTPS=true

更换模板

后台-系统设置-模板。 目前独角数卡提供以下模板:

layui   官方模板
luna    由github @Julyssn用户贡献
hyper   有github @bimoe用户贡献

各支付对应配置

支付选项 商户id 商户key 商户密钥 备注
Epusdt api接口认证token epusdt收银台地址+/api/v1/order/create-transaction 如果独角数卡和epusdt在同一服务器则填写127.0.0.1不要填域名,例如http://127.0.0.1:8000/api/v1/order/create-transaction
支付宝官方(当面付、PC、wap) 支付宝开放平台应用appid 支付宝公钥 商户私钥  
payjs payjs商户号(mchid) payjs密钥  
码支付 平台商户号 码支付请求网址 密钥 市面上太多码支付了,直接将支付接口网址填入商户key就行。只要加密方式一样的就能发起支付,不行就不行了。懒得一家一家对接了
微信官方 公众号或小程序appid 商户号 商户api密钥  
麻瓜宝 商户密钥 任意字符串  
paysapi 商户号 密钥  
易支付 易支付 易支付请求网址 密钥 记得网址后面加/submit.php,不然请求没有作用!例如http://xxx.com/submit.php
V免签 V免签通讯密钥 V免签地址  
Paypal 商家账号,一般是邮箱 应用Client ID Secret  

小九支付:https://www.kancloud.cn/qiyuemazhifu/xiaojiu/3160587

后台登录出现0err

出现这个问题大概率是开启了nginx的https或者强制https访问,导致请求接口出错。
牢记一个原则,只要开启了https访问,那么后台也要开启https!
解决这个问题的方法,就是编辑网站根目录.env文件。
配置如下选项(如果没有就新增):????

ADMIN_HTTPS=true

上传了图片不显示或图片显示错误

编辑根目录下.env文件,
将APP_URL修改为自己的域名

后台操作提交出现500错误

点击后台导入保存更新操作按钮的时候,提示500错误!
这种情况多半是被宝塔防火墙或者cdn防火墙拦截了。
请检查一下相应的拦截日志,并放行后台路径!

update

小版本更新

如若版本未作任何需要工具更新得说明或没有数据库表结构得更新,那么直接全量覆盖源代码即可。
建议的方式:保留.env文件,然后全量覆盖,然后替换原.env文件。
做任何操作之前请备份好原数据,养成一个好的习惯可以避免很多损失!!

1.8.2更新2.x版本教程

一、安装2.x

如果你当前使用的是1.8.2版本,想迁移至2.x版本。
首先第一步去安装最新的2.x版本系统。
记得新建一个网站和数据库安装2.x版本,安装完成以后不要在2.x版本做任何新增删除操作,以免迁移失败!!

2.x版本宝塔安装教程

⚠注意,做任何相关数据库变更先备份!养成一个良好的习惯!

二、下载独角数卡工具箱

然后将编译好的独角数卡工具箱下载至你的服务器。
https://github.com/assimon/dujiaoka-tools/releases

我这里以我的centos服务器系统举例,请下载对应自己操作系统的发行版本。
一般的linux服务器按照我的操作来即可!

shell命令参考(不要复制#号及后面的内容):

cd /tmp  # 1.进入临时目录wget https://github.com/assimon/dujiaoka-tools/releases/download/v1.0.0/dujiaoka-tools_v1.0.0_build_Linux_x86_64.tar.gz # 2.下载工具压缩包tar -xvzf dujiaoka-tools_v1.0.0_build_Linux_x86_64.tar.gz # 3.解压工具包chmod +x dujiaoka-tools # 4.给予执行权限mkdir -p conf && cd conf && touch config.ini # 5.同级目录下新建conf/config.ini文件

将以下配置信息保存至config.ini文件。

# 这里配置1.x版本的独角数卡数据库信息[migrate_old_db]host = 127.0.0.1port = 3306user = rootpassword = rootdatabase = dujiao_old # 这里配置2.x版本的独角数卡数据库信息[migrate_new_db]host = 127.0.0.1port = 3306user = rootpassword = rootdatabase = dujiaoka_2

三、执行迁移数据库命令

核对配置文件没有问题以后,使用以下命令执行数据库迁移:

./dujiaoka-tools mvtt

四、迁移图片

将老版本根目录下/public/uploads目录拷贝至新版本根目录下/public/uploads即可。
注意只需要拷贝uploads目录过去覆盖即可!!两个版本的图片资源目录是一样的。

四、值得注意的点

本次数据迁移仅支持订单,商品,卡密,优惠券,分类, 不会迁移你的系统配置和支付方式,需要自己自行配置一次即可。 如果你的系统版本过于古老或进行了大量二次开发,数据结构早已变动会导致迁移失败这是很正常的事情,毕竟我不是神无法兼容每个人的系统。
但是只要是未经二次开发的原版是99%都能成功的。
如果你尝试多次迁移失败或对linux毫无熟知度,那么我建议你还是全新安装,时间成本最重要,朋友!

独角数卡安装教程,独角数卡支付配置,独角数卡源码,独角数卡教程,独角数卡支付配置,独角数卡搭建,独角数卡对接,独角兽数卡,独角数卡对接v免签,独角数卡对接易支付

请在下方留下您的评论.加入TG吹水群