项目地址:https://larsjung.de/h5ai/

h5ai是一个非常不错的文件目录工具

0.26以后已经没有中文文件名乱码的问题了,可以放心使用。如果依然出现乱码,修改系统编码为uft-8即可。

一、下载程序

# 下载h5ai主程序(当前版本为0.29.0)
https://release.larsjung.de/h5ai/h5ai-0.29.0.zip

# 解压压缩包
unzip h5ai-0.29.0.zip

# 将h5ai放置到web目录
mv _h5ai 你的web根目录

二、基本配置

Apache httpd 2.2/2.4+:

# httpd.conf 或 .htaccess
DirectoryIndex index.html index.php /_h5ai/public/index.php

Lighttpd 1.4+:

# lighttpd.conf
index-file.names += ("index.html", "index.php", "/_h5ai/public/index.php")

Nginx 1.2+:

# nginx.conf
index index.html index.php /_h5ai/public/index.php;

Cherokee 1.2+:

# cherokee.conf
vserver!1!directory_index = index.html,index.php,/_h5ai/public/index.php

此时若网站根目录访不包含index.htm、index.html、index.php等文件,则访问网站首页即可看见效果。看不到也没关系,继续往下看。

三、增强功能

1. 显示h5ai,有文件但显示文件夹为空

一般情况是scandir函数被禁用了,在php.ini文件中把scandir函数从被禁用中删除,重启lnmp即可。

如果安装的是LNMP,默认scandir函数被禁用了;
如果安装的是AMH,VestaCP,默认scandir函数没有被禁用;
其他面板或一键包不清楚。

2.中文依然出现乱码

# 打开/etc/sysconfig/i18n
vi /etc/sysconfig/i18n
# 修改LANG
LANG="en_US.utf-8"

3.访问http://你的域名/_h5ai/public/index.php

默认密码为空,登陆后显示的是h5ai的组件支持界面。

一般来说会有好几个no,建议把所有项都变成yes,使用起来会更方便。

以下列出一些选项如果为NO时的解决方案:

PHP version
  升级php版本

Public Cache directory
  把_h5ai/public/cache目录权限设置为777

Private Cache directory
  把_h5ai/private/cache目录权限设置为777

Image thumbs
  安装php的GD模块即可。

Use EXIF thumbs
  安装php的exif模块即可。

Movie thumbs
  可以选择安装ffmpeg,也可以选择安装avconv,到http://libav.org/download/下载源码编译安装即可。
以安装ffmpeg为例:

# Ubuntu:
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next 
sudo apt-get update 
sudo apt-get install ffmpeg


# CentOS 7:
# 安装Nux-Dextop源
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro 
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
# 安装ffmpeg
yum install -y ffmpeg

PDF thumbs
  安装convert或gm,以安装convert为例:

yum -y install ImageMagick

Shell tar, Shell zip, Shell du
  在php.ini文件中把exec函数从被禁用中删除,重启lnmp即可。

四、修改配置文件

配置文件是/_h5ai/private/conf/options.json
默认语言,多文件打包下载,文件搜索,缩略图,显示文件二维码等,都在这里设置。


附:自定义安装

前面说的方法是任何没有index的文件夹都会自动使用h5ai来进行列表,有时不是很方便,那么就可以考虑指定某个文件夹使用h5ai。

# 下载h5ai主程序(当前版本为0.29.0)
https://release.larsjung.de/h5ai/h5ai-0.29.0.zip

# 解压压缩包
unzip h5ai-0.29.0.zip

# 将h5ai放置到web目录
mv _h5ai 你的web根目录/某个文件夹/

Nginx 1.2+:

# nginx.conf
location /某个文件夹/ {
    index index.html index.php /某个文件夹/_h5ai/public/index.php;

    ......# 处理php文件
}

最后访问http://你的域名/某个文件夹/_h5ai/public/index.php进行配置即可