首先说下我的需求和大概思路,我需要一个能共享图片的展示系统,不需要什么复杂功能,只要能通过网站展示我想分享的图片,然后别人不用登陆就能看到,也可以设置登陆才能见到。另外就是可以通过网站部署,然后由于我的vps硬盘小,所以必须要挂存储桶来存储照片。我也在论坛发贴咨询过(https://www.nodeloc.com/d/28061),但一直没人回复,所以只好自己摸索着弄下。
主要实施步骤如下:宝塔里面安装pichome——在VPS里面安装alist——通过alist挂载网盘[color=red](挂载的名称改为拼音)[/color]——设置好alist的webdav——在vps里安装rclone——用rclone挂载alist的webdav——宝塔文件管理里面home文件夹下建一个需挂载的文件夹(示例用tianyiyun)——安装进程守护管理器——在进程守护管理器里设置启动命令,守护rclone挂载的程序到本地文件夹(tianyiyun)——最后就是在pichome里面设置本地存储为rclone挂载的本地文件夹(tianyiyun)。[size=22][color=red]这里注意下宝塔安装pichome要设置文件夹权限为root,挂载到本地的那个文件夹也要设置为root,不然进pichome后台的本地存储库的时候 是看不到那个本地文件夹的[/color][/size]。有人可能会说可以直接用rclone挂载网盘就行,没必要整alist的webdav,我只是为了方便管理一点。
具体实施步骤如下:
[color=red]宝塔里面安装pichome[/color]
其实这个没啥好说的,直接就是在宝塔设置好域名,数据库,然后把程序上传到这个域名所在的文件夹,设置好文件夹权限root,安装就好了,具体的可以看pichome的官方文档。
[color=red]在VPS里面安装alist[/color]
这个也没啥好说的,网上教程大把,只是记得开启用户的webdav权限,挂载好网盘,网盘里面可以设置好要存储图片的层级
[color=red]在vps里安装rclone[/color]
rclone一般可以在vps里面一键安装的,安装代码是
</s>curl https://rclone.org/install.sh | sudo bash<e>
1、安装好后,输入rclone config进行配置
2、输入字母 n,来新增一个云存储
</s>e) Edit existing remote<br/> n) New remote<br/> d) Delete remote<br/> r) Rename remote<br/> c) Copy remote<br/> s) Set configuration password<br/> q) Quit config<br/> e/n/d/r/c/s/q><e>
3.给云存储起个名字 (后续用命令行操作时会用到)
</s>Enter name for new remote.<br/> name> tianyiyun<e>
4.接着会出现支持的云存储列表,输入 56 来选择 webdav (以实际显示的顺序为准)
5、然后会出现要输入webdav的地址:https://你的域名/dav/挂载的网盘名拼音/需要显示在图库里的文件夹名(我截图表示的就是挂载的天翼云盘,要显示出share文件夹里的内容)
6、回车会问你webdav的服务提供商,我们选7,其他(以实际显示的顺序为准)!
7、然后需要输入webdav的用户名,这个就是你登陆alist的用户名,回车后会问你密码是自己有密码还是随机生成密码,我们选y,用自己的密码就是alist的登陆密码,会要输入两次
8、出现 bearer_token> 直接回车出现 Edit advanced config?输入N,然后会让你确认配置信息,没问题就输入y,会跳到开头的挂载清单,再输入q,就完成了rclone对alist webdav的挂载。
[color=red]宝塔安装进程守护管理器,守护rclone挂载的程序到本地文件夹(tianyiyun)[/color]
在宝塔文件管理home文件夹下建一个文件夹(示例是tianyiyun),设置root权限,宝塔软件商店里搜进程守护管理器,然后进设置,启动命令如下:
</s>rclone mount tianyiyun:/ /home/tianyiyun --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --vfs-cache-mode writes<e>
如果没什么问题,会显示启动成功。这时候你可以去宝塔文件管理的tianyiyun文件夹看看有没有挂载成功,有没显示存在云盘里的文件出来。如果没有那说明rclone没挂载成功或守护命令没运行成功。可以进vps看下,如果提示"Fatal error: failed to mount FUSE fs"类似错误,可以安装下fuse,或重启下vps,再重新挂载。
[color=red]最后就是在pichome里面设置本地存储为rclone挂载的本地文件夹(tianyiyun)[/color]
进入pichome后台,库管理——新建普通目录——快捷路径——选中home文件夹——tianyiyun文件夹——share文件夹
这样就在pichome里面建了一个显示你网盘里面share文件夹内容的库了。
[/reply]
[color=blue][size=22]后话:其实支持自定义本地文件夹为存储路径的程序,都可以通过这种方式进行存储桶的自定义,比如cloudreve,但你说你有S3,有腾讯或阿里、七牛的oss的存储桶,那你就没必要看这篇文章了:huaji08:[/size][/color]