个人网盘 Filebrowser

服务器仅仅用于科学上网未免有些浪费了,是时候尝试一下自建个人网盘和图床了。

如何安装

官方给出了一键安装大法,进入服务器输入以下命令就可以了。

1
curl -fsSL https://filebrowser.xyz/get.sh | bash

首次配置

当安装好之后,你并不能立即使用它,需要修改一些配置(以下内容参考[米V米]的教程)。

  • 创建配置数据库(初始化数据库):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 --locale zh-cn
  • 设置日志位置: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分别是用户名和密码,根据自己的需求更改。

所有配置filebrowser.db的操作都要在filebrowser关闭的时候操作,由于filebrowser工作的时候会独占数据库。

否则,会出现 ‘Time Out’错误

有关更多配置的选项,可以参考官方文档:https://docs.filebrowser.xyz/
配置修改好以后,就可以启动FileBrowser了,使用-d参数指定配置数据库路径。示例:filebrowser -d /etc/filebrowser.db
启动成功就可以使用浏览器访问FileBrowser了,在浏览器输入 服务器IP:端口,示例:http://192.168.1.1:8088

然后会看到 FileBrowser 的登陆界面:
20190813114005-2019-8-13.png
用刚刚创建的用户登陆,最后就可以放心使用啦~
20190813114024-2019-8-13.png

后续配置

完成以上过程之后已经可以正常访问个人网盘了,但是假如服务器重启之后就必须重新输入filebrowser -d /etc/filebrowser.db才能运行,为了省去这一步,我们需要进行设置服务器开机自动启动FileBrowser。
这里我们使用的是systemd 大法:
首先下载 FileBrowser 的 service文件:

1
curl https://cdn.mivm.cn/www.mivm.cn/archives/filebrowser/filebrowser.service -o /lib/systemd/system/filebrowser.service

或者自己输入

1
nano /lib/systemd/system/filebrowser.service

内容如下:

1
2
3
4
5
6
7
8
9
[Unit]
Description=File Browser
After=network.target

[Service]
ExecStart=/usr/local/bin/filebrowser -d /etc/filebrowser.db

[Install]
WantedBy=multi-user.target

如果你的运行命令不是/usr/local/bin/filebrowser -d /etc/filebrowser.db,需要对 service 文件进行修改,将文件的 ExecStart 改为你的运行命令,更改完成后需要输入systemctl daemon-reload

下面祭出常用的命令:

  • 运行:systemctl start filebrowser.service
  • 重启:systemctl restart filebrowser.service
  • 停止运行:systemctl stop filebrowser.service
  • 开机启动:systemctl enable filebrowser.service
  • 取消开机启动:systemctl disable filebrowser.service
  • 查看运行状态:systemctl status filebrowser.service

使用Caddy反向代理

​ 通常情况下我们已经建立好了站点,所以现在我们只能建立二级页面来管理了。

​ 所以我们要先停止filebrowser的运行

1
2
3
4
5
6
# 停止filebrowser运行
systemctl stop filebrowser.service
# 修改filebrowser.db的baseurl
filebrowser -d /etc/filebrowser.db config set --baseurl /manager
# 重新运行filebrowser
systemctl start filebrowser.service

然后修改/etc/caddy/Caddyfile成下面的样子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
example {
root /var/www/file
tls xxx@xxxx.cn
gzip
browse #相当于最简单的文件服务器,公开文件全部都可以在这里分享
root var/file/public #站点根路径

#访问$site/logs时要求账户密码简单认证
basicauth /logs username password

# 反向代理 aria2 rpc 服务端口,以实现 https 下连接 aria2 服务
proxy /jsonrpc localhost:6800

# 为 ariaNG 面板设置简易认证
basicauth /aria2 username password

#反向代理fileborwser
proxy /admin 127.0.0.1:8088
}

现在,你就拥有了几个功能了

  • 极简单文件服务器
  • 反向代理的Aria2Ng面板
  • fileborwser服务器

这里有个视频教程,需要科学上网查看。