H5ai是一款功能强大 php 文件目录列表程序,由德国开发者 Lars Jung 主导开发,它提供多种文件目录列表呈现方式,支持多种主流 Web 服务器,例如 Nginx、Apache、Cherokee、Lighttpd 等,支持多国语言,可以使用本程序在线预览文本、图片、音频、视频等。

安装

1.1 首先需要搭建好 Web 服务器,例如 LNMP(Linux/Nginx/MySQL/Php)组合,本文直接以 LNMP 组合为例。

推荐使用 PHP 7 版本。

1.2 下载 h5ai 安装包 本教程版本为0.29.2

转至官网下载:https://larsjung.de/h5ai/

1.3 设置好虚拟主机后,在 默认文档文件名列表 后面增加

/_h5ai/public/index.php

1.4 去除被禁用的 PHP 函数:

vim /usr/local/php/etc/php.ini

搜索 scandir 将其从被禁用的函数中删除。

1.5 重启 web 服务器:

service php-fpm restart
service nginx reload

1.6 虚拟主机 ROOT 目录大概是这个样子的,要在网站上显示的目录和 _h5ai 文件夹放在一起:

.
├── _h5ai
│ ├── CHANGELOG.md
│ ├── private
│ ├── public
│ └── README.md
├── 您要显示的文件夹
│ ├── 子文件夹1
│ ├── 文件1
│ └── 文件2
└── 您要显示的文件夹
├── 文件1
└── 文件2

开启 h5ai 更多功能

到目前为止,h5ai 可以正常使用了,但是我们可以开启 _h5ai 全部功能。通过 http(s)://your_domain/_h5ai/public/index.php 可以查看 _h5ai 的全部功能开启情况,默认密码是空的。

2.1 安装 FFmpeg

debian 8:

# 编辑软件源文件:
vim /etc/apt/sources.list

# 添加四个软件源
deb http://www.deb-multimedia.org jessie main non-free
deb ftp://ftp.deb-multimedia.org jessie main non-free
deb http://www.deb-multimedia.org stable main non-free
deb ftp://ftp.deb-multimedia.org stable main non-free
# 添加后保存且退出

# 更新软件源
apt-get -y update

# 安装 ffmpeg
apt-get -y install ffmpeg

Ubuntu 16.04+:

# 直接通过命令安装:
apt-get -y install ffmpeg

CentOS7:

# 直接通过命令安装:
yum -y install epel-release
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
yum -y install ffmpeg ffmpeg-devel

2.2 略缩图功能

2.2.1 图片:
将 _h5ai 中,private 与 public 文件夹中的 cache 目录设置权限为 755。

2.2.2 EXIF:
通过 phpize 安装 PHP 的 exif 模块即可。

2.2.3 视频略缩图:
参考 2.1 安装 FFmpeg 即可。

2.2.3 PDF 略缩图:
安装 ImageMagick。

可使用如下命令:

Ubuntu/Debian:

apt-get install ImageMagick -y

CentOS:

yum install ImageMagick -y

2.3 Shell tar、Shell zip和Shell du

参考 1.4 去除在 php.ini 中被禁用函数 exec与 passthru 即可。

另外去除禁用的 scandir 函数(如果有),不然会导致无法显示目录。

2.4 options.json 中的更多功能

位于 _h5ai/private/conf 目录下。

打包下载:
搜索 “download”
126 行,enabled 由 false 改为 true。

文件信息及二维码:
搜索 “info”
184 行,enabled 由 false 改为 true。

默认简体中文:
搜索 “l10n”
200 行,enabled 由 false 改为 true。
201 行,lang 由 en 改为 zh-cn。

文件及文件夹搜索功能:
搜索 “search”
308 行,enabled 由 false 改为 true。

文件及文件夹多选:
搜索 “select”
322 行,enabled 由 false 改为 true。

默认密码:

首先生成自定义 sha512 密码:http://md5hashing.net/hashing/sha512
然后搜索 “passhash”,大概第 10 行,将其密码改成自己生成的。
访问 http://域名/_h5ai/public/index.php

附加功能:给文件头或者尾部增加备注 —在文件夹目录下创建
_h5ai.footer.html 和 _h5ai.header.html 或 _h5ai.footers.html 和 _h5ai.headers.html (后缀可为 .md)

关于中文文件夹乱码,请将系统编码改为uft-8,具体请百度.教程很多,这里就不多说了.

H5ai的字体库更换其实很简单,在站点根目录下的_h5ai/private/conf/options.json中找到resources项,将styles参数字符串中的fonts.googleapis.com更换为fonts.geekzu.org即可。