大家如果想随时随地查看和修改文件,一般会选择将文件保存至网盘,很方便,而且空间还比较大。但是由于国内的网盘环境现在比较差,再加上我们不可能把所有文件都搬上网盘,那就需要另一种解决方案了。
这就是让我们可以直接访问我们家里或者公司里的设备,直接对设备上的文件进行操作。如果在以前,这种方案并不是人人都可以做到的,因为如果你想直接访问设备,就需要设备有公网 IP 或者做内网穿透,否则是无法随时随地访问设备的。
但是随着 IPv6 的普及,我们已经可能做到每台设备都有一个公网 IPv6 地址,虽然它不是固定的,不过你只需要一个域名,配置下 DDNS ,就可以随时随地的访问你的设备了。
这对于家里有 NAS 或者是有个小型存储设备的人来说,就不需要再依靠网盘来随时随地的访问文件了。
关于远程访问文件管理方面,之前小山写过一篇关于如何在 OpenWrt 使用可道云的文章,不过使用可道云是因为 OpenWrt 的环境导致的。如果你在其他设备上使用,也可以使用 NextCloud 等文件管理系统。
不过由于这些都是单独的 PHP 系统,配置起来相对麻烦,不适合小白操作,今天小山给大家带来一个简单易用的文件管理程序:File Browser
简介
File Browser 是一个基于 Web 的文件管理器。它可以使你随时随地的对设备的文件进行基本的管理操作,如:创建、删除、移动、复制等。它除了可以让你进行文件管理之外,还有一些其他的功能。它支持多个用户的管理,而且每个用户可以拥有自己可以访问的文件和权限。它还支持文件分享,就行网盘那样,你可以通过它来向你的朋友分享文件。你还可以用它来执行一些 Linux 命令,比如你想要在当前目录下克隆一个代码库,就可以用它来执行git
等命令。
安装及配置
File Browser 适用于全平台,任何操作系统都可以安装它,当然,我会以 Linux 为主。
File Browser 在 Linux 的安装非常简单,只需要一条命令就可以搞定:curl -fsSL https://filebrowser.xyz/get.sh | bash
,你也可以手动下载可执行文件进行安装:https://github.com/filebrowser/filebrowser/releases/latest
当安装好之后,你并不能立即使用它,需要修改一些配置。
创建配置数据库:filebrowser -d /etc/filebrowser.db config init
设置监听地址:filebrowser -d /etc/filebrowser.db config set --address 0.0.0.0
设置监听端口:filebrowser -d /etc/filebrowser.db config set --port 8088
设置语言环境:filebrowser -d /etc/filebrowser.db config set --locale zh-cn
设置日志位置:filebrowser -d /etc/filebrowser.db config set --log /var/log/filebrowser.log
添加一个用户:filebrowser -d /etc/filebrowser.db users add root password --perm.admin
,其中的root
和password
分别是用户名和密码,根据自己的需求更改。
有关更多配置的选项,可以参考官方文档:https://docs.filebrowser.xyz/
配置修改好以后,就可以启动 File Browser 了,使用-d
参数指定配置数据库路径。示例: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 大法:
运行:nohup filebrowser -d /etc/filebrowser.db >/dev/null 2>&1 &
停止运行:kill -9 $(pidof filebrowser)
开机启动:sed -i '/exit 0/i\nohup filebrowser -d \/etc\/filebrowser.db >\/dev\/null 2>&1 &' /etc/rc.local
取消开机启动:sed -i '/nohup filebrowser -d \/etc\/filebrowser.db >\/dev\/null 2>&1 &/d' /etc/rc.local
第二种是 systemd 大法:
首先下载 File Browser 的 service 文件:curl https://cdn.mivm.cn/www.mivm.cn/archives/filebrowser/filebrowser.service -o /lib/systemd/system/filebrowser.service
如果你的运行命令不是/usr/local/bin/filebrowser -d /etc/filebrowser.db
,需要对 service 文件进行修改,将文件的 ExecStart 改为你的运行命令,更改完成后需要输入systemctl daemon-reload
。
运行:systemctl start filebrowser.service
停止运行:systemctl stop filebrowser.service
开机启动:systemctl enable filebrowser.service
取消开机启动:systemctl disable filebrowser.service
查看运行状态:systemctl status filebrowser.service
我推荐使用 systemd 的方法来后台运行,当然,前提是你所使用的操作系统支持 systemd。
File Browser 2.0 起开始内建 HTTPS 支持,只需要配置 SSL 证书即可。
配置 SSL: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:filebrowser -d /etc/filebrowser.db config set --cert "" --key ""
当然,你也可以使用 Nginx 等 Web 服务器对 File Browser 进行反向代理,以达到 HTTPS 访问的目的。
还有就是使用 Caddy,这是一个开源、支持 HTTP/2 的 Web 服务器,它的一个显著特点就是默认启用 HTTPS 访问,会自己申请 SSL 证书,同时支持大量的插件,File Browser 就可以作为其插件运行。
每个人的情况不同,外网访问的配置方法也不一样。
如果你有公网 IP 地址,不管是 v4 还是 v6,在防火墙上打开相应的端口以及设置好端口转发即可。
如果你没有公网IP地址,那么你想要外网访问可能就需要内网穿透了,可以参考我之前写的文章:《OpenWrt 使用 frp 实现内网穿透》
好了,以上就是 File Browser 在 Linux 系统上安装以及使用的方法,有关于更多的问题,欢迎加入 QQ 群与我探讨。
微信扫描二维码关注我们
如果觉得文章有帮助到你,可以点击下方的打赏按钮赞助下服务器费用。
文章评论
filebrowser的分享链接打开后无限转圈
@laoliu 你加入 QQ 群与我交流吧,分享功能我没怎么用过。
请问如果要卸载如何操作呢
你好,请问一下只允许某个用户看到指定的几个文件或者文件夹要怎么设置?还有QQ群怎么进?
@微凉 你或许可以用软链接做到这一点,QQ 群在电脑版网页的右侧。
请问怎么修改自定义样式呢?我改了之后,相应位置没用创建任何文件
Branding:
Name: HSRJ
Files override: /filebrowser/test
Disable external links: true
@范特西 它不会自动创建任何文件,你需要手动创建 CSS 或 图片。
lede openwrt 可以安装filebrowser 的吗?
@肉肉 可以的,只要下载对应 CPU 架构的可执行文件就可以。
@小山 请问大佬哪里有,可以下载?我再GitHub上没找到
@肉肉 GitHub 那些都是可执行(二进制)文件,只需要下载符合你 CPU 架构的 Linux 版本的文件就可以了。
@小山 没有看到mipsel 这个的啊,有链接吗大佬给我。谢谢了
@肉肉 mipsel 架构性能太差了,作者可能没有预编译,你可以自己尝试着使用 Golang 进行编译。
版主 我安装完过后 进入页面 一直在加载 网页头名已经显示 File Browser了 但是一直就是加载中 没得内容 会是什么原因呢 mysql apache 都安装了 只是没有安装php环境.
@God_DW 不需要 PHP、Apache 和 MySQL,你只要用 File Browser 初始化并设置好数据库文件就行了。
我直接下载了安装包,在centos7.7安装的 但是不能访问 是最后一步启动的问题么 用-d参数指定数据库路径 这个应该不影响吧。。顺便问下 这个最大支持多少会话跟多少用户数..今天我准备试试seafile的社区版..
@God_DW 启动的时候必须指定数据库或者配置文件,会话和用户数,具体不清楚,不过正常情况下是肯定够用的。
直接在线安装已经不行了 找不到那个地址...
@Dod_DW 地址是有效的,你可以在浏览器里尝试访问下看看正常不正常。
博主用的哪个版本的linux系统..
@Dod_DW 什么系统都可以,这个不区分系统。
请问安装之后出了新版本怎么更新?
@某 下载最新的二进制文件覆盖或者使用安装脚本重新执行一次。