📝摘要

上一篇完成 Ubuntu Server 系统与局域网网络配置。本篇不使用 Docker,直接使用 FileBrowser 官方二进制包,完成工具下载、目录规划、文件权限处理。FileBrowser 项目已经归档停止维护,但轻量单文件、自带完整 REST API,非常适合二次开发,后续对接安卓 APP、C# WPF 桌面客户端。

0. 前言

FileBrowser 特点:
✅单二进制可执行文件,无复杂依赖,不需要数据库服务,内置 sqlite 数据库
✅自带 Web 管理界面,支持文件上传下载
✅完整 OpenAPI 接口文档,适合二次开发,自己写客户端
❌官方不再维护,没有现成安卓、PC 客户端,客户端需要自行开发

1. 环境说明

  • 操作系统:Ubuntu Server 22.04 LTS
  • 运行用户:lcvong(普通用户,不使用 root 运行服务)
  • 不需要安装 mysql、nginx、docker,零依赖。

2. 目录规划(非常重要,统一路径,后续 systemd 服务直接复用)

我们统一放在家目录/home/lcvong下面:

表格

目录作用
/home/lcvong/存放 filebrowser 可执行程序
/home/lcvong/fb_data存放 sqlite 数据库 filebrowser.db,用户账号密码配置
/home/lcvong/fb_files真正存放用户上传的所有文件,云盘存储目录

创建目录:

mkdir -p ~/fb_data
mkdir -p ~/fb_files

3. 下载 FileBrowser 二进制程序

github 下载速度慢,可以多等待;也可以本地下载后上传到服务器。

# 下载linux amd64版本
wget https://github.com/filebrowser/filebrowser/releases/latest/download/linux-amd64-filebrowser.tar.gz

解压压缩包

tar -zxvf linux-amd64-filebrowser.tar.gz

解压之后得到可执行文件 filebrowser
赋予执行权限

chmod +x ./filebrowser

4. 前台测试运行(验证程序是否可用)

前台运行测试,关闭 ssh 窗口程序就停止,仅用于测试:

./filebrowser -d ~/fb_data/filebrowser.db -p 8080 -a 0.0.0.0 -r ~/fb_files

参数说明
-d:指定数据库存放路径
-p:监听端口 8080
-a 0.0.0.0:允许局域网所有 IP 访问
-r:云盘文件根目录

启动成功输出:Listening on [::]:8080,按Ctrl + C停止测试。

5. 防火墙放行 8080 端口

后面服务使用 8080 端口,防火墙放行端口:

sudo ufw allow 8080/tcp
sudo ufw reload
sudo ufw status

6. 踩坑记录(CSDN 博客重点,记录遇到的坑)

  1. github release 下载慢,长时间卡住:本地电脑浏览器下载,通过 sftp 上传到服务器
  2. 忘记给二进制执行权限,提示权限不足:chmod +x ./filebrowser
  3. 目录权限错误,网页上传文件失败:程序使用 lcvong 用户运行,fb_files 文件夹必须属于 lcvong 用户
  4. 前台测试正常,后台 systemd 运行异常:注意 service 文件里面路径必须写绝对路径,不能使用~波浪号

7. 本篇小结

本篇完成环境准备:

  1. 规划数据库目录、文件存储目录
  2. 下载解压 FileBrowser 单文件程序,验证程序可以正常启动
  3. 防火墙放行服务端口

下一篇:systemd 配置后台常驻服务、账号密码重置、网页中文切换、API 接口调试,以及后续自研安卓 / C# 客户端开发思路。

标签

#FileBrowser #自建私有云 #Ubuntu服务部署 #REST API #程序员实战

更多推荐