部署一个属于自己的文件服务器(File Browser )
背景
前二天,我看运维同学给公司部署了一个文件服务器,用来切换前端包,挺方便的。
想着在自己的ecs服务器部署一个,使用起来也方便。
简单介绍
File Browser是一个使用go语言编写的软件,功能是可以通过浏览器对服务器上的文件进行管理。
用于上传、删除、预览、重命名和编辑文件,使用起来很方便。
github地址
目前github最新的是2.31.2的版本 根据自身的情况进行选择下载了l
下载地址
部署
环境
我的环境是:CentOS Linux release 7.8.2003
内核版本是:3.10.0-1127.19.1.el7.x86_64
解压
选择安装位置
这里因为涉及到文件的上传情况,大家根据自己的资源情况,选择对应的问题。
df -h 可以查看挂载的情况。
例:
解压
这里的话,因为我的根目录的资源情况比较多,我就和网上教程一样放到了/data下面
创建目录
创建部署目录 /data/filebrowser
mkdir -p /data/filebrowser && cd /data/filebrowser
然后把我们从github上下载下来的linux-amd64-filebrowser.tar上传进去
这里也可以执行
wget https://github.com/filebrowser/filebrowser/releases/download/v2.31.2/linux-amd64-filebrowser.tar.gz
这里我选择的是v2.31.2版本,因为我部署的时候也是找的网上的部署教程,
网上的是 v2.27.0的版本,但我想着记录博客,那我就使用了最新的
写这个至少为了记录一下步骤和我自己设置的一些情况,
所以后面会存在教程有几步差不多情况下。
解压
tar -xzf linux-amd64-filebrowser.tar.gz
解压
将二进制文件filebrowser复制到/usr/bin/目录下,方便我们使用和操作filebrowser相关命令
cp -a filebrowser /usr/bin/filebrowser
查看版本号
filebrowser version
新建日志文件
touch ./filebrowser.log
新建配置文件
cat > /data/filebrowser/filebrowser.json <<EOF
{
"address": "0.0.0.0","port": 8093,
"database": "/data/filebrowser/filebrowser.db","log": "/data/filebrowser/filebrowser.log",
"locale": "zh-cn","username": "你的账号名字","password": "你的账号密码",
"root": "/",
"scope": "/"}
EOF
这里的root参数,我说一下, 就是指的是这个文件服务器从哪一个文件开始,如果我们设置的是根目录的话, 相当于是所有文件都可以在web端进行操作,这是有风险的,不推荐这样写。 可根据自己的情况进行更改
比如我是这样的写的。
{
"address": "0.0.0.0","port": 8006,
"database": "/data/filebrowser/filebrowser.db","log": "/data/filebrowser/filebrowser.log",
"locale": "zh-cn","username": "admin","password": "admin@2024",
"root": "/root/file_test",
"scope": "/"}
我只开放了/root/file_test目录出来
初始化数据库
filebrowser -d /data/filebrowser/filebrowser.db config init
修改登陆密码
filebrowser -d /data/filebrowser/filebrowser.db users add root root --perm.admin
这个修改密码也可以后执行,但需要记住的是 一定要在服务停止的是去执行,成功是会有返回的。
如果是在项目启动的执行是这个样子的
这种情况下是没有成功的!!
创建filebrowser服务
cat > /etc/systemd/system/filebrowser.service <<EOF
[Unit]
Description=filebrowser
Documentation=https://filebrowser.org/
After=network.target[Service]
ExecStart=/data/filebrowser/filebrowser -c /data/filebrowser/filebrowser.json[Install]
WantedBy=multi-user.target
EOF
启动filebrowser服务
systemctl daemon-reload
systemctl enable --now filebrowser
查看filebrowser服务状态
systemctl status filebrowser
启动filebrowser服务
systemctl start filebrowser
停止filebrowser服务
systemctl stop filebrowser
重启filebrowser服务
systemctl restart filebrowser
检查监听端口
ss -tunlp |grep file
更改语言
使用命令(服务没启动的情况下设置):
filebrowser -d /data/filebrowser/filebrowser.db config set --locale zh-cn
也可以在页面上进行更改
安全组配置
这里因为我们是使用的是阿里的ecs服务器,所以我们需要设置下对应的安全组,这样才能在外网访问这个端口
然后在进行对应的访问就可以了。
验证
服务器添加
我在服务器上添加了一个文件夹和一个文件
刷新页面也出来了
页面添加
我在页面上添加一个test_111
同理服务器上有了
这样就部署好了一个文件服务器
参考
Linux系统之部署File Browser文件管理系统述