AList/OpenList 使用记录: 部署 & 服务器本机存储 & SFTP访问个人电脑文件 & 作为图床.

安装

参考官方文档进行手动安装

安装时, 由于云服务器没有配置代理, 所以使用个人电脑从github上下载, 并使用ssh协议进行上传.

1
2
3
4
5
6
7
8
9
10
11
# 在浏览器中选择最新Realse, 云服务器是Linux系统, x86架构的64位机器, 因此选择`alist-linux-amd64.tar.gz`并复制链接.
curl "https://github.com/AlistGo/alist/releases/download/v3.45.0/alist-linux-amd64.tar.gz"
# scp 本地文件名 云服务器用户名@云服务器IP:云服务器存储位置
scp ./alist-linux-amd64.tar.gz username@192.xxx.xxx.222:~/alist/
# 解压下载的文件,得到可执行文件:
tar -zxvf alist-linux-amd64.tar.gz
# 授予程序执行权限:
chmod +x alist
# 运行程序
./alist server

i386、i486、i586、 i686、 x86、x86_64、x64、amd_64详解
tar压缩解压缩命令详解

配置

安装程序后, 云服务器默认在5244端口上打开服务. 个人电脑可以通过http://192.xxx.xxx.xx:5244/访问刚创建的AList(192.xxx.xxx.xx是云服务器公网地址).

默认账号密码分别是 admin, admin. 先用它登录 AList

登录成功后从页面下方的[管理]按钮, 进入管理界面. 在这里设置好基本的管理员账号密码, 然后重新登录.

本机存储(云服务器)

参照官方文档为 AList 添加存储器. 例如添加本机存储, 用以将云服务器的文件挂载到网盘上.

配置本机存储

SFTP(通过SSH与个人电脑文件同步)

又例如通过 frp 配置好个人电脑的内网穿透, 通过ssh访问内网机器, 由此构建SFTP存储

配置SFTP

第一次部署时, 我采用的是密码登录, 安全性差. 可以换成 ssh 秘钥登录:

  1. 云服务器生成一对秘钥
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # host

    cd ~/.ssh
    # 生成以 forkerspc@kers.site 为账号名(可修改, 不影响功能) 的秘钥对
    ssh-keygen -t rsa -C "forkerspc@kers.site"
    #Generating public/private rsa key pair.
    # 输入存储位置为 id_rsa_for_pc
    #Enter file in which to save the key (/root/.ssh/id_rsa): ./id_rsa_for_pc
    # 不使用密语
    #Enter passphrase (empty for no passphrase):
    #Enter same passphrase again:
  2. 将公钥存到个人电脑(将id_rsa_for_pc.pub文件中的内容复制到C:\ProgramData\ssh\administrators_authorized_keys中)
    1
    2
    3
    4
    # host

    ~/.ssh# cat id_rsa_for_pc.pub
    #ssh-rsa AAAAB3Nza....MqPyLU= forkerspc@kers.site
    1
    2
    3
    4
    # pc

    cd C:/ProgramData/ssh
    echo "ssh-rsa AAAAB3Nza....MqPyLU= forkerspc@kers.site" >> ./administrators_authorized_keys
  3. 将服务器私钥填到AList配置(注意要包括开头和结尾那像是格式的两行)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # host

    cd ~/.ssh
    cat id_rsa_for_pc
    # -----BEGIN OPENSSH PRIVATE KEY-----
    # b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn
    # NhAAAAAwEAAQAAAYEAuY+dAZ5Beubd6uqLGaD7TYvJ4zijk5zxm0390DWhP+bu7n9/Dpkk
    # ...
    # 2/xm2MB1CSr1HOm6r7kEV7TFT1r+aQI1I0BrbUAAbQeTuHPt/6vL3SiP98ZBPuPIR9fgkF
    # 40YdJ3L3Nx8bMAAAAQa2VyXzAxMjNAMTYzLmNvbQECAw==
    # -----END OPENSSH PRIVATE KEY-----
    填写私钥
  4. 点击保存, 不出意外就能成功挂载了.

关于 Windows 上的 ssh 密钥登录, 还可以参照这篇文章: windows 上 OpenSSH 服务 启用秘钥登录.

Alias别名(通过别名与权限控制访客的访问范围)

又例如, 通过alias别名, 将多个存储器上的部分内容引用, 放到新的一个文件夹里, 方便设置访问权限.

配置Alias

为访客用户设置只能看到Share目录的权限

生成简单直链, 实现图床用法

首先要在设置>全局中关闭[签名所有]选项, 打开[转发直链参数]选项. 之后便可以右键文件, 选择分享, 生成直链来使用了.

设置全局

另外, 记得配合 元信息 为不想分享的文件夹设置密码, 防止外界可以不登录, 就通过轮询直链访问云盘内的所有文件.

请确保可以公开的文件, 右键分享得到的链接形似http://pan.kers.site/d/share/imghost/zzz.jpg; 期望登录才能获取的文件, 右键分享得到的链接形似http://pan.kers.site/d/pc/Music/desktop.ini?sign=iqp25J4VCbDf6G1M62-_MBlxJspz9aAvLX6_cUXy8gQ=:0

如果不是这样, 请确认有好好设置元信息, 有勾选[应用到子文件夹]

其他

可以通过元信息为云盘内的某些文件, 或者满足某些规则的文件, 设置访问密码. 这点详见官方文档.

启动之后可以通过以下命令来启停AList, 似乎命令之后要接上pid, 能够理解, 毕竟一个服务器能运行多个alist实例.

1
2
3
4
5
6
# 携带`--force-bin-dir`参数启动服务
alist start
# 通过pid停止服务
alist stop
# 通过pid重启服务
alist restart

手动安装之后, 添加守护进程来启停服务存在一些问题. 文章写成时暂未解决, 在github项目下提了issus.

2025年6月11日. Alist 项目社区发生剧变, 项目发起者将项目卖给了某灰色产业公司, 从此Alist软件不再安全.

鉴于原 Alist 项目频繁删 issus(上文中的issus链接就被删了, 也是这个才使我注意到此事), 大部分相关信息链接未来可能无法访问, 这里只提供社区版 fork 的 github 项目地址.

开源道路道阻且长, 时常被这些道德败坏的组织剽窃成果. 但至少我仍然决心要踏上这条道路, 因为如果所有开源社区贡献者都寒心了, 不干了, 那才是真正的没有未来.

AList/OpenList 使用记录: 部署 & 服务器本机存储 & SFTP访问个人电脑文件 & 作为图床.

http://www.kers.site/2025/05/29/record-alist/

作者

ker0123

发布于

2025-05-29

更新于

2025-06-21

许可协议

You need to set install_url to use ShareThis. Please set it in _config.yml.
You forgot to set the business or currency_code for Paypal. Please set it in _config.yml.

评论