简介
File Browser 是一个基于 Web 的文件管理器。它可以使你随时随地的对某一目录下设备的文件进行基本的管理操作,如:创建、删除、移动、复制等。同时它还支持多个用户的管理,而且每个用户可以拥有自己可以访问的文件和权限等十分丰富的特性。
安装及配置
File Browser 适用于全平台,任何操作系统都可以安装它,当然,我会以 Linux 为主。
File Browser 在 Linux 的安装非常简单,只需要一条命令就可以搞定:
1 | curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash |
当安装好之后,你并不能立即使用它,需要修改一些配置。
创建配置数据库:
1 | filebrowser -d /etc/filebrowser.db config init |
设置监听地址:
1 | filebrowser -d /etc/filebrowser.db config set --address 0.0.0.0 |
设置监听端口:
1 | filebrowser -d /etc/filebrowser.db config set --port 8088 |
设置语言环境:
1 | filebrowser -d /etc/filebrowser.db config set --locale zh-cn |
设置日志位置:
1 | filebrowser -d /etc/filebrowser.db config set --log /var/log/filebrowser.log |
添加一个用户:
1 | filebrowser -d /etc/filebrowser.db users add root password --perm.admin |
其中的root
和password
分别是用户名和密码,根据自己的需求更改。
有关更多配置的选项,可以参考官方文档:https://filebrowser.org/
配置修改好以后,就可以启动 File Browser 了,使用-d
参数指定配置数据库路径。示例:
1 | filebrowser -d /etc/filebrowser.db |
启动成功就可以使用浏览器访问 File Browser 了,在浏览器输入 IP:端口,示例:http://192.168.1.1:8088
然后会看到 File Browser 的登陆界面,用刚刚创建的用户登陆。
登陆以后,默认会看到 File Browser 运行目录下的文件,需要更改一下当前用户的文件夹位置。
点击 [设置] → [用户设置] → 编辑用户 admin → 将目录范围改为你想要显示的文件夹,例如:/mnt → 修改完成后点击最下方的保存即可。
这样,File Browser 的基本安装和配置就搞定了。
常见问题
后台运行
File Browser 默认是前台运行,想使其后台运行,有如下一些方法:
nohup 大法:
运行:
1 | nohup filebrowser -d /etc/filebrowser.db >/dev/null 2>&1 & |
停止运行:
1 | kill -9 $(pidof filebrowser) |
开机启动:
1 | sed -i '/exit 0/i\nohup filebrowser -d \/etc\/filebrowser.db >\/dev\/null 2>&1 &' /etc/rc.local |
取消开机启动:
1 | sed -i '/nohup filebrowser -d \/etc\/filebrowser.db >\/dev\/null 2>&1 &/d' /etc/rc.local |
systemd 大法:
首先下载 File Browser 的 service 文件:
1 | curl https://raw.githubusercontent.com/ovo-ukiyo/filebrowser_service/main/filebrowser.service -O /lib/systemd/system/filebrowser.service |
如果你的运行命令不是
1 | /usr/local/bin/filebrowser -d /etc/filebrowser.db |
则需要对 service 文件进行修改,将文件的 ExecStart 改为你的运行命令,更改完成后需要输入
1 | systemctl daemon-reload |
运行:
1 | systemctl start filebrowser.service |
停止运行:
1 | systemctl stop filebrowser.service |
开机启动:
1 | systemctl enable filebrowser.service |
取消开机启动:
1 | systemctl disable filebrowser.service |
查看运行状态:
1 | systemctl status filebrowser.service |
screen 大法
使用screen,如果没有请使用包管理器安装。
使用screen命令
1 | screen -S filebrowser |
创建一个screen会话,在该会话里运行filebrowser,启动后使用Ctrl+a,d
离开会话。
我推荐使用 systemd 的方法来后台运行,当然,前提是你所使用的操作系统支持 systemd,其次推荐使用screen的方法,简单粗暴。
HTTPS
File Browser 2.0 起开始内建 HTTPS 支持,只需要配置 SSL 证书即可。
配置SSL:
1 | filebrowser -d /etc/filebrowser.db config set --cert example.com.crt --key example.com.key |
其中example.com.crt
和example.com.key
分别是 SSL 证书和密钥路径,根据自身情况进行更改。配置完 SSL 后,只可以使用 HTTPS 访问,不可以使用 HTTP。
取消 SSL:
1 | filebrowser -d /etc/filebrowser.db config set --cert "" --key "" |
在这里,我比较建议直接使用Caddy,Caddy一个开源、支持 HTTP/2 的 Web 服务器,它的一个显著特点就是默认启用 HTTPS 访问,会自己申请 SSL 证书,同时支持大量的插件,File Browser 就可以作为其插件运行。同时,通过下载相应的插件以及配置环境变量可以自动实现ssl证书的申请。
比如我的域名套了一层cloudflare,我便可以下载对应的插件,实现自动申请ssl证书。
外网访问
每个人的情况不同,外网访问的配置方法也不一样。
对于vps等,一般都会分配公网 IP 地址,不管是 v4 还是 v6,在防火墙上打开相应的端口以及设置好端口转发即可。对于一些服务器内使用了防火墙的(iptables,firewalld),不仅需要打开服务提供商的防火墙上对应的端口以及设置好端口转发,还需设置服务器上的防火墙。
如果你没有公网IP地址,那么你想要外网访问可能就需要内网穿透了。