教程制作不易,特收10个积分做为辛苦费用,希望大家不要介意。毕竟在原来的贴子里已经讲解过总体制作方法,有动手能力的坛友,就不需要再浪费积分了。对动手能力弱的坛友,就只能辛苦您花费一点积分了。
以下是隐藏的内容,因为你已支付,所以下面的内容可见。已购买的用户如下:yydtdb、西华、图腾-2420、aria、笛声悠扬、齐博神州、银杏114在线、海阔天空、万荀网、hxbsj88、
隐藏内容区域
1、首先保证X1系统正常运行。
2、安装Alist网盘系统
curl -fsSL "https://nn.ci/alist.sh"; | bash -s install /alist
安装命令中最后一个/alist是安装目录,可以根据自己需求安装在任何一个指定目录。如/www/wwwroot/alist
因为网盘系统更新频繁,所以可以定期输入更新命令来检查是否有更新,更新命令为:
curl -fsSL "https://nn.ci/alist.sh"; | bash -s update /alist
同样,最后的目录也是你原来的安装目录,需要和原来安装时保持一致。
安装完毕,屏幕上会出现一行密码,记得复制下来,在登陆网盘管理系统时需要用到。
进入网盘管理系统后,记得修改密码。


3、在宝塔的安全中开放5244端口,如果需要自己指定商品,请修改JSON文件来自定义端口。
JSON文件为/alist/data/config.json,当然,你的alist安装在哪个目录,自己知道就行

4、在宝塔中新建一个网站,如pan.xmssjt.com.cn,这个域名是专门用来给网盘使用,记得在公众号和小程序里把这个域名添加入业务域名
PHP版本选择纯静态

记得给这个网站添加证书,没有证书,在小程序里无法访问。
在配置文件里添加如下代码,具体添加位置可以参考图片

location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
proxy_redirect off;
proxy_pass http://127.0.0.1:5244;
# 上传的最大文件尺寸
client_max_body_size 20000m;
}
这段添加的代码是起反向代理作用,这样就让网盘系统成为一个带证书的网站,这样方便小程序使用。
5、对网盘系统进行全目录加密,防止用户查看到附件站内容。

6、开始添加网盘


各种网盘的添加方法可以查看官方教程。设置后端时,记得配置好WEBDAV帐号密码。
https://alist-doc.nn.ci/docs/intro
在官方教程中的添加帐号中可以查看到各种网盘的添加方法。
推荐使用网盘:onedrive世纪互联(支持单文件100G)、阿里云盘(支持单文件100G)、123云盘(支持单文件100G)
二级推荐网盘:天翼家庭云(不建议使用天翼云,要使用家庭云,比较稳定,非会员每日上传2G,单文件2G,黄金会员单日上传200G,单文件200G,铂金会员不限)
三级推荐网盘:百度网盘(使用CRACK接口,下载速度基本跑满带宽,但是需要IDM和ARIA2来下载),总体稳定性不够强,毕竟是CRACK接口。
7、配置X1附件盘功能
在伪静态中配置访问附件盘功能
NGINX
在伪静态第1行前面添加如下代码
if (!-d $request_filename){
set $rule_0 1$rule_0;
}
if (!-f $request_filename){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
rewrite ^/(.*)public\/uploads\/(.*)$ https://x1.f2.qibosoft.com/public/uploads/$2 redirect;
}
记得把其中目录替换成你自己需要的目录。
APACHE
把伪静态内容替换成以下内容,记得把目录改成你自己需要的目录
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)public\/uploads\/(.*)$ https://pan.xmssjt.com.cn/d/uploads/$2 [R,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
# RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</IfModule>
这里有一个重要说明:
比如你的附件目录是
https://pan.xmssjt.com.cn/uploads
那么必须在域名后加上/d/这个目录,这是个直链下载目录,只有加上这个目录,才能显示文件,不然无法显示文件,切记!切记!切记!
也就是目录就变成了https://pan.xmssjt.com.cn/d/uploads
8、安装rclone
curl https://rclone.org/install.sh ;| sudo bash
通过rclone config命令来添加网盘WEBDAV
输入rclone config后,键入n新建挂载网盘的名称,名称可以自已随便定义


输入网盘地址,这里不要输入反代后的地址,最好输入未反代前的带5244的地址,并且在后面加上/dav/
如http://nas1.xmssjt.com.cn:5244/dav/

然后输入刚才在后端设置中设置好的WEBDAV帐号密码



至此,网盘已经挂载成功。
9、添加定时迁移附件库到网盘
在宝塔计划任务中添加定时迁移任务

如果附件不多,可以10分钟同步一次,如果附件比较多,可以30分钟同步一次,甚至60分钟同步一次,根据自己需求来选择间隔同步时间。因为每次同步时,会扫描一次附件目录,如果文件太多,会占用比较多时间,所以间隔时间可以适当拉长。
迁移命令如下:
rclone move /www/wwwroot/xmssjt.com.cn/public/uploads/ webdav:/123/uploads/ --delete-empty-src-dirs -P
这里面,前面一段地址是网站附件所在目录,根据自己的网站域名和附件目录来修改
后面一段地址是网盘附件地址,根据你自定义的不同虚拟目录及对应网盘中目录来自己修改。
刚才示例中,用rclone挂载网盘时,挂载名称起的是webdav,所以这里就是webdav:
/123是刚才在alist中添加的网盘虚拟目录
/uploads是你的附件所在目录
这些目录根据你的实际状况来修改
命令中参数的大小写不能弄错,否则就无效了,路径也得注意区分大小写,LINUX对大小写是不同对待的。
10、既然有了云盘做支撑,那就不担心用户上传大文件了,所以得把系统的上传限制打开,首先在PHP中把附件上传设置为20480M,基本足够用户上传了,本文所有代码中都是按照20G来做标准,把超时时间改为半个小时,这样基本不用担心不够上传,如果半个小时都上传不了的超大文件,相信用户也没耐心继续上传了。


最重要的是修改编辑器中的文件大小限制,
修改网站下/public/static/libs/ueditor/php/config.json
这个文件中有多种文件容量大小限制,把它们全部改成2048000000


到此,附件迁移网盘工作结束,可以尽情享受云盘为你带来的愉快带宽了,即使你的服务器只有1M带宽,也可以支撑庞大的视频分享了。当然,服务器带宽太小的话,附件迁移过程中会严重拖慢服务器网速,毕竟迁移用的是实实在在的服务器上传带宽。但是牺牲一次上传带宽,换来的是后期无限的下载带宽,还是值得的。