安装Alist
下载Alist
由于文档中给出的一键脚本无法正常安装,所以我用的是手动安装
打开 AList Release 下载待部署系统对应的文件
手动运行
1 2 3 4 5 6 7 8 9 10 11 12
| # 解压下载的文件,得到可执行文件: tar -zxvf alist-xxxx.tar.gz # 授予程序执行权限: chmod +x alist # 运行程序 ./alist server
# 高于v3.25.0版本 # 随机生成一个密码 ./alist admin random # 或者手动设置一个密码 `NEW_PASSWORD`是指你需要设置的密码 ./alist admin set NEW_PASSWORD
|
守护进程
使用任意方式编辑 /usr/lib/systemd/system/alist.service
并添加如下内容,其中 path_alist 为 AList 所在的路径
alist.service1 2 3 4 5 6 7 8 9 10 11 12
| [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
挂载Cloudflare R2存储桶
打开Alist主页
默认在5244端口上,如和我一样使用服务器进行部署,记得检查服务器安全组设置是否已打开5244端口的访问权限
在浏览器中访问 YourServerIP:5244
打开Alist主页,使用前边创建的管理员账号(账号就是admin)登录,会自动打开管理页面,点击存储→添加,驱动选择对象存储
挂载路径按需求填写,然后先不要关闭这个页面,先去获取R2的密钥
添加R2存储桶
在Cloudflare的控制台中,点击左侧的 R2 对象存储,选取或新建一个存储桶,把它的名字填在配置的存储桶一栏
回到R2控制台,点开你要挂载的存储桶的设置,在存储桶的详细信息里复制S3 API,并去掉末尾的存储桶名称,例如https://8b86bc7ab05e7e2adsd0c9e8aaaaa.r2.cloudflarestorage.com,将这个内容填在配置的Endpoint里
在R2概述页面中点击管理 R2 API 令牌,创建一个新的具有管理原读和写权限的令牌,将 Access key id 和 Access key secret 对应填到刚刚那个配置页面的 访问密钥 Id 和 安全访问密钥里
最后点击添加,这样就算配置好了
使用S3 Browser上传文件(推荐)
由于R2上传文件有300MB的大小限制,并且直接使用Alist上传文件很慢,所以这里我推荐使用S3 Browser来上传和管理文件
我使用的是nginx,在网站配置文件的 http 字段中添加
nginx.conf1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| server { # 这两行是为了打到自定义域名上,如有需要请自行添加 listen 80; server_name alist.example.com; 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; } }
|
配置SSL证书
请自行准备SSL证书文件,然后修改nginx配置
nginx.conf1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| server { #SSL 默认访问端口号为 443 listen 443 ssl; #请填写绑定证书的域名 server_name alist.example.com; #请填写证书文件的相对路径或绝对路径 ssl_certificate alist.example.com_bundle.crt; #请填写私钥文件的相对路径或绝对路径 ssl_certificate_key alist.example.com.key; ssl_session_timeout 5m; #请按照以下协议配置 ssl_protocols TLSv1.2 TLSv1.3; #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; 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; } }
|