部署Alist

serv00 · 127 字

教程参考:https://zhuanlan.zhihu.com/p/680607217

获取适用于FreeBSD系统的Alist部署文件

使用ssh连接serv00服务器
https://github.com/amclubs/am-serv00-alist-freebsd?tab=readme-ov-file

curl -O -L https://github.com/amclubs/am-serv00-alist-freebsd/releases/download/v3.34.0/alist

安装并修改对应文件

安装

给予文件权限

chmod +x alist

先运行一次启动命令,生成data文件夹以及config.json配置文件

./alist server

放行TCP端口

配图

添加数据库

回到serv00自带的Panel后台,找到MySQL选项,使用Add database功能新建一个数据库
配图
注:数据库地址可以在注册时收到的邮件中找,或者Database list选项卡中查看,MySQL端口默认为3306
配图

修改JSON文件

数据库部分

找到database字段,在其中修改

字段名 值
type mysql
host 注册邮件中查看或Database list中查看,一般为mysql[x].serv00.com
port 3306[MySQL默认端口]
user Database list页中的Database name
password 创建数据库时设置的密码
name Database list页中的Database name

scheme部分

这部分只需要修改address和http_port两个字段

字段 值
address 0.0.0.0先不动,添加反代后改为127.0.0.1本地回环,防止IP:Port访问
http_port 之前放行的tcp端口

s3部分

一般不需要用到S3 Server,我们只需要把该字段的端口port设为0即可

后台启动并修改密码

启动并置于后台运行

screen ./alist server

按下以下组合键以将screen会话放入后台运行

Ctrl + A + D

重置密码

./alist admin set 新密码

关闭进程

使用ps指令查看进程pid,发送kill命令杀死进程

ps
/bin/kill -s HUP <进程PID>

绑定域名

我将域名托管在了CloudFlare上,所以此处以CloudFlare为例。在此之前,先将config.json配置文件中的address字段改为本地回环127.0.0.1.
此时还没有访问Alist的方法,因为监听的地址是本地回环,所以需要将其反向代理出来。我选择使用Cloudflare提供的Argo通道,顺带给Alist绑定自己的域名。

命令行部分

Cloudflared官方仓库没有提供FreeBSD平台的客户端,但是和Alist一样的,我找到了Unofficial的FreeBSD版本的构筑,接下来使用它打隧道:
新建并进入Cloudflared的工作目录:

mkdir -p ~/domains/cloudflare && cd ~/domains/cloudflare

下载cloudflared

wget https://cloudflared.bowring.uk/binaries/cloudflared-freebsd-2023.10.0.7z && 7z x cloudflared-freebsd-2023.10.0.7z && rm cloudflared-freebsd-2023.10.0.7z && mv -f ./temp/cloudflared-freebsd-2023.10.0 ./cloudflared && rm -rf temp

cloudflare面板部分

下面进入Cloudflare面板,新建一个tunnel,并记录下Token。
进入左侧的Zero Trust选项卡,点击Network,选择其下的Tunnels,并新建一个Tunnel
配图
如图一路Next,到第三步时,将Token复制出来并作记录
配图
最后一步
配图

将serv00与CloudFlare打通

在ssh连接中运行

./cloudflared tunnel --edge-ip-version auto --protocol http2 --heartbeat-interval 10s run --token eyJhIjoiNzh...............V5TWpBeSJ9
(记得把最后的那一串ey开头的部分替换成你的TOKEN。)

我们就以后可以使用alist.域名访问部署好的Alist了

使用pm2托管CloudFlared & Alist

首先将之前运行的Alist、Cloudflared全部终止

安装pm2

bash <(curl -s https://raw.githubusercontent.com/shangskr/alist_repl/main/serv00/install-pm2.sh)

使用pm2启动Cloudflared

pm2 start ./cloudflared -- tunnel --edge-ip-version auto --protocol http2 --heartbeat-interval 10s run --token eyJhIjoiZTRlMGFjYTE5NjI0NDBhOTc3NDIyNmU5NGQ1YjlhNWYiLCJ0IjoiMTQ1MDRmNzItYmQzNC00YTlmLTlmN2UtOGQ5MGZmNjE1M2UyIiwicyI6Ik5ETXpOak13WVRjdE9HTmtNUzAwTlRSakxXSm1aVGd0TURVMlkyRmlORGxtTURFdyJ9

cloudflared.exe service install eyJhIjoiZTRlMGFjYTE5NjI0NDBhOTc3NDIyNmU5NGQ1YjlhNWYiLCJ0IjoiMTQ1MDRmNzItYmQzNC00YTlmLTlmN2UtOGQ5MGZmNjE1M2UyIiwicyI6Ik5ETXpOak13WVRjdE9HTmtNUzAwTlRSakxXSm1aVGd0TURVMlkyRmlORGxtTURFdyJ9

使用pm2启动Alist

cd ~/domains/alist # 先切换到Alist所在文件夹
pm2 start ./alist -- server

PM2常用命令

Alist挂载网盘

https://alist.nn.ci/zh/guide/