年轻人的第一款自建网盘 —— Alist

前言

最近白嫖了微软的 E5 账号,想着放着这 5T 的账号要做点啥,刚好最近刷机,太多东西需要备份了,而有部分应用支持 WebDav 备份,国内最大 WebDav 网盘当属坚果云,本来想照旧继续部署在坚果云上,突然意识到自己的服务器不能闲着,于是便开始寻找了相关的程序部署在服务器上,能够当一个云盘挂载 OneDrive,又支持 WebDav,岂不美哉

终于在不懈努力下,找到了符合要求的,让我最心仪的网盘程序:Alist

Alist

于是这篇部署的文章便诞生了

Alist 介绍

这是官方的演示网站

官方的英文介绍

介绍

多种存储并非浪得虚名,基本主流的网盘都支持了,甚至蓝奏云

支持的存储

经过上面的演示,优点自然就出来了

1、支持多存储

2、简单易部署

3、支持 WebDav

4、文件预览格式支持众多

部署在宝塔面板

配置

这里只简单介绍在宝塔面板上的部署,如需更多平台上的部署,请参见官方文档

好了,下面正式开始进入部署环节

首先当然是进行一个网站的创建,记得先去解析域名(如果你也是二级域名的话)

创建网站

FTP 自主选择是否创建,数据库不需要创建,PHP 版本选择纯静态

接下来是强制 HTTPS 了,养成一个创建网站就开启的好习惯

然后访问 Alist 的 Github 仓库,找到相对应的版本进行下载,这里我的服务器是 x86 架构的,所以我下载 alist-linux-amd64.tar.gz

如果你不知道你服务器是 x86 架构还是 arm 架构的,可以输入下面的命令查询

1
uname -m

然后就是把下载下来的文件上传到服务器站点目录下解压了

解压后的文件

现在其实就可以运行了,但防止被杀进程,还需要守护进程

宝塔面板软件商店找到 Supervisor 管理器 (忽略 Halo 的守护进程)

Supervisor 管理器

点击添加守护进程,运行目录选择站点目录,启动命令输入:

1
nohup ./alist-linux-amd64 > log.log 2>&1 &

添加守护进程

如果进程已启动就成功了,接下来就是配置反向代理了

反向代理

根据文档中的提示,删除站点配置文件内的默认配置,然后添加以下字段:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
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;
}

配置文件

保存配置即可通过域名访问 Alist

Alist

进入后台需要获取密码,密码需要通过宝塔终端获得,在终端输入:

1
2
cd /www/wwwroot/pan // 替换成你的站点目录
./alist-linux-amd64 -password

获取到的密码直接输入就可以进入后台界面了

后台界面

配置可修改的还是挺多的,具体可参考文档,这里记得修改一下后台的密码

添加账号

这里进行一个 OneDrive 的挂载,其他网盘具体参见文档

点击左边的账号,添加,选择 Onedrive

添加账号

首先打开这个链接,选择相应的区域,国际版选择 global,国内世纪互联选择 cn,点击创建应用

跳转到 Azure,用管理员账号登录,点击新注册

应用注册

名称随便写,受支持的账户类型选第三个,重定向选 Web,输入链接:https://tool.nn.ci/onedrive/callback

注册应用程序

注册应用后进入应用,点击 API 权限,选择添加权限 -> Microsoft Graph -> 委托的权限 -> 搜索 file -> 添加如图两个权限

添加权限

点击添加权限,记得再点击代表 xxx 授予管理员同意

接下来点击左侧的证书和密码,新建客户端密码,说明随便填,期限选两年,创建完复制值(只会出现一次,非机密 ID)

回到刚刚的获取刷新令牌界面,将值粘贴到 client_cecret,然后把应用程序(客户端)ID 复制粘贴到 client_id(在左边的概述里面),最后点击刷新令牌即可

如果需要挂载 Sharepoint,完成上一步在弹出的界面会出现一个输入站点的地址,输入站点后点击获取 site_id 即可

将获取的值填入后台即可

填入获取的值

现在就全部完成了,可以开始用了

总结

挂载走的是网盘,不走服务器的,所以可以不用担心流量问题了,目前刚刚开始使用 Alist,体验良好,而且手机 ftp 也可以进行连接,传东西更方便了,到时候把阿里云盘,百度云,蓝奏云一起挂上去,直接实现了一个网盘挂载多个网盘的效果