安装 Chevereto 并将图床挂载到 OneDrive 上

安装 Chevereto 就不赘述了,建议使用手动安装方式,因为官方的安装方法出现问题是不会给你说问题出在哪里的,我用了手动安装才发现原来是少了 GD Library

对于 Arch 用户,由于 php8 不支援 chevereto (反正我是拿到了一个什么莫名其妙的错误),所以安装 php-fpm7

同样还需要安装 MariaDB 和一个 Http Server

我没有试过用 Caddy 能不能跑,但是理论上都差不多吧大概(本人用的是 Nginx)


挂载 OneDrive 使用的是 rclone 同时还需要安装 fuse2

链接 OneDrive 的话也不赘述了,照着官网的教程来就好了。

安装好 Chevereto 并且可以访问后,会发现其图片文件是放在 $WEBROOT/images 下,所以只要对这个目录操作就可以

本人是写了一个 rclone-mount-images.service 文件来执行挂载

[Unit]
Description=rclone mount Service
After=network.target

[Service]
Type=simple
Restart=on-failure
RestartSec=1m
ExecStart=/usr/bin/rclone mount onedrive:chevereto $WEBROOT/chevereto/images --vfs-cache-mode writes --allow-other --no-modtime --vfs-cache-max-size 20G
#ExecStop=/usr/bin/fusermount -u $WEBROOT/chevereto/images
TimeoutStopSec=10m
WorkingDirectory=$WEBROOT/chevereto
User=user
KillSignal=SIGINT

这里把 ExecStop 注释掉是因为,直接让它在前台工作就好了大概,这里需要注意的事情是,除非用 php-fpm 的用户来挂载,不然怎么样挂载点都是写不进去的,需要使用 --allow-other 选项来允许其他用户写入

而 fuse2 要求你主动将其配置文件中的 user_allow_other 注释掉,这样才可以挂载成功