以下文章均从Alist旧版官网(https://alist.nn.ci/)复制的
一键脚本
仅适用于 Linux amd64/arm64 平台。
注:github.io被国内部分地区屏蔽,如果无法拉取脚本可自行下下来上传服务器
推荐使用3.39.4版本
安装
curl -fsSL "https://huan-starvm.github.io/app/alist/v3.sh" -o v3.sh && bash v3.sh
保险起见写了 3.39.4的脚本
curl -fsSL "https://huan-starvm.github.io/app/alist/v339.sh" -o v339.sh && bash v339.sh
以及 3.40.0的脚本
curl -fsSL "https://huan-starvm.github.io/app/alist/v340.sh" -o v340.sh && bash v340.sh
面板管理命令
使用命令:alist
或者 alist-manager
自定义路径
默认安装在 /opt/alist
中。 自定义安装路径,将安装路径作为第二个参数添加,必须是绝对路径(如果路径以 alist 结尾,则直接安装到给定路径,否则会安装在给定路径 alist 目录下),如 安装到 /root
:
# Install
curl -fsSL "https://huan-starvm.github.io/app/alist/v3.sh" -o v3.sh && bash v3.sh install /root
# update
curl -fsSL "https://huan-starvm.github.io/app/alist/v3.sh" -o v3.sh && bash v3.sh update /root
# Uninstall
curl -fsSL "https://huan-starvm.github.io/app/alist/v3.sh" -o v3.sh && bash v3.sh uninstall /root
- 启动:
systemctl start alist
- 关闭:
systemctl stop alist
- 状态:
systemctl status alist
- 重启:
systemctl restart alist
手动安装
获取 AList
打开 AList Release 下载待部署系统对应的文件。最新版的前端已经和后端打包好了,不用再下载前端文件了。
xxxx 指的是不同系统/架构对应的名称,一般 Linux-x86/64 为 alist-linux-amd64
手动安装如果有如下提示:是因为你的 GLIBC 版本太低,建议下载 musl 版本
lib64/libc.so.6: version `GLIBC_2.28' not found (required by ./alist)
#或者
accept: function not implemented
当你看到 start [email protected]:5244
的输出,之后没有报错,说明操作成功。 第一次运行时会输出初始密码。程序默认监听 5244 端口。 现在打开 http://ip:5244
可以看到登录页面,WebDAV 请参阅 WebDav。
手动运行
v3.25.0以上版本将密码改成加密方式存储的hash值,无法直接反算出密码,如果忘记了密码只能通过重新 随机生成
或者 手动设置
Linux
# 解压下载的文件,得到可执行文件:
tar -zxvf alist-xxxx.tar.gz
# 授予程序执行权限:
chmod +x alist
# 运行程序
./alist server
# 获得管理员信息 以下两个不同版本,新版本也有随机生成和手动设置
# 低于v3.25.0版本
./alist admin
# 高于v3.25.0版本
# 随机生成一个密码
./alist admin random
# 手动设置一个密码 `NEW_PASSWORD`是指你需要设置的密码
./alist admin set NEW_PASSWORD
Windows
# 解压下载的文件,得到可执行文件:
unzip alist-xxxx.zip
# 运行程序
.\alist.exe server
# 获得管理员信息 以下两个不同版本,新版本也有随机生成和手动设置
# 低于v3.25.0版本
.\alist.exe admin
# 高于v3.25.0版本
# 随机生成一个密码
.\alist.exe admin random
# 手动设置一个密码 `NEW_PASSWORD`是指你需要设置的密码
.\alist.exe admin set NEW_PASSWORD
macOS
# 解压下载的文件,得到可执行文件:
tar -zxvf alist-xxxx.tar.gz
# 授予程序执行权限:
chmod +x alist
# 运行程序
./alist server
# 获得管理员信息 以下两个不同版本,新版本也有随机生成和手动设置
# 低于v3.25.0版本
./alist admin
#高于v3.25.0版本
# 随机生成一个密码
./alist admin random
# 手动设置一个密码 `NEW_PASSWORD`是指你需要设置的密码
./alist admin set NEW_PASSWORD
win(scoop)
# 安装
scoop install alist
# 运行
alist server
守护进程
Linux
使用任意方式编辑 /usr/lib/systemd/system/alist.service
并添加如下内容,其中 path_alist 为 AList 所在的路径
[Unit]
Description=alist
After=network.target
[Service]
Type=simple
WorkingDirectory=path_alist
ExecStart=path_alist/alist server
Restart=on-failure
[Install]
WantedBy=multi-user.target
然后,执行 systemctl daemon-reload
重载配置,现在你可以使用这些命令来管理程序:
- 启动:
systemctl start alist
- 关闭:
systemctl stop alist
- 配置开机自启:
systemctl enable alist
- 取消开机自启:
systemctl disable alist
- 状态:
systemctl status alist
- 重启:
systemctl restart alist
守护进程不会配置? 视频教程
macOS
使用任意方式编辑 ~/Library/LaunchAgents/ci.nn.alist.plist
并添加如下内容,修改 path_alist
为 AList 所在的路径,path/to/working/dir
为 AList的工作路径
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>ci.nn.alist</string>
<key>KeepAlive</key>
<true/>
<key>ProcessType</key>
<string>Background</string>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>path/to/working/dir</string>
<key>ProgramArguments</key>
<array>
<string>path_alist/alist</string>
<string>server</string>
</array>
</dict>
</plist>
然后,执行 launchctl load ~/Library/LaunchAgents/ci.nn.alist.plist
加载配置,现在你可以使用这些命令来管理程序:
- 开启:
launchctl start ~/Library/LaunchAgents/ci.nn.alist.plist
- 关闭:
launchctl stop ~/Library/LaunchAgents/ci.nn.alist.plist
- 卸载配置:
launchctl unload ~/Library/LaunchAgents/ci.nn.alist.plist
Windows
方法1
- 在 https://nssm.cc/download 下载最新版本的
nssm
; - 在解压后的文件夹内按住 Shift 并右击空白处,选择“在此处打开 Powershell 窗口”;
- 在弹出的窗口中输入
.\nssm.exe install alist
; - Path 选择 alist.exe 的路径,如
D:\alist\alist.exe
,Arguments 填server
; - Details 选项卡中可以自定义标题和描述,可以选择服务的自启动模式(自动|延迟启动|手动|禁用);
- 在 I/O 选项卡为 Output (stdout) 和 Output (stderr) 各自指定一个日志文件的路径,如
D:\alist\stdout.log
,文件本身(stdout.log
)可以不存在,但是指定的目录(D:\alist
)必须存在; - 点击“Install Service”即可。
此后可以直接在服务中启动 alist
。
方法2
用 .VBS
脚本启动和停止,分别创建两个脚本 分别是 启动.vbs 和 停止.vbs
直接在和Alist启动程序同级文件夹里面双击启动即可,不用担心没有反应 直接去 浏览器访问即可
两个启动脚本
启动.vbs
Dim ws
Set ws = Wscript.CreateObject("Wscript.Shell")
ws.run "alist.exe server",vbhide
Wscript.quit
停止.vbs
Dim ws
Set ws = Wscript.CreateObject("Wscript.Shell")
ws.run "taskkill /f /im alist.exe",0
Wscript.quit
如何实现Windows开机自启,可以参考上面提到的脚本使用视频(第二个)
对于所有平台,您可以使用以下命令来静默启动、停止和重新启动。 (v3.4.0 及更高版本)
# 携带`--force-bin-dir`参数启动服务
alist start
# 通过pid停止服务
alist stop
# 通过pid重启服务
alist restart
如何更新
下载新版Alist,把之前的替换了即可。
- 启动:
systemctl start alist
- 关闭:
systemctl stop alist
- 状态:
systemctl status alist
- 重启:
systemctl restart alist
反向代理
程序默认监听 5244 端口。如有修改,请一并修改下列配置中的端口号。如果你使用反向代理,建议你设置site_url,以帮助alist更好的工作。
如果你想使用子目录,参考这里
反向代理非标准端口或启用https后丢失https或端口号/无法播放视频?
你需要通过正确的Host头,请参考 #726 #1159 #2429 #3644 #4181 #4719
Nginx
在网站配置文件的 server 字段中添加
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
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;
# the max size of file to upload
client_max_body_size 20000m;
}
如果需要使用HTTP/3,需要将对应HOST
行修改为:
proxy_set_header Host $host:$server_port;
这样修改后的配置同时也可以兼容HTTP/2及更低版本的请求。
注意
如果使用宝塔面板,请务必删除以下默认配置
- location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md
- location ~ .\*\.(gif|jpg|jpeg|png|bmp|swf)$
- location ~ .\*\.(js|css)?$
并在/www/server/nginx/conf/proxy.conf
中或对应网站配置文件中设置禁用Nginx缓存,否则默认配置下访问较大文件时Nginx会先尝试将远程文件缓存至本机,导致播放失败
proxy_cache cache_one; # 删除这一行
proxy_max_temp_file_size 0; #加上这一行
Apache
在 VirtualHost 字段下添加配置项 ProxyPass,如:
<VirtualHost *:80>
ServerName myapp.example.com
ServerAdmin [email protected]
DocumentRoot /www/myapp/public
AllowEncodedSlashes NoDecode
ProxyPreserveHost On
ProxyPass "/" "http://127.0.0.1:5244/" nocanon
ProxyPassReverse "/" "http://127.0.0.1:5244/" nocanon
</VirtualHost>
Caddy
在 Caddyfile 文件下添加 reverse_proxy,如:
:80 {
reverse_proxy 127.0.0.1:5244
}
如果部署在 443 端口正常使用的服务器上且使用域名进行访问,建议使用这种配置让 Caddy 自动申请证书:
example.com {
reverse_proxy 127.0.0.1:5244
}
将 `example.com` 替换为你自己解析后的域名。
其他疑难杂症
获取密码
需要进入脚本安装AList的目录文件夹內执行如下命令
低于v3.25.0版本
./alist admin
高于v3.25.0版本
3.25.0以上版本将密码改成加密方式存储的hash值,无法直接反算出密码,如果忘记了密码只能通过重新 随机生成
或者 手动设置
# 随机生成一个密码
./alist admin random
# 手动设置一个密码,`NEW_PASSWORD`是指你需要设置的密码
./alist admin set NEW_PASSWORD
一直在加载怎么办?
挂载了一些网盘但是不能用了重启了一下AList,发现进不去 网页提示:获取设置失败:请稍后,正在加载存储
怎么办?
- 等待几分钟
- 通过使用命令将
失效的/无法启动的
存储停止运行
Linux
如果通过命令停止 必须先进入你AList所在的文件夹输入命令
如果我们不知道是那个存储原因导致的,可以通过命令列出所有的存储
./alist storage list
[root@OPSD-g8xXordx3B9f alist]# ./alist storage list
INFO[2023-11-23 17:54:10] reading config file: data/config.json
INFO[2023-11-23 17:54:10] load config from env with prefix: ALIST_
INFO[2023-11-23 17:54:10] init logrus...
INFO[2023-11-23 17:54:10] Found 2 storages
┌─────────────────────────────────────────────────────────────────┐
│ ID Driver Mount Path Enabled │
│─────────────────────────────────────────────────────────────────│
│ 1 S3 /R2 true │
│ 2 UrlTree /233 true │
└─────────────────────────────────────────────────────────────────┘
输入查询命令后我们会进入另一种模式无法输入,如果添加的存储过多可以通过键盘的 ↑ 和 ↓ 来往下翻,等找到后可以按Ctrl+C
退出
例如我们是因为 233
这个存储停止的,我们就输入命令来停止,然后在 重启一下AList就可以了
./alist storage disable /233
[root@OPSD-g8xXordx3B9f alist]# ./alist storage disable /233
INFO[2023-11-23 17:54:52] reading config file: data/config.json
INFO[2023-11-23 17:54:52] load config from env with prefix: ALIST_
INFO[2023-11-23 17:54:52] init logrus...
INFO[2023-11-23 17:54:52] Storage with mount path [/233] have been disabled
Windows
如果通过命令停止 必须先进入你AList所在的文件夹输入命令
如果我们不知道是那个存储原因导致的,可以通过命令列出所有的存储
alist.exe storage list
C:\Users\admin\Desktop\alist>alist.exe storage list
INFO[2023-11-23 18:36:23] reading config file: data\config.json
INFO[2023-11-23 18:36:23] load config from env with prefix: ALIST_
INFO[2023-11-23 18:36:23] init logrus...
INFO[2023-11-23 18:36:23] Found 13 storages
┌──────────────────────────────────────────────────────────────────┐
│ ID Driver Mount Path Enabled │
│──────────────────────────────────────────────────────────────────│
│ 1 AliyundriveOpen /open true │
│ 9 Local /code true │
│ 10 AList V3 /ceshi true │
└──────────────────────────────────────────────────────────────────┘
输入查询命令后我们会进入另一种模式无法输入,如果添加的存储过多可以通过键盘的 ↑ 和 ↓ 来往下翻,等找到后可以按Ctrl+C
退出
例如我们是因为 open
这个存储停止的,我们就输入命令来停止,然后在 重启一下AList就可以了
alist.exe storage disable /open
C:\Users\admin\Desktop\alist>alist.exe storage disable /open
INFO[2023-11-23 18:41:43] reading config file: data\config.json
INFO[2023-11-23 18:41:43] load config from env with prefix: ALIST_
INFO[2023-11-23 18:41:43] init logrus...
INFO[2023-11-23 18:41:43] Storage with mount path [/open] have been disabled
macOS
如果通过命令停止 必须先进入你AList所在的文件夹输入命令
由于暂时没有Mac设备,无法提供具体示例,但是命令都是一样的也可以参考 Linux 和 Windows
列出存储:
alist storage list
停止存储:
alist storage disable /Path
Docker
这里的 Docker
如果你搭建多个Docker版本的AList你需要修改个别参数喔~
如果我们不知道是那个存储原因导致的,可以通过命令列出所有的存储
docker exec -it alist ./alist storage list
[root@OPSD-g8xXordx3B9f alist]# docker exec -it alist ./alist storage list
INFO[2023-11-23 11:50:08] reading config file: data/config.json
INFO[2023-11-23 11:50:08] load config from env with prefix: ALIST_
INFO[2023-11-23 11:50:08] init logrus...
INFO[2023-11-23 11:50:08] Found 8 storages
┌─────────────────────────────────────────────────────────────────┐
│ ID Driver Mount Path Enabled │
│─────────────────────────────────────────────────────────────────│
│ 1 PikPakShare /pikpak true │
│ 2 OnedriveAPP /utena_onedrive true │
│ 3 OnedriveAPP /adelev_onedrive true │
│ 4 OnedriveAPP /megan_onedrive true │
│ 5 OnedriveAPP /patti_onedrive true │
└─────────────────────────────────────────────────────────────────┘
输入查询命令后我们会进入另一种模式无法输入,如果添加的存储过多可以通过键盘的 ↑ 和 ↓ 来往下翻,等找到后可以按Ctrl+C
退出
例如我们是因为 pikpak
这个存储停止的,我们就输入命令来停止,然后在 重启一下AList就可以了
docker exec -it alist ./alist storage disable /pikpak
[root@OPSD-g8xXordx3B9f alist]# docker exec -it alist ./alist storage disable /pikpak
INFO[2023-11-23 17:54:52] reading config file: data/config.json
INFO[2023-11-23 17:54:52] load config from env with prefix: ALIST_
INFO[2023-11-23 17:54:52] init logrus...
INFO[2023-11-23 17:54:52] Storage with mount path [/pikpak] have been disabled
其它
基本上都一样的命令,只是前缀文件不同,万变不离其宗。
查询存储:
alist storage list
停止存储:
alist storage disable /path
暂无评论内容