最近在网上发现一个可以免费部署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的全部程!!!!!!!