部署Alist
serv00 · 127 字
获取适用于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