封面 《はつゆきさくら》
效果
demo: https://pan.qianxu.run
前言
因为在逛友链的时候看到别人搭建的 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 上弊端。