文件服务器 — File Browser

前言

  一直想部署一套文件服务器,供队友之间相互传输文件。平时用微信发送文件真的太烦了,每发送或者接收一次都会有一个新的文件,造成重复文件太多了。文件服务器统一管理,自己需要什么文件再下载。

  前面的思路一直是想使用 ftp ,安装了 vsftpd,配置也都成功,服务也启动了,可是访问一直有问题,而且查了下,有些使用工具有些是通过浏览器。实际的效果也并不好。这令天又特意搜索了下文件服务器的部署问题,看到了 File Browser,通过官网部署了一套,其相比之下有以下优点:

  1、部署简单,配置文件、数据库(单文件数据库 Bolt DB)等都可一键配置;

  2、可视化操作,界面简洁、操作简单,适用人群广(前台小姐姐也可快速上手啦);

  3、可使用 shell;

  File Browser

一、安装配置

1、一键安装

  官方给的有一键安装命令行:

curl -fsSL //raw.githubusercontent.com/filebrowser/get/master/get.sh | bash filebrowser -r /path/to/your/files

  如果自己的网络不好的话,可以自行到官网下载压缩包文件。

2、下载解压

  到 GitHub 上面下载:下载地址,根据自己系统等信息下载对应版本。

  下载到对应目录后,解压即可,解压后只有一个二进制的文件 filebrowser,可以改名,也可以不改名。后面有些执行需要用到这个,不改名直接用 filebrowser。

3、配置

  虽然官方给的说明是,解压后就可以直接使用。这里还是介绍下一些基本配置。(下面的文件路径根据自己的进行修改,以及一些配置如:端口、用户名密码等)

  创建配置文件,并编辑内容:

# 创建日志文件、配置文件
touch /home/WebFile/WebFile.log
touch /home/WebFile/WebFile.json
# 编辑配置文件,下面代码直接执行即可
cat > /home/WebFile/WebFile.json <<EOF
{
"address": "0.0.0.0",
"port": 10001,
"database": "/home/WebFile/WebFile.db",
"log": "/home/WebFile/WebFile.log",
"locale": "zh-cn",
"username": "ADMIN",
"password": "ADMIN@2022",
"root": "/",
"scope": "/"
}
EOF

  数据库初始化和配置

# 创建数据库,并配置,每执行一句,会打印出数据库配置信息,对配置的信息会更新
/home/WebFile/filebrowser -d /home/WebFile/WebFile.db config init
# 设置地址
/home/WebFile/filebrowser -d /home/WebFile/WebFile.db config set --address 0.0.0.0
# 设置端口
/home/WebFile/filebrowser -d /home/WebFile/WebFile.db config set --port 10001
# 设置语言
/home/WebFile/filebrowser -d /home/WebFile/WebFile.db config set --locale zh-cn
# 设置日志文件路径
/home/WebFile/filebrowser -d /home/WebFile/WebFile.db config set --log /home/WebFile/WebFile.log
# 添加用户,并赋管理员权限,设置可查看范围
/home/WebFile/filebrowser -d /home/WebFile/WebFile.db users add zksy zksy@2022 --perm.admin --scope /

  到这里全部的配置都完成了,启动服务后就可以看到可视化界面。

4、创新系统管理服务

  使用命令行可以直接启动服务(如下命令行)。

filebrowser -c WebFile.json

  但是每次启动挺麻烦,下面就把WebFile添加到系统服务,并设置开机自启动。

# 创建 Systemd 系统管理服务,创建服务文件
cat > /etc/systemd/system/WebFile.service <<EOF
[Unit]
Description=WebFile
Documentation=//filebrowser.org/
After=network.target

[Service]
ExecStart=/home/WebFile/filebrowser -c /home/WebFile/WebFile.json

[Install]
WantedBy=multi-user.target
EOF

  有了系统配置文件,第一步要做的就是下面几部:

# 有了新的服务文件,需要重启 Systemd 服务
systemctl daemon-reload
# 设置开机自启动
systemctl enable WebFile

  后面就是对服务的一些基本操作:启动、状态、停止等

# 启动WebFile服务
systemctl start WebFile

# 查看WebFile服务状态
systemctl status WebFile

# 停止WebFile服务
systemctl stop WebFile

# 取消WebFile服务开机自启动
systemctl disable WebFile

二、使用

  启动服务后,在浏览器打开 File Browser 的界面:

  界面比较简单,左侧菜单,右上角是工具栏:

   “设置”界面可以对用户、目录等进行设置。下面是管理员的设置界面,操作都比较简单。