封面 《はつゆきさくら》
效果
前言
因为在逛友链的时候看到别人搭建的 alist 网盘可以统一管理好多网盘,想到了自己也有好多网盘需要统一管理一下。同时由于我平时的参考文献都放在了 OneDrive 上,但是 ipad 上的 OneDrive 刷新速度实在是太慢了,甚至我主动刷新都没法获取我最新下载的论文,所以就想着把 OneDrive 也放到 Alist 上面去。同时我还想把我的网盘加上我自己的 pan 子域名,但是 vercel 无法挂 Alist,我自己的阿里云又没有备案没法挂域名,render 又被拿去挂监控了,想来想去还剩下一个 azure 的学生优惠可以用。于是就有了这篇文章。
Azure 准备
首先你需要一个 azure 的学生账号,这个可以去这里申请,申请完之后你会得到一个 azure 的学生账号,这个账号有 100 美元的额度,可以用来搭建一些小型的服务。然后你需要一个域名,这个域名可以去这里申请,在这可以看到你的优惠余额。选择一台虚拟机直接开一个 ubuntu 系统即可,怎么便宜怎么来,具体白嫖的方法可以看底下的参考链接。
Alist 安装
通过 ssh 登陆到我们的虚拟机,在 azure 的虚拟机控制面板里面可以看到我们的 ip,也可以自己设定一下 dns 获得域名。
由于我自己的 azure 已经安装好了 alist,所以后面用阿里云来进行演示
在登上服务器之后,我们可以先进行一下更新依赖操作
1 | sudo apt-get update |
参考 AList 文档,因为我们使用的是 Ubuntu 系统,直接使用一键安装命令即可,
1 | curl -fsSL "https://alist.nn.ci/v3.sh" | sudo bash -s install |
随后我们按照提示进入 alist 的安装目录,设置管理员账号
1 | cd /opt/alist |
打开 http://your_ip:5244
网页,这里不管是 azure 和阿里云都需要打开安全组的 5244 端口。azure 安全组的在网络设置中,顺便我们把后续要用到的 80 和 443 端口也打开一下。
后面正常按照 AList
的文档操作就可以挂载各种云盘
反向代理
很显然我们通常都是使用 http 的 80 端口或者 https 的 443 端口,而 AList 用的是 5244 端口,当然我们可以使用修改端口来设置,但是常见的方案是使用 nginx 进行代理。安装 nginx 直接按照文档就行,当然也最好先检查一下 nginx 有没有按照。
1 | # 检查nginx是否安装 |
安装完成后修改 nginx 中的配置文件,我这里就直接简单一点执行 sudo vim /etc/nginx/sites-enabled/default
,在其中的 service
里面添加下面代码,并把原先的 try_files $uri $uri/ =404;
给注释了。
1 | location / { |
然后重启 nginx,sudo service nginx restart
,就可以在 80 端口打开访问
配置 TLS/SSL
比较麻烦的是 SSL 证书,正规的只支持单域名的 DV 证书也要将近 3000,多少有点不值得。所以在看了看各种方案,打算继续沿用 cloudflare 的方案,其可以为服务器免费提供 SSL 证书,但是只有 cloudflare 支持。
首先先去 cloudflare 的 DNS 里面添加一条域名 A 类解析域名-DNS-记录
然后去申请 SSL 证书,申请路径如下,点击创建证书,有效期选择 15 年,然后选择自己的域名,然后将证书进行保存 0
然后我们继续编辑上文中的 nginx 配置文件,在刚才的 location 中添加下面的代码
1 | listen 443 ssl default_server; |
继续重启 nginx,sudo service nginx restart
现在可以通过 https 访问了,效果如下
设置 AList 别名
我的百度盘中存放我的游戏等等私密信息,OneDrive 主要是论文和个人信息,Google Drive 主要是代码,其他盘放一些杂七杂八的,不可能让游客都看到。最简单的方法就是设置游客不登录不可见,但是我还有一些数据集和论文资料需要共享,因此就轮到 AList 的别名登场了。
挂在一个 /guest
盘的 Alias,然后设置为游客可见只读,然后设置文件映射,具体的优化可以看文档
1 | # alias路径:实际路径 |
如此一来,游客的浏览效果如下
总结
通过 AList 各种网盘教程,将大部分网盘都统一管理,如此一来方便我随时管理和解决 ipad 上弊端。