宝塔面板搭建Alist网盘教程(2024最新实践版)
Alist,一款卓越的开源网盘解决方案,构建于强大的WebDAV协议之上,为用户解锁了多元化的存储选项。包括但不限于直接利用本地硬盘空间、SMB共享网络、WebDAV服务、FTP/SFTP传输协议以及对象存储服务,甚至整合了主流云存储服务如百度网盘与阿里云盘,确保数据存储的灵活性和广泛接入性。Alist不仅仅是一个存储工具,它还提供先进的文件预览功能、生成可共享的永久链接、贴心设计的黑暗模式以及支持全球多语言界面,极大地提升了用户体验。通过坚守WebDAV协议标准,Alist保证了与各类浏览器及第三方应用的无缝协作,让文件管理变得轻松高效。无论是个人用户还是企业级应用,Alist都展现出极高的可定制性和坚实的安全性,成为文件存储与管理的优选平台。
项目信息
- 项目地址:github官方
- 项目文档:需要前往官方查看
安装Alist教程(宝塔面板)
1、新建站点
在宝塔面板新建站点,数据库无需创建,PHP版本可随意,纯静态也可以,我这里举例的域名是:pan.dashu.xin ,按照下面图片步骤即可。特别提醒下方图片中的根目录,也就是alist安装后的目录,后面要用到。
2、安装alist
下面是官方提供的一键安装自义定位置脚本,我们通过宝塔自带的终端,或者SSH软件登录到服务器后输入下面对应的命令。注意下面的/www/wwwroot/pan.dashu.xin是上面建立网站时的根目录,改成对应的根目录即可。全程或自动安装,执行完毕后,会提示你Alist安装成功。
# 安装命令
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install /www/wwwroot/pan.dashu.xin
# 更新命令
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s update /www/wwwroot/pan.dashu.xin
# 卸载命令
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s uninstall /www/wwwroot/pan.dashu.xin
2、修改用户密码
利用下面代码进入到alist文件夹,注意后面是/www/wwwroot/pan.dashu.xin路径哦!别错了哦!
cd /www/wwwroot/pan.dashu.xin/alist
随机设置新密码命令,输入后显示随机密码。(自定义密码此步请忽略)
./alist admin random
手动设置新密码命令,举例为12345678。
./alist admin set 12345678
常用alist,注意需要进入alist目录哦,也就是类似cd /www/wwwroot/pan.dashu.xin/alist
启动: systemctl start alist
关闭: systemctl stop alist
状态: systemctl status alist
重启: systemctl restart alist
网站设置
1、端口放行
由于alist默认使用的是5244端口,绝大部分服务器没有开放此端口,所以上面安装成功但是无法打开程序。首先我们需要放行服务器的端口,需要到对应服务器购买商后台放行,因为服务商太多,无法提供相关具体方法,只能自己去查看后台防火墙设置。第二步,我们放行宝塔面板5244端口,按照下面图片操作即可。
2、反向代理
正常来说需要域名+端口访问程序,但是利用宝塔反向代理即可域名直接访问,确保服务器是已经安装Nginx。首先进入网站的设置页面,和下面图片操作页面一样,代理名称随意,目标URL设置为:http://127.0.0.1:5244 ,发送域名设置为:$host 其它默认即可。
测试网站程序
到这一步如果使用上面的域名http://pan.dashu.xin就可以正常访问alist程序了。若果不能访问,只能再次按照上面的步骤测试了。
【拓展】此步可以忽略哟!
修改数据源为mysql
因程序默认没有使用数据库来储存数据,利用下面的办法可以有效避免数据丢失等。在上面网站的根目录的alist目录中选择data文件夹,选择config.json文件,打开我们修改下面的类容,是修改哦,不是添加。然后重启alist,重启后需要利用上面的命令重新设置密码才能访问。
"database": {
"type": "mysql",
"host": "localhost",
"port": 3306,
"user": "连接的数据库用户名",
"password": "数据库的密码",
"name": "连接的数据库的名字",
"db_file": "data\\data.db",
"table_prefix": "x_",
"ssl_mode": ""
},