关于如何搭建 H5ai ,网上虽然有很多教程,但详细的却不多,有的也是比较模糊。本文将介绍一下如何在宝塔Nginx环境下搭建 H5ai 以及其中的一些注意事项。
简介
H5ai是一款德国程序员Lars Jung打造的基于HTTP Web服务器的现代文件索引器,是一款功能强大的PHP文件目录列表程序,适合做个人仓库,它提供多种文件目录列表呈现方式,支持 Apache Httpd
, Lighttpd
, Nginx
等多种WEB服务器,支持多国语言(如英语,简体中文等),你可以在线预览以及下载TXT,图片,音频,视频等文件格式。
值得一试的理由:
可在线预览多种文件格式,适合用来做个人仓库。
提供多种文件目录列表呈现方式。
支持多种Web服务器以及多国语言。
安装教程
环境要求
- PHP 5.5+
- scandir函数需开放
进入安装
宝塔面板安装
Centos安装命令
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
Ubuntu/Deepin安装命令
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh
Debian安装命令
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && bash install.sh
Fedora安装命令
wget -O install.sh http://download.bt.cn/install/install.sh && bash install.sh
安装完成后登录面板并选择安装 LNMP
环境。
上传源码
H5ai下载(文章底部有提供)后将文件解压后放在网站根目录下的_h5ai文件夹内,结构如下
DOC_ROOT
├─ _h5ai
├─ your files
└─ and folders
修改配置文件
在宝塔面板首页->左边的网站 -> H5ai(放H5ai的网站) -> 设置 -> 配置文件中,
找到 index index.php index.html
改为 index index.html index.php /_h5ai/public/index.php
修改前
server
{
listen 80;
...
index index.php index.html index.htm default.php default.htm default.html;
...
修改后
server
{
listen 80;
...
index index.html index.php /_h5ai/public/index.php;
...
安装完成
把你需要列的文件及目录放在_h5ai同目录下即可。
高级教程
查看全部功能开放情况
访问 http(s)://你的网站名/_h5ai/public/index.php
来查看H5ai的功能开放情况,默认密码为空。
Use EXIF thumbs安装
宝塔用户可直接在后台点击php版本,安装扩展 -> exif 一键安装即可。
Movie thumbs (ffmpeg)安装
CentOS 6和7安装方法是不一样的,下面分别说明:
安装前都需要先安装epel扩展源:
# yum -y install epel-release
CentOS 6比较简单,安装yum源之后直接安装即可:
# su -c 'yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-6.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-6.noarch.rpm'
# yum -y install ffmpeg ffmpeg-devel
PDF thumbs安装
选择安装convert
# yum -y install ImageMagick
Shell tar/Shell zip/Shell du安装
这三项根据h5ai官网,在 php.ini
被禁用函数中去掉 exec
和 passthru
即可,是否有危险不知道,自己掂量,禁用好像也不影响一些功能,另外顺便把 scandir
函数去掉禁用,不然会出现无非显示目录中文件的情况。
给H5ai加密码
首先我们要找到这个文件 _h5ai/public/index.php
,在最下面增加以下代码:
function mima()
{
$user=array('填写你的用户名','填写你的密码');
if(!($user[0]===$_SERVER['PHP_AUTH_USER'] && $user[1]===$_SERVER['PHP_AUTH_PW'])){
header('WWW-Authenticate: Basic realm="MY Mark"');
header('HTTP/1.0 401 Unauthorized');
die("please login");
}
}
然后在第一行,也就是<?php的下面(也就是第二行)插入以下代码:
mima();
目录头部或尾部显示自定义HTML内容
在需要显示自定义 HTML 的情况下,在H5ai目录下添加 _h5ai.headers.html
或 _h5ai.footers.html
另外还支持改成 MD_h5ai.headers.md
或 _h5ai.footers.md
版权修改
只要修改 _h5ai/private/php/pages/index.php
就行了,非常简单,建议保留网站右上角的powerby部分!
注意事项
读取不出文件
如果存在文件,但读不出来,可能原因就是 php 已禁用 scandir函数
了,请修改 php.ini
解决。
disable_functions=passthru,exec,system,chroot,scandir,...
删掉 scandir
,字样,再重启 php 即可:/etc/init.d/php-fpm restart
。
文件仍读不出
把h5ai程序_h5ai中 private
和 public
两个文件夹中的 cache目录
权限设置为 777
。
404报错
检查上面步骤说到的配置文件步骤,如果正确请重启服务器试一试。
下载链接
魔改版基于DPlayer播放器,来源于第三方魔改版。
版权属于:Mark
原文链接:https://www.quchao.net/BT-H5ai.html
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。