H5ai是一款功能强大 php 文件目录列表程序,由德国开发者 Lars Jung 主导开发,它提供多种文件目录列表呈现方式,支持多种主流 Web 服务器,例如 Nginx、Apache、Cherokee、Lighttpd 等,支持多国语言,可以使用本程序在线预览文本、图片、音频、视频等。
需要PHP 5.5+并且可以与Apache httpd,lighttpd和nginx一起使用。使用最新版本的基于Chromium的浏览器,Firefox,Safari和Edge的最佳用户体验,但是为旧版浏览器提供了静态回退,或者禁用了JavaScript。
原作者https://larsjung.de/h5ai/
但原作者的版本中文显示乱码,还有在咱们王朝国家访问很卡,要修改一下,才可以顺利打开!下面就是稍微修改一下设置的版本。
下载地址:https://release.larsjung.de/h5ai/h5ai-0.29.2.zip
请注意,默认情况下,放到目录下的 .php 文件将会被直接执行,并不以文本显示。
要设置好服务器伪静态!切记!
主配置文件是_h5ai/private/conf/options.json
必要配置:
1. 显示h5ai,有文件但显示文件夹为空
一般情况是scandir函数被禁用了,在php.ini文件中把scandir函数从被禁用中删除,重启lnmp即可。
如果安装的是LNMP,默认scandir函数被禁用了;
如果安装的是AMH,VestaCP,默认scandir函数没有被禁用;
其他面板或一键包不清楚。
2.一些功能修改,修改options.json文件的更多功能
位于 _h5ai/private/conf 目录下。
比如修改/_h5ai/private/conf/options.json,将“lang”: “en”,修改成“lang”: “zh-cn”, 然后就是默认中文啦
打包下载:
搜索 “download”
126 行,enabled 由 false 改为 true。
文件信息及二维码:
搜索 “info”
184 行,enabled 由 false 改为 true。
默认简体中文:
搜索 “l10n”
200 行,enabled 由 false 改为 true。
文件及文件夹多选:
搜索 “select”
322 行,enabled 由 false 改为 true。
默认密码:
首先生成自定义 sha512 密码:http://md5hashing.net/hashing/sha512
然后搜索 “passhash”,大概第9- 10 行,将引号里面的密码改成自己生成的sha512值。
3.可以将_h5ai安装到Web服务器文档跟目录的任何子目录中。在显示面包屑等时,该目录将被视为根目录。
例如,将文件夹_h5ai复制www
访问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
主要有安装后一些拓展插件的安装和简单的配置。
环境CentOS6 64位,安装LNMP1.2
将h5ai最新版本0.29.0放置到web目录后,把/_h5ai/public/index.php添加到nignx配置文件默认主页,把php.ini中scandir函数从被禁用中删除,不然会出现机器文件夹中有文件,网页访问显示空文件夹的问题。重启lnmp,访问http://域名/_h5ai/public/index.php
默认密码为空,来到h5ai显示支持界面。
下面主要将显示no的选项变为yes,以便h5ai可以实现一些更丰富的功能。
Public Cache directory和Private Cache directory
把h5ai程序_h5ai中private和public两个文件夹中的cache目录权限设置为777,刷新一下网页可以看到两个no变为yes了。
Use EXIF thumbs
安装php的exif模块即可。
主要参考http://www.vpser.net/manage/lnmp-php-install-ext.html
把需要的exif模块编译进去,然后重启lnmp即可。
Movie thumbs
选择安装ffmpeg,安装方法参考官网。
其中centos的安装ffmpeg方法记得好像很麻烦。最后找到两个打包好的源码包,直接就可以用。
CentOS 64位:http://down.lc/Linux/Tool/ffmpeg-3.1-64bit-static.tar.xz
CentOS 32位:http://down.lc/Linux/Tool/ffmpeg-3.1-32bit-static.tar.xz
tar xvJf解压到系统某个地方,然后在/usr/bin/目录创建软链接ffmpeg,指向解压包里面的ffmpeg就可以了。
完成后执行ffmpeg,显示版本等信息即可。
也可以选择安装avconv,到http://libav.org/download/下载源码编译安装即可。
PDF thumbs
选择安装convert,直接yum -y install ImageMagick即可。
Shell tar,Shell zip和Shell du
这三项,根据h5ai官网,在php.ini被禁用函数中去掉exec和passthru即可,是否有危险不知道,自己掂量,禁用好像也不影响一些功能。
另外顺便把scandir函数去掉禁用,不然会出现无非显示目录中文件的情况。
上面的步骤完成,基本上所有选项都是yes了。
一般h5ai
安装后都是不需要用户名和密码就可以直接查看目录的,这样很不好,所以我们需要手动添加些代码,使其需要输入用户名和密码才能查看。
使用WinSCP
软件登录vps
进入h5ai
目录找到_h5ai/public/index.php
并编辑
1、在头部<?php
的下一行,增加auth();
2、在底部增加
function auth ()
{
$valid_passwords = array ("账号" => "密码");
$valid_users = array_keys($valid_passwords);
$user = $_SERVER['PHP_AUTH_USER'];
$pass = $_SERVER['PHP_AUTH_PW'];
$validated = (in_array($user, $valid_users)) && ($pass == $valid_passwords[$user]);
if (!$validated) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
die ("Not authorized");
}
}
注:账号和密码可以随便填。