FileBrowser 安装与配置

安装

1
2
3
4
$ wget https://github.com/filebrowser/filebrowser/releases/download/v2.1.0/linux-amd64-filebrowser.tar.gz
$ sudo tar -C /usr/local/bin/ -xzvf linux-amd64-filebrowser.tar.gz filebrowser
$ sudo chown root:root /usr/local/bin/filebrowser
$ sudo chmod 755 /usr/local/bin/filebrowser

配置

创建相关目录并设置权限

1
2
$ mkdir -p /data/filebrowser/{share,logs}
$ chown -R www-data:www-data /data/filebrowser/

创建并初始化数据库

1
$ filebrowser -d /data/filebrowser/filebrowser.db config init

设置监听地址

1
$ filebrowser -d /data/filebrowser/filebrowser.db config set --address 0.0.0.0

设置监听端口

1
$ filebrowser -d /data/filebrowser/filebrowser.db config set --port 2000

设置语言环境

1
$ filebrowser -d /data/filebrowser/filebrowser.db config set --locale zh-cn

设置数据存储路径

1
$ filebrowser -d /data/filebrowser/filebrowser.db config set --root /data/filebrowser/share

设置日志文件

1
$ filebrowser -d /data/filebrowser/filebrowser.db config set --log /data/filebrowser/logs/filebrowser.log

添加管理员账号并设置密码

1
$ filebrowser -d /data/filebrowser/filebrowser.db users add admin 123456 --perm.admin

修改数据库文件权限

1
$ chown www-data:www-data /data/filebrowser/filebrowser.db

测试启动 filebrowser

1
$ sudo -u www-data filebrowser -d /data/filebrowser/filebrowser.db

配置 Systemd 启动

编写 Service 文件

创建文件 /etc/systemd/system/filebrowser.service,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]
Description=File Browser
After=network.target

[Service]
User=www-data
Group=www-data
Type=simple
ExecStart=/usr/local/bin/filebrowser -d /data/filebrowser/filebrowser.db
Restart=on-failure

[Install]
WantedBy=multi-user.target

启动服务并设置自启动

1
2
3
$ systemctl daemon-reload
$ systemctl start filebrowser.service
$ systemctl enable filebrowser.service

其它设置

数据管理

为了便于数据管理,可以将常用的普通用户加入 www-data 组,并将数据存储目录权限修改为 775

1
2
$ sudo gpasswd -a rainy www-data
$ chmod 775 /data/filebrowser/share/

启用 SSL

1
filebrowser -d /data/filebrowser/filebrowser.db config set --cert example.com.crt --key example.com.key

其中 example.com.crtexample.com.key 分别是 SSL 证书和密钥路径

禁用 SSL

1
$ filebrowser -d /data/filebrowser/filebrowser.db config set --cert "" --key ""

配置文件相关命令

导出配置到 json 文件

1
$ filebrowser config export config.json

从 json 文件导入配置

1
$ filebrowser config import config.json

从指定的配置文件启动 (2.x 版本开始已弃用)

1
$ filebrowser --config config.json

注意事项

  • 配置 SSL 后仅能使用 HTTPS 访问,原先的 HTTP 访问方式会失效。
  • 若不想将 filebrowser 直接暴露在外或者不想通过 filebrowser 自身来启用 SSL,可以使用 Nginx 或 Apache 等 Web 服务器对 File Browser 进行反向代理。
  • 由于 filebrowser 运行时会独占数据库,所有对 filebrowser.db 进行的配置操作都要在 filebrowser 关闭的时候进行,否则会出现 Time Out 错误。

参考资料

https://filebrowser.xyz/