写在前面
之前有很多 Caddy + File Browser 搭建个人网盘的文章,但年初Caddy关闭了File Browser插件,笔者尝试了一些备用链接,最终失败。
同时,由于一直使用Apache作为Web服务器,管理多个站点,已经很熟练了,也踩了不少坑。最主要的是Apache可以方便的使用二级域名访问flask应用,见使用Apache+mod_wsgi部署flask网站。
当然,File Browser可以直接作为主程序运行,使用 ip + 端口即可访问。由于Apache已经占用了80端口,并且自己有一个域名,因此想着使用二级域名访问File Browser。
本文思路:
- 安装 File Browser,可以使用 ip:port(如127.0.0.1:8088)访问
- 使用 Apache 正向代理,此时可以使用 二级域名访问 File Browser(使用二级域名代理之前的ip:port)
File Browser
- 安装
curl -fsSL https://filebrowser.xyz/get.sh | bash
注意:在哪个文件夹下配置的,那么网盘显示的就是哪个文件夹内容
- 配置
- 创建配置数据库
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 -d /etc/filebrowser.db
注意:可以使用 screen 作为虚拟屏幕启动;screen 是十分简单好用的程序后台运行工具,请自行查询screen使用方法。
经过以上配置,可以使用 ip:8088 访问File Browser
Apache2 正向代理
Apache2 的安装使用和二级域名的解析见使用Apache+mod_wsgi部署flask网站
Apache2 正向代理主要参考Ubuntu下利用Apache转发模块实现反向代理
- 配置Apache支持proxy和proxyreverse
在Ubuntu系统下,Apache的配置文件在目录/etc/apache2
下,里面会看到我们需要用到的两个目录:
mods-available
Apache所有的模块
mods-enabled
Apache所支持的模块
接下来需要进入mods-available
找到 proxy.load
和 proxy_http.load
这两个模块,将这两个模块配置到 mods-enabled
输入命令
ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled/proxy.load
ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled/proxy_http.load
- 配置虚拟主机
同样也是在 /etc/apache2
下面有个关于虚拟主机的配置目录:
sites-available
所有可用的虚拟主机
sites-enabled
已经配置支持的主机
首先进入 sites-available
将 000-default.conf
拷贝并重命名为 proxy.conf
,使用命令 cp 000-default.conf proxy.conf
编辑 proxy.conf
<VirtualHost *:80>
ServerName pan.khay.site #代理的二级域名
ServerAdmin okhay@qq.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPass / http://123.207.198.7:8088/ # 转发的主机与端口号
ProxyPassReverse / http://123.207.198.7:8088/ # 如果有页面的重定向,不加此项会报错,此项正是反向代理
</VirtualHost>
注意:之后将修改的
proxy.conf
拷贝到sites-enabled
(sites-enabled
里面没有的话将不起作用)
最后,重启 Apache,sudo /etc/init.d/apache2 restart
经过以上配置,可以使用个人二级域名访问 File Browser
File Browser界面