前言
关于如何搭建 H5ai ,网上虽然有很多教程,但详细的却不多,有的也是比较模糊。本文将介绍一下如何在宝塔Nginx环境下搭建 H5ai 以及其中的一些注意事项。
成果
H5ai是一款德国程序员Lars Jung打造的基于HTTP Web服务器的现代文件索引器,是一款功能强大的PHP文件目录列表程序,适合做个人仓库,它提供多种文件目录列表呈现方式,支持 Apache Httpd, Lighttpd, Nginx等多种WEB服务器,支持多国语言(如英语,简体中文等),你可以在线预览以及下载TXT,图片,音频,视频等文件格式。
安装教程
一、环境要求
- Nginx - MySQL
- PHP 7.1或以上
- phpMyAdmin
二、添加站点
请在左边的菜单栏,找到网站,然后点击添加站点,输入相关信息后点击提交即可
三、H5ai下载
将文件解压后放在网站根目录下的_h5ai文件夹内,结构如下
下载地址
DOC_ROOT
├─ _h5ai
├─ your files
└─ and folders
四、上传文件
把你需要列的文件及目录放在_h5ai同目录下即可(我这里是把_去掉了)
五、修改配置文件
在宝塔面板首页->左边的网站 -> H5ai(放H5ai的网站) -> 设置 -> 配置文件中
六、查看依赖信息
访问 http(s)://你的网站名/_h5ai/public/index.php来查看H5ai的功能开放情况,默认密码为空
右边已经是yes或者变成绿色的,证明对应的依赖已经安装成功
七、配置PHP
1、安装Use EXIF thumbs
- 安装imagemagick和exif
- Use EXIF thumbs会显示成yes
2、Movie thumbs (ffmpeg)安装
CentOS 6和7安装方法是不一样的,下面分别说明:
安装前都需要先安装epel扩展源:
# yum -y install epel-release
# 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
3、PDF thumbs安装
选择安装convert
# yum -y install ImageMagick
4、Shell tar/Shell zip/Shell du安装
这三项根据h5ai官网,在 php.ini被禁用函数中去掉 exec和 passthru即可,是否有危险不知道,自己掂量,禁用好像也不影响一些功能,另外顺便把 scandir函数去掉禁用,不然会出现无非显示目录中文件的情况。
在你的软件商店中找到你下载的PHP版本–进入设置–禁用函数
- 删除exec 和 passthru
- Shell tar Shell zip Shell du就会显示成yes
八、给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的下面(也就是第二行)插入以下代码:
php mima();
九、注意事项
1、读取不出文件
如果存在文件,但读不出来,可能原因就是 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。
2、404报错
检查上面步骤说到的配置文件步骤,如果正确请重启服务器试一试。
评论 (2)