NotePublic/Software/Application/Filebrowser/Filebrowser_的部署和使用.md

116 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Filebrowser 的部署和使用
Filebrowser 是一款开源的,基于 Go 语言开发的 Web 端文件浏览器,可实现文件上传,下载等。
## 下载和安装
<https://github.com/filebrowser/filebrowser> 的 Release 中下载对应平台和系统的版本,解压即可使用。
## 部署
Filebrowser 基于数据库形式的配置文件进行工作,用户可通过 Filebrowser 命令直接操作该数据库,不需要直接与数据库打交道。可以使用 -d 参数指定数据库文件,如没有提供该参数,将使用 filebrowser 程序文件路径下的默认数据库文件,如果该数据库文件不存在则自动创建。
使用两个基本指令 config 和 users 即可完成 Filebrowser 的简单配置config 指令的用法如下:
```sh
filebrowser config init <attribute> <value>
# 查看当前属性配置
filebrowser config cat
# 设置某属性
filebrowser config set <attribute> <value>
```
用于配置的几个主要属性如下:
| Attribute | Usage |
|-----------|-------------------------------------------|
| address | address to listen on |
| port | port to listen on |
| baseurl | base url |
| cert | tls certificate |
| key | tls key |
| commands | a list of the commands a user can execute |
| scope | scope for users |
| signup | allow users to signup |
| log | log output |
users 指令的基本用法如下:
```sh
# 列出所有用户
filebrowser users ls
# 删除某用户
filebrowser users rm <id|username>
# 添加用户
filebrowser users add <username> <password> [flags]
```
几个常用的的 flag 如下
| Flags | Usage |
|------------|----------------------|
| perm.admin | admin perm for users |
| scope | scope for users |
## 示例
部署 Filebrowser 并创建一个管理员账户的示例流程如下:
```sh
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 --log /var/log/filebrowser.log
filebrowser -d /etc/filebrowser.db users add root password --perm.admin
```
其中的root和password分别是用户名和密码根据自己的需求更改。
部署完成后,可在管理员账户的系统设置界面对系统进行一些其他设置,如视图模式、普通用户权限、区域和语言等。
## 利用 Caddy 进行反向代理
可以利用 Caddy 为 Filebrowser 做反向代理
## 在 Root Domain 进行反向代理
不需要修改 Filebrowser 配置Caddyfile 示例内容如下:
```sh
example.com {
proxy / 127.0.0.1:8080
}
```
## 在 Sub-directory 下进行反向代理
需要先修改 Filebrowser 配置,假设 Sub-directory 为 admin
```sh
filebrowser config set --baseurl /admin
```
Caddyfile 的示例内容如下:
```sh
example.com {
proxy /admin 127.0.0.1:808
}
```
```sh
localhost:2015/admin {
proxy / 127.0.0.1:8080
}
```
## Https
Filebrowser 内建了 HTTPS 支持,只需要配置 SSL 证书即可。
```sh
filebrowser config set --cert <crt> --key <key>
```