利用Caddy扩展快速安装FileManager(Filebrowser)私人网盘/在线文件管理器

2017-11-10T01:20:00
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »

说明:关于FileManager安装方法之前说过,参考:一个基于GO的轻量级文件管理系统:FileManager安装教程,不过对于小白来说,还是有点麻烦,刚刚看到逗比那里也有个安装方法,很方便。

提示:目前FileManager已更名为Filebrowser

截图

Caddy FileManager扩展介绍

FileManager是基于Caddy的扩展。它提供文件管理界面,可用于上传/下载/删除/预览和重命名等该目录中的文件。

  • 支持 上传文件
  • 支持 按类型 搜索文件
  • 支持 批量压缩 文件下载
  • 支持 多用户管理(权限可控)
  • 支持 在网页执行 Linux命令
  • 支持 创建 共享链接(限时/永久)
  • 支持 在线编辑 各类文本文件
  • 支持 在线浏览 图片/文本/视频等
  • 支持 新建/重命名/移动/删除 文件和文件夹等
  • 部署简单,几步完成,无需任何依赖环境
  • 等等 …

安装Caddy

Caddy文档:https://caddyserver.com/docs/http.filebrowser
Github项目:https://github.com/hacdias/filebrowser

运行以下命令:

wget -N --no-check-certificate https://raw.githubusercontent.com/iiiiiii1/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filebrowser
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filebrowser

安装成功后,继续新建一个用于使用的虚拟主机文件夹,例如file(可以自己改):

mkdir /usr/local/caddy/www && mkdir /usr/local/caddy/www/file

配置

1、IP访问
绑定虚拟主机为IP(即通过IP访问),HTTP协议(80端口)。

# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行!
echo ":80 {
 root /usr/local/caddy/www/file
 timeouts none
 gzip
 filebrowser / /usr/local/caddy/www/file {
  database /usr/local/caddy/filebrowser.db
 }
}" > /usr/local/caddy/Caddyfile

2、域名HTTP访问
本示例是,绑定虚拟主机为域名(即通过域名访问),HTTP协议(80端口)。

# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行(注意替换示例域名)!
echo "http://moerats.com {
 root /usr/local/caddy/www/file
 timeouts none
 gzip
 filebrowser / /usr/local/caddy/www/file {
  database /usr/local/caddy/filebrowser.db
 }
}" > /usr/local/caddy/Caddyfile

3、域名HTTPS访问
本示例是,绑定虚拟主机为域名(即通过域名访问),HTTPS协议(443端口)。

如果你有SSL证书和密匙的话,把SSL证书(xxx.crt)和密匙(xxx.key)文件放到/root文件夹下(也可以是其他文件夹,自己改下面代码),然后这样做:

# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行(注意替换示例域名)!
echo "https://moerats.com {
 root /usr/local/caddy/www/file
 timeouts none
 tls /root/xxx.crt /root/xxx.key
 gzip
 filebrowser / /usr/local/caddy/www/file {
  database /usr/local/caddy/filebrowser.db
 }
}" > /usr/local/caddy/Caddyfile

如果你没有SSL证书和密匙,那么你可以这样做:

下面的xxxx@xxx.xx改成你的邮箱,同时需要注意的是,申请SSL证书前,请务必提前解析好域名记录(解析后最好等一会,以全球生效),否则Caddy会申请并配置失败!

# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行(注意替换示例域名)!
echo "https://moerats.com {
 root /usr/local/caddy/www/file
 timeouts none
 tls xxxx@xxx.xx
 gzip
 filebrowser / /usr/local/caddy/www/file {
  database /usr/local/caddy/filebrowser.db
 }
}" > /usr/local/caddy/Caddyfile

4、域名HTTP重定向HTTPS
本示例是,域名HTTP重定向为HTTPS

当你是手动指定SSL证书和密匙 来配置的话,Caddy只会监听443端口(https),并不会自动设置80端口(http)的重定向,如果要做重定向的话,可以这样做:

下面的示例代码中,是把http://moerats.com重定向到了https://moerats.com

# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行(注意替换示例域名)!
echo "http://moerats.com {
 timeouts none
 redir https://moerats.com{url}
}
https://moerats.com {
 root /usr/local/caddy/www/file
 timeouts none
 tls /root/xxx.crt /root/xxx.key
 gzip
 filebrowser / /usr/local/caddy/www/file {
  database /usr/local/caddy/filebrowser.db
 }
}" > /usr/local/caddy/Caddyfile

当你已经配置完上面步骤后,那就需要启动Caddy了。

/etc/init.d/caddy start
# 如果启动失败可以看Caddy日志: tail -f /tmp/caddy.log

最后就可以通过ip访问filemanager了,用户名和密码均为admin

更多配置方法请参考原文:https://doub.io/jzzy-3/