用 h5ai 搭建一个极简网盘/下载站

h5ai 提供了一个直观且简洁的界面,方便其他人下载你在服务器上提供的文件。

与 Cloudreve 那种意义上的「网盘」这些不同,h5ai 就是相当于把服务器的文件目录美化了一下,所以没有用户、登录、提取密码之类的功能。

h5ai 展示给用户的前端界面非常简洁,文件接收方无需登录,挺适合分享文件给那些怕麻烦的人。

在线演示: https://file.baiyuyu.com (新) https://file.dxxblog.cn (旧)

注意

受某些因素影响以上自建 demo 已停止访问,请直接去看 官方 GitHub官方 demo

图片[1] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
图源 h5ai 官方 demo

外观方面,h5ai 支持自定义页眉页脚,可以自定义文件图标,语言默认提供了中文(可以在配置文件中启用)。

功能方面,PC 端选中文件时,会在文件右侧展示一个二维码,方便使用手机下载。此外,h5ai 还支持很多文件格式的在线预览,这点还是比较方便的。

这篇文章我们使用宝塔面板来辅助搭建。

1. 准备环境

推荐使用 LNMP 环境。其中,h5ai 需要的 PHP 版本建议 7.0+

装完基本的环境后我们先来配置 Nginx:

编辑一下 Nginx 配置文件,把 /_h5ai/public/index.php 插进去,如图:

图片[2] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
 

编辑完记得保存,然后重载配置。

2. 下载 h5ai

目前最新版本是 0.30.0 ,如果用的宝塔,直接输入 https://release.larsjung.de/h5ai/h5ai-0.30.0.zip 远程下载:

图片[3] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
 
#没有宝塔,手动下载:
wget https://release.larsjung.de/h5ai/h5ai-0.30.0.zip && unzip h5ai-0.30.0.zip

下载完之后,我们把 h5ai 解压,然后放到根目录(其实其它目录也可以)。

注意:

h5ai 与其它文件的层级关系大概是这样:

DOC_ROOT
 ├─ _h5ai
 ├─ 你想展示的文件
 └─ 以及文件夹

3. h5ai 自检&安装 PHP 扩展

进入自检页面:https://你的域名/_h5ai/public/index.php ,查看 h5ai 的自检情况。

图片[4] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
h5ai 配置文件管理入口

罕见问题

如果进不去,反而弹出一个下载框:

图片[5] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
 

那么有可能是你的 php-fpm 没有安装/没有正常启动,

使用 ps aux|grep 'php-fpm' 命令来检查;

使用 service php-fpm start 命令来启动;

使用 sudo apt-get install php-fpm 命令来安装;

图片[6] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
 
图片[7] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
 

这样应该就没问题了,如果后续自检还出现问题,那就再把 PHP 的函数 putenvexec 解除禁用。

默认没有密码,直接点 login 就可以。

进来之后会展示自检情况,我们也就可以知道哪些地方需要进一步配置:

图片[8] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
 
图片[9] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
 

根据自检结果安装 PHP 扩展,比如 imagemagickfileinfoexifffmpeg 这些扩展。

注意:

这时候有些宝塔用户就要问了:我的 ”安装扩展“ 列表没有 ffmpeg 这些,怎么办?

好办,我们可以复制以下命令手动安装。缺什么安什么:

# 安装 ffmpeg 库
sudo apt install ffmpeg

# 安装 convert 库 (已有imagemagick则不必再装)
sudo apt install imagemagick

# 安装 tar 库
sudo apt install tar

# 安装 zip 库
sudo apt install zip

# 安装 du 库 (coreutils)
sudo apt install coreutils

另外一个就是,你刚安装完扩展之后,可能要等几分钟自检页面才会显示成功。多刷新几次。

图片[10] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
很好,现在全绿了

4. 配置 h5ai

接下来,我们开始配置一些自定义设置,包括修改显示语言、是否启用文件搜索、打包下载等。

我们打开 _h5ai/private/conf/options.json 这个文件,后文提到的设置基本都是在这里修改:

图片[11] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
 

4.1 设置密码

要设置密码,你需要先借助一个第三方工具生成该密码的 SHA512 哈希值,然后填入 passhash 字段。

图片[12] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
 

请自行寻找值得信任的第三方工具。

如果你信任我~ 也可以使用我临时搞的一个生成器(可离线):https://www.baiyuyu.com/tool/hash-generator

开源地址

生成之后,填入并保存。

4.2 设置网站语言

把默认语言设置成中文。

还是在刚刚的 option.json 文件内,查找 l10n 字段,然后把里面的 en 改成 zh-cn

图片[13] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
 

我们回来看看,已经成功生效了:

图片[14] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
 

可能的问题

还停留在宝塔的欢迎页?记得把根目录下的 index.html 删掉。

如果你的浏览器还会弹出翻译提示框:

图片[15] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
 

你可以修改下图中的两个文件:

图片[16] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
 

把第一行的 en 改成 zh-cn ,这时候就不会报翻译提示了:

图片[17] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈

4.3 文件右侧二维码

鼠标悬停在任何一个文件上即会展示二维码,方便手机扫码下载。

图片[18] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
 

其实这个功能,新版本好像都默认启用了,如果没有正常显示,那就看一下 info 字段下的几项设置是不是都设置成了 true ,如果是 false 就改成 true

图片[19] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
 

可能的问题

还没生效?你看看左侧栏是不是已经多出来了一个 信息 图标,如果有这个图标就是成功了,点一下就可以启用:

图片[20] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈

4.4 文件搜索

启用左上角的文件搜索功能:

图片[21] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
 

定位到 search ,修改为 true

图片[22] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈
 

4.5 文件打包下载

允许用户选择多个文件,作为压缩包下载。

定位到 downloadtype 一项,这里可以选择压缩类型。你喜欢什么格式就设置什么格式,可以填写的有 php-tarshell-tarshell-zip 三种。

假如我希望用户以 zip 格式打包,那么就填入 shell-zip

图片[23] - 用 h5ai 搭建一个极简网盘/下载站 - 白鱼小栈

4.6 字体加速

默认用的 Google 字体源,国内的用户的加载网页速度可能变慢。

解决此问题有两种方法:

  1. 将页面字体更改为常见的字体,如宋体、微软雅黑等等。
  2. 将 fonts.googleapis.com 更换为国内的镜像网站。以中科大为例:
"resources": { "scripts": [], "styles": [ "//fonts.lug.ustc.edu.cn/css?family=Ubuntu:300,400,700%7CUbuntu+Mono:400,700" ] },

全文完

有用0阅读 1166版权提示
留言 共 1 条
其实你有必要说两句
匿名的头像 - 白鱼小栈

昵称

有回复时发送邮件通知我

取消
身份 表情 图片