h5ai是一款PHP开发的目录列表程序,由德国开发者Lars Jung主导开发,它提供多种文件目录列表呈现方式,支持多种主流web服务器,例如Nginx、Apache、Cherokee、Lighttpd等,支持多国语言,可以直接在线预览视频、图片、音乐等,效果很炫。本文以LNMP为基础,详细介绍如何在自己的服务器上搭建h5ai。如果服务器未安装LNMP,请参考文章“Ubuntu 18.04 手动搭建LNMP环境”配置服务器环境(实际只用到nginx和php,MySQL可不安装)。

获取h5ai源码

cd /var/www && mkdir h5ai && cd h5ai
wget -N --no-check-certificate https://release.larsjung.de/h5ai/h5ai-0.29.0.zip
apt install unzip -y && unzip -o h5ai-0.29.0.zip && rm h5ai-0.29.0.zip

配置Nginx服务器

vim /etc/nginx/sites-available/h5ai

复制以下内容并保存:

server {
    listen 80;
    index index.php /_h5ai/public/index.php;   
    server_name  example.com; #将 example.com 修改为自己的域名
    
    root /var/www/h5ai;

    # individual nginx logs for this gitlab vhost
    access_log  /var/log/nginx/example.com_access.log; # 将 example.com 修改为自己的域名
    error_log   /var/log/nginx/example.com_error.log;  # 将 example.com 修改为自己的域名
        
    location /_h5ai/private {
        return 403;
    }

    location ~ [^/]\.php(/|$) {
    fastcgi_split_path_info ^(.+?\.php)(/.*)$;
    if (!-f $document_root$fastcgi_script_name) {
        return 404;
    }

    fastcgi_param HTTP_PROXY "";

    #fastcgi_pass 127.0.0.1:9000;
    fastcgi_pass unix:/run/php/php7.1-fpm.sock;
    fastcgi_index index.php;

    include fastcgi_params;

    fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
    fastcgi_param  PATH_INFO         $fastcgi_path_info;
    }
}

将虚拟机接入nginx:

ln -s /etc/nginx/sites-available/h5ai /etc/nginx/sites-enabled/h5ai

更改权限:

chown -R www-data:www-data /var/www/h5ai

重载nginx

systemctl reload nginx.service

如果nginx没有报错,访问网站example.com便可看到h5ai。

配置h5ai

访问 example.com/_h5ai/public/index.php 进入后台,密码默认为空。登录后检查功能启用情况,显示为no的,通过安装相应组件逐个解决。

开启视频缩略图

Movie thumbs no

视频缩略图未开启,通过安装ffmpeg来实现视频缩略图预览:

apt install ffmpeg -y

开启PDF、图片缩略图

PDF thumbs no

PDF缩略图未开启,通过安装imagemagick来实现PDF、图片的缩略图预览:

apt install imagemagick -y

开启数据打包传输

Shell zip no

未安装zip,无法实现数据打包传输,通过安装zip解决:

apt install zip -y

开启更多功能

通过修改_h5ai/private/conf目录下options.json,可开启更多功能。使用以下命令修改options.json:

vim /var/www/h5ai/_h5ai/private/conf/options.json

开启打包下载

搜索字段 download

  • enabled由false改为true
  • type改为shell-zip
  • alwaysVisible改为true

开启文件信息及二维码

搜索字段 info

  • enabled由false改为true
  • show由false改为 true

修改默认语言为简体中文

搜索字段 l10n

  • lang改为 zh-cn.

开启文件及文件夹多选

搜索字段 select

  • enabled由false改为true

显示文件夹大小

搜索字段 foldersize

  • enabled由false改为true

修改后台登陆密码

通过以上步骤便可在Ubuntu 18.04安装h5ai,全文结束。