云梦
www.htcp.net

h5ai 目录列表程序完整安装使用教程

什么是 h5ai

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

请注意,默认情况下,放到目录下的 .php 文件将会被直接执行,并不以文本显示。

安装

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

推荐使用 PHP 7 版本。

1.2 下载 h5ai 安装包

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

1.3 设置好虚拟主机后,编辑虚拟主机配置文件:

vim /usr/local/nginx/conf/vhost/your_domain.conf

1.3.1 将 root 一行,改为:

index index.html index.php /_h5ai/public/index.php;

1.4 去除被禁用的 PHP 函数:

vim /usr/local/php/etc/php.ini
搜索 scandirexecpassthru,将其从被禁用的函数中删除。

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:

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

2.1.2 添加四个软件源

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

2.1.3 更新软件源

apt-get -y update

2.1.4 安装 ffmpeg
apt-get -y install ffmpeg

Ubuntu 16.04+:

2.1.1 直接通过命令安装:

apt-get -y install ffmpeg

CentOS:

2.1.1 安装 FFmpeg 或 libav。

FFmpeg:

注意:请转至 http://www.ffmpeg.org/releases/ 查看最新的 FFmpeg 版本。

编译安装。

wget http://www.ffmpeg.org/releases/ffmpeg-*.*.tar.gz
tar -zxvf ffmpeg-*.*.tar.gz
cd ffmpeg-*.*
./configure
make
make install

libav:

http://libav.org/download/

下载源码编译即可。

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”
127 行,enabled 由 false 改为 true。

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

默认简体中文:
搜索 “l10n”
202 行,enabled 由 false 改为 true。

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

默认密码:

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

上一张完整开启所有功能的截图:

2.6 在目录头部或尾部显示 HTML 内容

在需要显示自定义 HTML 的目录下,添加 _h5ai.headers.html 或 _h5ai.footers.html。这个通常用于对该目录的一些说明。支持 HTML 标签。

_h5ai.headers.html 头部 HTML
_h5ai.headers.html 尾部 HTML

文章通过 CC 4.0 BY-NC-ND 协议发布,转载请注明出处:云梦 » h5ai 目录列表程序完整安装使用教程

评论 9

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #6

    The following packages have unmet dependencies:
    ffmpeg : Depends: libavcodec57 (>= 10:3.3.5) but it is not going to be installed
    Depends: libavdevice57 (>= 10:3.3.5) but it is not going to be installed
    Depends: libavfilter6 (>= 10:3.3.5) but it is not going to be installed
    Depends: libavformat57 (>= 10:3.3.5) but it is not going to be installed
    Depends: libavresample3 (>= 10:3.3.5) but it is not going to be installed
    Depends: libavutil55 (>= 10:3.3.5) but it is not going to be installed
    Depends: libpostproc54 (>= 10:3.3.5) but it is not going to be installed
    Depends: libsdl2-2.0-0 (>= 2.0.4) but it is not going to be installed
    Depends: libswresample2 (>= 10:3.3.5) but it is not going to be installed
    Depends: libswscale4 (>= 10:3.3.5) but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.

    Chilsion1周前 (12-06)回复
    • 你的软件源可能有问题。

      试试看:
      apt install -f

      sudo aptitude install ffmpeg

      晨晨1周前 (12-06)回复
  2. #5

    博主:按照你2.1 debian 8:安装 FFmpeg的方法,在2.1.4输入apt-get -y install ffmpeg后出现:
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:
    字数超限,我把剩下的在留言给你。

    Chilsion1周前 (12-06)回复
  3. #4

    你好。我更改了sha512 密码,但是只有访问./_h5ai/public/index.php的时候,也就是h5ai info page,才需要输入密码。那这个密码没什么用啊,毕竟没有什么信息。反而域名直接访问的文件目录才更需要密码。有办法可以做到访问域名时用密码登录吗?

    Chad2个月前 (11-01)回复
    • 既然需要用密码,那就使用网盘吧。

      晨晨2个月前 (11-01)回复
  4. #3

    如何让他像 h-t-tp//-firmware.koolshare.cn 一样打开文件夹先显示文本内容?

    无限啸傲3个月前 (09-14)回复
  5. #2

    你好,你的文章我已转载自个人博客。https://www.itxdm.com

    底部已著名转自。我的网站每日流量为90PV左右,如果您需要删除可联系我。

    rabbit5个月前 (07-05)回复
  6. #1

    可以啊

    沉寂9个月前 (03-18)回复