h5ai 提供了一个直观且简洁的界面,方便其他人下载你在服务器上提供的文件。
与 Cloudreve 那种意义上的「网盘」这些不同,h5ai 就是相当于把服务器的文件目录美化了一下,所以没有用户、登录、提取密码之类的功能。
h5ai 展示给用户的前端界面非常简洁,文件接收方无需登录,挺适合分享文件给那些怕麻烦的人。
在线演示: https://file.baiyuyu.com (新) https://file.dxxblog.cn (旧)
⚠ 注意
外观方面,h5ai 支持自定义页眉页脚,可以自定义文件图标,语言默认提供了中文(可以在配置文件中启用)。
功能方面,PC 端选中文件时,会在文件右侧展示一个二维码,方便使用手机下载。此外,h5ai 还支持很多文件格式的在线预览,这点还是比较方便的。
这篇文章我们使用宝塔面板来辅助搭建。
1. 准备环境
推荐使用 LNMP
环境。其中,h5ai 需要的 PHP 版本建议 7.0+
。
装完基本的环境后我们先来配置 Nginx:
编辑一下 Nginx 配置文件,把 /_h5ai/public/index.php
插进去,如图:
编辑完记得保存,然后重载配置。
2. 下载 h5ai
目前最新版本是 0.30.0
,如果用的宝塔,直接输入 https://release.larsjung.de/h5ai/h5ai-0.30.0.zip
远程下载:
#没有宝塔,手动下载:
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 的自检情况。
⚠ 罕见问题:
如果进不去,反而弹出一个下载框:
那么有可能是你的 php-fpm 没有安装/没有正常启动,
使用
ps aux|grep 'php-fpm'
命令来检查;使用
service php-fpm start
命令来启动;使用
sudo apt-get install php-fpm
命令来安装;这样应该就没问题了,如果后续自检还出现问题,那就再把 PHP 的函数
putenv
和exec
解除禁用。
默认没有密码,直接点 login 就可以。
进来之后会展示自检情况,我们也就可以知道哪些地方需要进一步配置:
根据自检结果安装 PHP 扩展,比如 imagemagick
、fileinfo
、exif
、ffmpeg
这些扩展。
⚠ 注意:
这时候有些宝塔用户就要问了:我的 ”安装扩展“ 列表没有
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
另外一个就是,你刚安装完扩展之后,可能要等几分钟自检页面才会显示成功。多刷新几次。
4. 配置 h5ai
接下来,我们开始配置一些自定义设置,包括修改显示语言、是否启用文件搜索、打包下载等。
我们打开 _h5ai/private/conf/options.json
这个文件,后文提到的设置基本都是在这里修改:
4.1 设置密码
要设置密码,你需要先借助一个第三方工具生成该密码的 SHA512 哈希值,然后填入 passhash
字段。
请自行寻找值得信任的第三方工具。
如果你信任我~ 也可以使用我临时搞的一个生成器(可离线):https://www.baiyuyu.com/tool/hash-generator
(开源地址)
生成之后,填入并保存。
4.2 设置网站语言
把默认语言设置成中文。
还是在刚刚的 option.json
文件内,查找 l10n
字段,然后把里面的 en
改成 zh-cn
:
我们回来看看,已经成功生效了:
⚠ 可能的问题
还停留在宝塔的欢迎页?记得把根目录下的
index.html
删掉。
如果你的浏览器还会弹出翻译提示框:
你可以修改下图中的两个文件:
把第一行的 en
改成 zh-cn
,这时候就不会报翻译提示了:
4.3 文件右侧二维码
鼠标悬停在任何一个文件上即会展示二维码,方便手机扫码下载。
其实这个功能,新版本好像都默认启用了,如果没有正常显示,那就看一下 info
字段下的几项设置是不是都设置成了 true
,如果是 false
就改成 true
:
⚠ 可能的问题
还没生效?你看看左侧栏是不是已经多出来了一个
信息
图标,如果有这个图标就是成功了,点一下就可以启用:
4.4 文件搜索
启用左上角的文件搜索功能:
定位到 search
,修改为 true
:
4.5 文件打包下载
允许用户选择多个文件,作为压缩包下载。
定位到 download
的 type
一项,这里可以选择压缩类型。你喜欢什么格式就设置什么格式,可以填写的有 php-tar
、shell-tar
、shell-zip
三种。
假如我希望用户以 zip 格式打包,那么就填入 shell-zip
:
4.6 字体加速
默认用的 Google 字体源,国内的用户的加载网页速度可能变慢。
解决此问题有两种方法:
- 将页面字体更改为常见的字体,如宋体、微软雅黑等等。
- 将
fonts.googleapis.com
更换为国内的镜像网站。以中科大为例:
"resources": { "scripts": [], "styles": [ "//fonts.lug.ustc.edu.cn/css?family=Ubuntu:300,400,700%7CUbuntu+Mono:400,700" ] },