116 lines
3.4 KiB
Markdown
116 lines
3.4 KiB
Markdown
# Filebrowser 的部署和使用
|
||
|
||
Filebrowser 是一款开源的,基于 Go 语言开发的 Web 端文件浏览器,可实现文件上传,下载等。
|
||
|
||
## 下载和安装
|
||
|
||
到 <https://github.com/filebrowser/filebrowser> 的 Release 中下载对应平台和系统的版本,解压即可使用。
|
||
|
||
## 部署
|
||
|
||
Filebrowser 基于数据库形式的配置文件进行工作,用户可通过 Filebrowser 命令直接操作该数据库,不需要直接与数据库打交道。可以使用 -d 参数指定数据库文件,如没有提供该参数,将使用 filebrowser 程序文件路径下的默认数据库文件,如果该数据库文件不存在则自动创建。
|
||
|
||
使用两个基本指令 config 和 users 即可完成 Filebrowser 的简单配置,config 指令的用法如下:
|
||
|
||
```bash
|
||
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 指令的基本用法如下:
|
||
|
||
```bash
|
||
# 列出所有用户
|
||
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 并创建一个管理员账户的示例流程如下:
|
||
|
||
```bash
|
||
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 示例内容如下:
|
||
|
||
```ini
|
||
example.com {
|
||
proxy / 127.0.0.1:8080
|
||
}
|
||
```
|
||
|
||
## 在 Sub-directory 下进行反向代理
|
||
|
||
需要先修改 Filebrowser 配置,假设 Sub-directory 为 admin:
|
||
|
||
```bash
|
||
filebrowser config set --baseurl /admin
|
||
```
|
||
|
||
Caddyfile 的示例内容如下:
|
||
|
||
```ini
|
||
example.com {
|
||
proxy /admin 127.0.0.1:808
|
||
}
|
||
```
|
||
|
||
或
|
||
|
||
```ini
|
||
localhost:2015/admin {
|
||
proxy / 127.0.0.1:8080
|
||
}
|
||
```
|
||
|
||
## Https
|
||
|
||
Filebrowser 内建了 HTTPS 支持,只需要配置 SSL 证书即可。
|
||
|
||
```bash
|
||
filebrowser config set --cert <crt> --key <key>
|
||
```
|