前言

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

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

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

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

  3、可使用 shell;

  File Browser

一、安装配置

1、一键安装

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

curl -fsSL https://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

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

# 创建 Systemd 系统管理服务,创建服务文件
cat > /etc/systemd/system/WebFile.service <<EOF
[Unit]
Description=WebFile
Documentation=https://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 的界面:

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

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

文件服务器 — File Browser的更多相关文章

  1. Docker+JMeter单机版+File Browser

    基于JMeter5.1.1+File Browser2.1.0  JMeter发起压测  File Browser作为文件服务器 一.目录结构: Dockerfile文件: FROM ubuntu:1 ...

  2. 安卓工作室 文件浏览器 android studio File browser

    安卓工作室 文件浏览器 android studio  File browser 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: ...

  3. 理解ASP.NET Core - 文件服务器(File Server)

    注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 提供静态文件 静态文件默认存放在 Web根目录(Web Root) 中,路径为 项目根目录(C ...

  4. open File Browser in shell

    [maxosx] open /usr/include [ubuntu] 发现三个,如下: xdg-open xxxx.pdf gnome-open . nautilus . 喜欢把它alias一下 . ...

  5. File Browser文件资源服务器

    要是想一键启动的,这里有个封装版本的,上传到服务器,执行sh命令就能直接启动,也可以修改配置 链接:https://pan.baidu.com/s/1oVP5DrEQSV9hQmnF2bzM9A提取码 ...

  6. Android:让WebView支持<input type=”file”…>元素

    最近在做一个活动页面:用户上传一张图片进行缩放.旋转后点击下一步填写内容后生成图片! 做好后经过各种测试是没有问题的,基本没有什么明显BUG,流程都能走通,但是嵌入到APP后,问题就来了! 在IOS上 ...

  7. android webview type=file文件上传,安卓端代码

    http://stackoverflow.com/questions/5907369/file-upload-in-webview http://blog.csdn.net/longlingli/ar ...

  8. WebView使用input file控件打开相册上传图片

    使用 WebView 直接用 控件选择相册图片 package com.moguzhuan.android.zhuan; import android.annotation.TargetApi; im ...

  9. Android WebView 不支持 H5 input type="file" 解决方法

    最近因为赶项目进度,因此将本来要用原生控件实现的界面,自己做了H5并嵌入webview中.发现点击H5中 标签 不能打开android资源管理器. 通过网络搜索发现是因为 android webvie ...

  10. VBScript Scripting Techniques: File Open Dialog http://www.robvanderwoude.com/vbstech_ui_fileopen.php

    I accept cookies This website uses cookies to ensure you get the best experience on our website More ...

随机推荐

  1. Java SE 四大内部类

    内部类 1.成员内部类 调用成员内部类 //在外面的类的最后,写一个方法,调用成员内部类(创建对象,在访问) class Outer08{ class Inner08{ //成员内部类 public ...

  2. Python数据科学手册-Pandas:层级索引

    一维数据 和 二维数据 分别使用Series 和 DataFrame 对象存储. 多维数据:数据索引 超过一俩个 键. Pandas提供了Panel 和 Panel4D对象 解决三维数据和四维数据. ...

  3. jmeter性能测试之正则提取响应头或者响应体

    准备工作做好,先发送请求 然后察看结果树中的响应消息 比如我们要提取这个cookie,先调试一下,看能不能提取到 看蓝色的线条,我们提取到了,然后我们把这句话写入到后置处理器中的正则表达式提取里 再次 ...

  4. 彻底掌握Makefile(二)

    彻底掌握Makefile(二) 前言 在前面的文章彻底掌握Makefile(一)当中,我们简要的介绍了一些常见的makefile使用方法,在本篇文章当中我们将继续介绍一些makefile当中的常见用法 ...

  5. acme.sh官方中文说明文档

    转载自:https://github.com/acmesh-official/acme.sh/wiki/说明 acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书. ...

  6. 通俗易懂理解 MySQL B+树、数据存储、索引等知识

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247485630&idx=1&sn=681c9c0d ...

  7. Solutions:Elastic SIEM - 适用于家庭和企业的安全防护 ( 一)

  8. centos7使用yum方式安装MySQL5.7

    yum -y localinstall http://mirrors.ustc.edu.cn/mysql-repo/mysql57-community-release-el7.rpm yum inst ...

  9. 使用Gitlab的CI/CD功能自动化推送docker镜像到Nexus仓库出现的问题

    在服务器中可以直接使用命令行登录,推送docker镜像等 但是在使用Gitlab的CI/CD功能中,gitlab-ci.yml文件执行过程中出现如下错误: 原因分析: 服务器上之前使用命令行登陆过Ne ...

  10. 详解JS中 call 方法的实现

    摘要:本文将全面的,详细解析call方法的实现原理 本文分享自华为云社区<关于 JavaScript 中 call 方法的实现,附带详细解析!>,作者:CoderBin. 本文将全面的,详 ...