小贝博客

主机资讯以及工具软件分享

基于宝塔搭建h5ai目录列表程序

可能是最全的h5ai搭建教程

1、下载和安装

官方的下载地址是这个 https://larsjung.de/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;
    ...

2、使用指南

把相应的文件上传到网站根目录,和_h5ai同一个目录即可。

3、进阶教程

  • 查看全部功能开放情况
    访问你的域名xxxx.com/_h5ai/public/index.php(初始密码为空)
  • Use EXIF thumbs安装
    宝塔用户可直接在后台点击php版本,安装扩展 -> exif 一键安装即可
  • Movie thumbs (ffmpeg)安装

CentOS 6&7安装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

而CentOS 7需额外安装扩展源:

su -c 'yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm'

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

yum -y install ffmpeg ffmpeg-devel
  • PDF thumbs安装

yum -y install ImageMagick
  • Public Cache directory和Private Cache directory

把h5ai程序_h5ai中private和public两个文件夹中的cache目录权限设置为777,
刷新一下网页可以看到两个no变为yes了。
  • Shell tar,Shell zip和Shell du

在php.ini被禁用函数中去掉exec和passthru即可
把scandir函数去掉禁用,不然会出现无非显示目录中文件

4、优化访问速度

h5ai引用了谷歌的字体库,所以访问会很慢
这个文件 /_h5ai/private/conf/options.json
第26行找到下面文件替换如下:
fonts.googleapis.com为fonts.geekzu.org

5、设置用户名和密码

找到 _h5ai/public/index.php 在上方加入下面代码

 auth();
function auth ()
{
        $valid_passwords = array ("1" => "1");
        $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");
        }
}

6、效果图

本原创文章未经允许不得转载 | 当前页面:小贝博客 » 基于宝塔搭建h5ai目录列表程序

评论