最近在网上发现一个可以免费部署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邮箱,因为我没有其他邮箱了),注册信息请尽可能真实填写。

注册serv00账号

接着你可以在 邮箱 里收到你的 注册信息 的邮件:

列几个需要用到的几个内容:

  • Login : 登陆Panel的用户名
  • Password : 密码
  • SSH/SFTP server address : SSH的host地址
  • MySQL server : 数据库database的host地址

邮箱注册信息

邮件最末有Panel的 入口地址 (DevilWEB webpanel: 后的链接 ) 和文档链接以及论坛链接

接下来登入Panel进行操作:

DevilWEB

首先去左侧的 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/EditSource Editor,进行编辑:

修改config.json内容

我主要修改了CDNdatabasescheme 三个部分,其中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中并回车!

试运行alist

记住里 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选择HTTPURL填写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
2
3
4
5
6
#!/bin/bash

while true; do
sshpass -p '密码' ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -tt 用户名@ssh地址 "exit" &
sleep 259200 #30天为259200秒
done

记得把其中的密码、用户名、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的全部程!!!!!!!


本站由 酷小呵 使用 Stellar 1.29.1 主题创建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

{% timeline user:kuhehefx api:https://talk.kuhehe.top/?tag=分享&limit=50&showtag=false type:memos %}
{% endtimeline %}

本文总阅读量 次 本文总访客量 人 本站总访问量 次 本站总访客数

Calculating…

本站已稳定运行