最近在网上发现一个可以免费部署alist的办法,昨天成功搭建完成!
所以这里记录一下搭建过程
❌️搭建好的成品:酷小呵网盘
💔我的网盘什么时候还可以打开,说明从写这篇文章起,它撑到了什么时候!(请谨慎参考本文章哈)
Serv00 是一个提供 免费 的Virtual Host的平台,其托管平台使用的是FreeBSD系统,并不是Linux。每个账号有效期10年,超过 三个月 不登入Panel以及SSH则会被删除账
号。
其提供的服务大致如下表所示:
| 名称 | Serv00 免费提供 |
|---|---|
| 存储空间 | 3 GB |
| 每月流量 | unlimited |
| 网站数量 | 100 |
| MySQL | 10 |
| PostgreSQL | 3 |
| MongoDB | 3 |
| GIT/SVN/HG 仓库 | 3 |
| TCP/UDP端口 | 3 |
| PHP解释器 | 3 |
| 系统进程 | 15 |
| RAM | 512MB |
| 备份 | 7天 |
| 服务器放置 | 欧盟 |
| 免费子域名 | http://login.serv00.net |
| 技术支持 | 只有论坛 |
| SLA | 不支持 |
| 现代技术 | 支持 |
| SSH访问 | 支持 |
| SSH隧道 | 不支持 |
| 远程数据库访问 | 不支持 |
| 固态硬盘 | 支持 |
| 没有广告 | 支持 |
| 价格 | 免费 |
更详细的配置说明请查阅官方说明。
账号注册
首先去serv00的官网注册一个账号 ,最好 不要使用国内邮箱 (我用的QQ邮箱,因为我没有其他邮箱了),注册信息请尽可能真实填写。

接着你可以在 邮箱 里收到你的 注册信息 的邮件:
列几个需要用到的几个内容:
Login: 登陆Panel的用户名Password: 密码SSH/SFTP server address: SSH的host地址MySQL server: 数据库database的host地址

邮件最末有Panel的 入口地址 (DevilWEB webpanel: 后的链接 ) 和文档链接以及论坛链接
接下来登入Panel进行操作:

首先去左侧的 Additional Service 选项卡中,找到 Run your own applications 选项,将其设置为 允许 :

接着去 Port reservation 选项卡,使用 Add port 功能,随机添加一个TCP端口:
比如:xxxx (这里举个例子,端口必须是数字哈!)
(你点随机生成即可,或想一个可用的4位数字)
记住你添加的端口,后面要用到

接着使用 SSH 登入到你的账户,我使用的SSH客户端是这个:JuiceSSH 安卓端的!

图片上填写你的 SSH地址 确定即可
第一次 链接ssh,大概会出现下面内容,建议复制记住,并接受哈!再次连接时,貌似要用到的!

后面好像(我记性不太好)有记住密码这一项,勾选,以防忘记!
之后点击常用 里面你添加的ssh即可再次连接!我点击直接就进去了,没有输入密码(可能是选了记住密码吧)
部署Alist
Alist的官方仓库并没有提供FreeBSD版本的可执行文件构筑,但是我在Github上找到了Unofficial的,专门为Alist构筑FreeBSD版本的仓库 ,所以只要使用这个仓库就可以在Serv00上部署使用Alist了。
Serv00本身提供的网站托管在 ~/domains 路径下,所以我建议把Alist也部署到这个路径下的子目录:
点击按钮复制命令,到手机登录好的SSH里,粘贴并回车!
解释一下
这里你可能对命令有点晕,我稍作解释一下(只了解一点点):
mkdir : 意思是新建文件夹
cd : 进入某个文件夹
比如运行了上述命令之后,你就在domains文件夹下新建了一个alist文件夹,并已经进去到alist文件夹下,如果重新连接ssh,要想进去alist文件夹,可以这样:
SSH中输入cd domains/alist 并回车就进去到了alist文件夹下!
接着下载目前 uubulb/alist-freebsd 提供的最新版的Alist的可执行二进制文件构筑:
点击右边按钮复制,粘贴到SSH中并回车!
然后需要先启动一次Alist以生成配置文件,此次启动一定会失败,请不用在意:
点击右边按钮复制,粘贴到SSH中并回车!
接着回到Panel中,找到MySQL选项卡,使用Add database功能新建一个数据库:

然后在Database list 刷新一下,即可看到添加好的数据库,请记住 database_name 的内容!(后面会用到)
密码要求含有大写字母、小写字母和数字三种字符,且长度必须超过6个字符。
接下来进入File manager选项卡,进入~/domains/alist/data 路径,可以看到一个名为 config.json 的文件,右键点击,选择 View/Edit ➽ Source Editor,进行编辑:

我主要修改了CDN、database、scheme 三个部分,其中CDN可以在Alist的官方文档找到,请选择你本地网络连接速度最快的一个。
scheme 部分:
adress修改为127.0.0.1本地回环,是为了避免被他人使用http://ip:port的方式进行访问。至于自己怎么访问,我在本文后面的部分会进行介绍。http_port: 要改成自己前面放行的端口。(比如刚才添加的TCP端口:xxxx )
database 部分:
type: 需要改成mysql,host: 填写你在注册邮件信息中看到的mysql的地址,即邮件中MySQL server:后面的地址,port: 是默认的3306,- 密码
password则按照你创建的情况进行填写。 - 用户名
user和 数据库名name均填写上面记住的database_name内容!
改完之后,点击左上角save保存,接着回到手机SSH窗口中进行操作。
如果发现ssh连接退出了,那就再次连接,然后进入
alist文件夹(输入命令:cd domains/alist并回车 )
然后,先启动alist一次,查看运行是否正常:
点击右边按钮复制,粘贴到SSH中并回车!

记住里 password 后内容,即为登录alist需要用到的管理员密码!
运行正常,记得把管理员用户的密码记住。接着使用Ctrl+c停止运行。
绑定域名
此时还没有访问Alist的方法,因为监听的地址是本地回环,所以需要将其反向代理出来。我选择使用Cloudflare提供的Argo通道,顺带给Alist绑定自己的域名。
Cloudflared官方仓库没有提供FreeBSD平台的客户端,但是和Alist一样的,我找到了Unofficial的FreeBSD版本的构筑,接下来使用它打隧道:
新建并进入Cloudflared的工作目录 :
先点击右边复制命令
要运行该命令,需要先退出ssh,重新连接,然后直接粘贴命令,后回车即可!
不要在domains/alist文件夹下运行,这里是为了防止你搞错,所以提醒了一下!
下载Cloudflared :
如果上面命令弄完,不小心退出了连接,就请
cd domains/cloudflared进入到domains/cloudflared文件夹下。如没退出连接,请忽略这句废话!
因为这步命令是紧接着上面命令的!(即这一步是在domains/cloudflared 文件夹下运行的。)
然后,请点击复制下方命令,粘贴并回车,即可完成cloudflared的下载
这里需要你提前注册一个Cloudflare账号,以方便下方步骤使用!
在你的cloudflare控制面板,左边找到zero trust ,点击进入,然后找到Networks分类下的Tunnels功能,点击Create a tunnel,选择Cloudflared,Next,随便取个名字,Next,往下翻,可以看到Run the following command,然后给了一串命令,将其复制出来,大概是这样的:
1 | cloudflared.exe service install eyJhIjoiNzh...............V5TWpBeSJ9 |
前面的不需要管,只需要保留最后ey开头的那串很长的TOKEN (请复制记住),去SSH中测试运行Cloudflared:
记得把最后的那一串
ey开头的替换成你的TOKEN。我这里的复制框,可以直接编辑,然后点击右边复制哦!
该命令在
domains/cloudfalred文件夹下运行的,如果ssh连接不小心退出,该怎么做就不用我多说了(前面提醒过了)
接着回到Cloudflare的面板,继续点击Next,然后添加一个自己的域名,Service中,Type选择HTTP,URL填写localhost:PORT,其中PORT为你的Alist对应的端口。(比如刚开始新建的端口为:xxxx,则这里应该写:localhost:xxxx)
点击Save Tunnel后,可以看到自己新建的Tunnel上线。
接着使用Ctrl+c停止运行。
然后安装进程管理工具pm2:
点击下方复制命令,然后直接粘贴并回车!
此命令,脚本自动处理,随便你在那个文件夹运行都可以!
然后使用pm2启动Cloudflared:
命令怎么运行不用多说了吧🙃(前面说了好多遍了)
1 | ~/.npm-global/bin/pm2 start ./cloudflared -- tunnel --edge-ip-version auto --protocol http2 --heartbeat-interval 10s run --token eyJhIjoiNzh...............V5TWpBeSJ9 |
记得把最后的那一串ey开头的替换成你的TOKEN。
该命令也是因为前面带目录了,所以随便在哪个文件夹下都可运行哈!(询问了大佬🙃)
再启动Alist:
点击复制下方命令,粘贴到ssh并回车!(看到了吗?命令里有cd ~/domains/alist 这句,说明该命令是要重新连接ssh,然后再直接粘贴命令并回车🙃)
到这里,就可以直接通过你的域名访问刚刚部署的Alist了。
收尾工作
听说Serv00会不定时重启机器,所以我们把pm2添加开机自启,可以保证每次重启都能由pm2调动Alist和Cloudflared。而且Serv00每三个月内必须要有一次登录面板或者SSH连接,不然会删号,也可以通过一个脚本解决问题,接下来我会详细说明。
自动定时SSH
在Panel中找到File manager选项卡,进入alist所在的路径,然后找到上方Send按钮左边的+,选择New empty file ,文件名命名为auto-renew.sh, 右键点击auto-renew.sh,选择View/Edit ➽Source Editor,进行编辑,把下面的代码块的内容都复制进去:
1 |
|
记得把其中的密码、用户名、ssh的地址修改为你自己的。(
密码大概就是最开始第一次连接SSH的时候,记住的密码吧!)
保存后回到SSH中,进入auto-renew.sh 所在的路径,并使用pm2管理运行它:
直接复制下方命令,粘贴到SSH并回车
这样就会每隔一个月自动执行一次SSH连接,自己SSH自己进行续期。
添加开机自启
在Panel中找到Cron jobs选项卡,使用Add cron job功能添加任务:

Specify time选择After reboot,即为重启后运行。Form type选择Advanced,Command写:
记得把你的用户名改为你的用户名
添加完之后,在SSH窗口保存pm2的当前任务列表快照:
复制并在ssh粘贴下方命令后回车
这样每次serv00不定时重启任务时,都能自动调用pm2读取保存的任务列表快照,恢复任务列表。
以上就是Serv00搭建使用Alist的全部程!!!!!!!