前言

GitHub上发卡平台项目独角数卡https://github.com/assimon/dujiaoka

PHP应为7.4 其他的可能会报错

用了宝塔海外版aaPanel,不需要注册,干净许多。

安装环境

aaPanel官网: https://www.aapanel.com/

安装aaPanel:

wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh aapanel

最终会返回面板的登录地址和账号密码:

aaPanel Internet Address: https://xx.xx.xx.xx:7800/ead667fd
aaPanel Internal Address: https://xx.xx.xx.xx:7800/ead667fd
username: fshffdsa
password: 453rhg6d

安装环境

登录面板后,弹出默认安装的内容,选择如图即可:

  • Nginx v1.21
  • MySQL v5.6 (5.7及以上版本需要至少2G内存)
  • PHP v7.4 (独角数卡GitHub页面指定的版本为7.4,为了兼容Laravel不要使用较高版本)
  • phpMyAdmin v5.0
  • 选择Compile编译的方式安装(Fast是包管理器安装也是可以的而且更快,但是我更倾向于编译安装,稳定性更佳)

此外还需要在App Store中安装:

  • Supervisor

PHP解禁函数&安装拓展

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

在App Store中找到PHP-7.4,点击Setting,左侧Disabled functions
将以下函数删除:

  • putenv
  • proc_open
  • pcntl_signal
  • pcntl_alarm

接下来在左侧选择Install extensions,安装以下三个扩展:

  • fileinfo
  • redis
  • opcache

建立网站

下载项目代码

打开项目Releases:https://github.com/assimon/dujiaoka/releases

复制最新的包的url

在服务器上下载,解压,改名,提权

wget https://github.com/assimon/dujiaoka/releases/download/2.0.6/2.0.6-antibody.tar.gz
tar -xvf 2.0.6-antibody.tar.gz
mv dujiaoka/ shop.j000e.co #我个人需要,可以不改名
chattr -i /home/wwwroot/shop.j000e.co/public/.user.ini
chown -R www /home/wwwroot/shop.j000e.co/

新建网站

在Website中Add site

注意Website Path是刚才解压出来的绝对路径;数据库在此会新建,后面会用来对接,最下面的两个SSL选项我这里没勾选因为我需要用自己的SSL证书,如果你没有SSL证书但是需要https,那么都勾选上即可,aaPanel会去申请Let’s Encrypt的证书。

点Submit保存

新建后点域名进入配置菜单

自定义SSL证书

进入SSL,Other certificate,填入SSL证书的KEY和PEM并Save即可,成功的话会出现绿色的Succesfully deployed字样,同时可以开启右上角的Force HTTPS,如果是CloudFlare颁发的证书,注意要将SSL/TLS模式调整为完全(严格),否则会出现本地媒体文件不走https导致小锁上有叹号。

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

进入Site directory

检查Site directory是否是前面解压的网站绝对路径

将Running directory选择为/public

如果下拉栏里没有/public选项,可以先把上面Site directory后面加上/public,Save,再该回去,Save,Running directory会出现/public的选项

进入URL rewrite

选择laravel5并保存

网站安装

这时可以打开网站了,填好信息即可

报错”419 No Reason Phrase“或“0 err”

编辑网站根目录的.env文件,配置如下选项(如果没有就新增):

vi .env
ADMIN_HTTPS=true

Supervisor配置

Run User为www

Run Dir为网站路径

Start Command为如下,注意中间的空格后面的路径对应自己的网站路径

/www/server/php/74/bin/php /home/wwwroot/fk.skygv.com/artisan queue:work

邮件配置

本来是想用宝塔邮局做个自己域名的邮件系统的,但是阿里云25口无法解封导致宝塔邮局无法工作,所以换成了Outlook,而且用Outlook有个好处就是发邮件没有自建邮件系统那么容易进垃圾箱。

注册了一个新的Outlook邮箱或者在已有Outlook邮箱设置中新建一个别名(无所谓outlook,gmail,163还是什么邮箱,支持SMTP就行)

在微软账户设置-Security中新建一个App Password,不能直接用微软账号密码是因为那样会有验证码的环节,而App Password像一个绿色通道,不需要验证码就可以使用SMTP等服务

根据微软给出的SMTP配置填写独角数卡的系统设置中的邮件服务

Server name: smtp.office365.com
Port: 587
Encryption method: STARTTLS

注意:协议要写TLS而不是STARTTLS,否则会报错:

Connection could not be established with host smtp.office365.com :stream_socket_client(): unable to connect to starttls://smtp.office365.com:587 (Unable to find the socket transport “starttls” – did you forget to enable it when you configured PHP?)

原因是在swiftmailer中,TLS是STARTTLS,SSL是TLS。

参考:

How do I use STARTTLS with swiftmailer in php?

给服务器开587的TCP口

测试一下,填写个收件地址,能收到即可。

让邮箱转发所有邮件

隐藏脚注 Powered by @独角数卡

编辑resources/views/unicorn/layouts/_footer.blade.php 将脚注内容删除或注释起来,如:

<!--Powered by:<a href="http://dujiaoka.com">@独角数卡</a>-->

优化页面速度

商品图片可以统一使用webp格式并尽量压缩控制在个位数KB水平。

Cloudflare新建规则启用缓存相关设置和Rocket Loader等工具。

自定义图标,favicon,背景图

在系统设置-站点模板中,可以看到独角数卡有三种主题可选,分别是默认的unicorn, Luna和hyper。

这里以Luna举例,其他主题同理。

luna背景图:/www/wwwroot/fk.skygv.com/public/assets/luna/img/background.png

luna和hyper的网站图标(favicon) 32X32:/www/wwwroot/fk.skygv.com/public/assets/style/favicon.ico

默认unicorn的网站图标(favicon) 32X32:/www/wwwroot/fk.skygv.com/public/favicon.ico

默认商品图片 512×512(网站 LOGO 共享此图,与后台自定义 LOGO 和商品图片不冲突): /www/wwwroot/fk.skygv.com/public/assets/common/images/default.jpg

作者 skygv

让天下没有难做的教程

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注