阿里云盘,真的只是一个云盘吗?

久闻 AList 大名,只是不曾使用过,今天碰巧 某个站 需要分享某个阿里云盘的文件夹,第一时间想起了 AList~

准备

服务器

您需要拥有服务器的完整SSH权限(root用户),以便后续安装宝塔面板 & 跑 AList 程序。

如需 Heroku 部署请看 这里,本文不多介绍。

阿里云盘

您需要有一个阿里云盘账号,如果还未注册可以走我的 邀请链接,可获得有效期一年的 500 GB存储空间。

refresh_token 可自行移动端抓包获取或使用 这个工具 ,web端token加入了referrer限制。

网络环境

GitHub 在部分地区的访问并不顺利,再加上时不时降临的TCP链接重置在有些时候会治好你多年以来的低血压。(你能听懂我想表达什么吧~)

不过 release 的 下载Host 最近比较给力,重庆机房网络和重庆移动都能跑满下行。

如果后文中的GitHub链接无法正常访问请使用CNPM或FASTGIT提供的镜像服务,不过切记不要登录:)

到这里,准备工作基本上完成啦。

搭建

创建网站

点击宝塔面板左侧边栏的 网址 按钮,然后点击右侧页面中的 添加站点。

然后在弹出的窗口中完善信息。

下载文件

前往AList Release下载对应系统的程序(一般liunx服务器选第一个即可),解压得到一个示例配置文件和一个系统名称文件夹里面包含运行文件alist

前往AList-web下载打包好的前端,解压得到一个dist目录放到alist同级目录下

修改配置文件

修改示例配置文件conf.yml.example,完善相关信息后删除文件名中的.example

下方是一个示例配置文件供您参考:

info:
  title: 这里修改为你网站 #标题
  logo: "这里填icon地址,如使用默认icon请留空引号内文本" #网站logo 如果填写,则会替换掉默认的
  footer_text:  #网页底部文字
  footer_url:  #网页底部文字链接
  music_img: https://img.xhofe.top/2020/12/19/0f8b57866bdb5.gif #预览音乐文件时的图片 
  check_update: true #前端是否显示更新
  script: #自定义脚本,可以是脚本的链接,也可以直接是脚本内容
  autoplay: true #视频是否自动播放
  preview:
    text: [txt,htm,html,xml,java,properties,sql,js,md,json,conf,ini,vue,php,py,bat,gitignore,yml,go,sh,c,cpp,h,hpp,pdf,doc,docx,ppt,pptx] #要预览的文本文件的后缀,可以自行添加
server:
  address: "0.0.0.0"
  port: "5244" #这里是服务监听的端口,如果有Web服务建议监听除80、443之外的非标端口
  search: true
  download: true
  static: dist
  site_url: '*'
  password: 请亲自修改为只有本人知道的密码 #重建目录时需输入此处密码
ali_drive:
  api_url: https://api.aliyundrive.com/v2
  max_files_count: 3000
  drives:
  - refresh_token: xxx #这里填准备阶段获取到的refresh_token
    root_folder: root #根目录的目录的file_id,如果分享整盘则无需修改此内容,获取方式请看后文
    name: drive0 #盘名,多个盘不可重复,这里只是示例,不是一定要叫这个名字,可随意修改,不可留空
    password: '' #该盘密码,空('')则不设密码,修改需要重建生效
    hide: false #是否在主页隐藏该盘,不可全部隐藏,至少暴露一个
  - refresh_token: xxx #只有一个盘的话,该段完全可以删除,反之有更多可以继续添加
    root_folder: root
    name: drive1
    password: pass
    hide: false
database:
  type: sqlite3
  dBFile: alist.db

如何获取目录ID?

登录网页版阿里云盘,打开文件夹,网址中/folder/后方就是目录的ID啦,填入配置的root_folder项中即可~

检查文件

如果不出问题,你的文件树应该是这个样子的:

├── alist
├── conf.yml
└── dist
    ├── favicon.ico
    ├── index.html
    └── static
        ├── css
        │   ├── about.f0b54b1c.css
        │   ├── app.4f0c3e9a.css
        │   └── chunk-vendors.8f913079.css
        ├── img
        │   └── alist.bcb68ba0.png
        └── js
            ├── about.8108f65b.js
            ├── app.34cb39e5.js
            └── chunk-vendors.131f0f41.js

其中,如果你需要修改网页左上角icon,直接替换./dist/static/img/alist.bcb68ba0.png即可。

运行程序

在站点文件夹下,运行这两段命令:

chmod +x alist
nohup ./alist > log.log 2>&1 &

如果没有什么问题,你的网站已经跑起来了。同时,日志会储存在./log.log

守护进程

vim /usr/lib/systemd/system/alist.service进入vim编辑器,按i进入编辑模式,添加以下内容后依次按ESC、:wq退出并保存文件。

[Unit]
Description=alist
After=network.target
 
[Service]
Type=simple
WorkingDirectory=这里修改为站点目录
ExecStart=这里修改为站点目录/alist -conf conf.yml
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

然后systemctl daemon-reload重载配置。现在开始,你就可以这样“优雅而不失风度”地管理程序了。

systemctl start alist # 启动
systemctl stop alist # 停止
systemctl restart alist # 重启
systemctl enable alist # 自启
systemctl status alist # 状态

如果你需要使用MySQL……

数据库需为utf8mb4编码,修改上方conf.yml中的数据库一栏:

database:
  type: mysql
  user: 用户名
  password: 密码
  host: 127.0.0.1
  port: 3306
  name: 数据库名

设置反向代理

如果你没有修改上方配置文件中的port设置,只需像下图一样配置反代即可

如果你修改了端口,替换5244为你修改的端口即可。

最后

如果你更新了文件,记得重建。

部分内容引用自阿里云盘列表AList部署教程 - Xhofe's Blog

免责声明

阅读此篇文章即代表您承诺不使用我们提供的教程用作违法行为且认可由您承担网站内容所造成的一切法律后果:)


有什么问题欢迎评论指出~

标签: AList

已有 2 条评论

  1. 大佬nb

  2. 前~~~排!

添加新评论