MrSheep

h5ai安装教程
官网介绍h5ai is a modern file indexer for HTTP web servers wi...
扫描右侧二维码阅读全文
10
2018/09

h5ai安装教程

官网介绍

h5ai is a modern file indexer for HTTP web servers with focus on your files. Directories are displayed in a appealing way and browsing them is enhanced by different views, a breadcrumb and a tree overview. Initially h5ai was an acronym for HTML5 Apache Index but now it supports other web servers too.

安装要求

Requires PHP 5.5+ and works fine with Apache httpd, lighttpd, nginx and Cherokee. Best user experience with the latest versions of Chrome, Firefox, Opera, Vivaldi, Safari and Edge, but a static fallback is provided for older browsers or if JavaScript is disabled.
需要php5.5以上版本,Apache httpd, lighttpd, nginx和Cherokee中的任意一种

食用教程

下载h5ai

官网地址传送门
本地下载传送门

安装h5ai

将压缩包解压,将_h5ai文件夹放到网站根目录。
如果只想让某个子目录使用 h5ai 的话,可以放到任意子目录中。

修改服务器配置

我真的好懶,直接複製官網。修改默认文档
Add /_h5ai/public/index.php (note the leading slash!) to the end of the default index-file list. In this way h5ai will manage all directories in and below DOC_ROOT that don't have a index file.
/_h5ai/public/index.php這個目錄添加到默認index目錄下,剩下的不翻譯了.
Apache httpd 2.2/2.4: in httpd.conf or in the root directory's .htaccess file set for example:

DirectoryIndex  index.html  index.php  /_h5ai/public/index.php

lighttpd 1.4: in lighttpd.conf set for example:

index-file.names += ("index.html", "index.php", "/_h5ai/public/index.php")

nginx 1.2: in nginx.conf set for example:

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

Cherokee 1.2: in cherokee.conf set for example:

vserver!1!directory_index = index.html,index.php,/_h5ai/public/index.php

禁止/_h5ai/private中的内容被访问

此目录下的文件不宜泄露,因此需要配置服务器以禁止此目录下的文件被访问。
这里拿 nginx 的配置来做示例。
在 nginx 当前网站的配置中加上以下内容:

location ~ ^/_h5ai/private/ {
    return 404;
}

如果在寶塔面板下食用,直接在網站配置文檔中加入上面內容
如果在子目录中部署的话,前面要加上子目录的路径。

注意事项

如果发现无法正常使用,检查 PHP 禁用函数,不能禁用exec、passthru、scandir(雖然會提示不安全)
在 _h5ai 中不会显示任何以.开头的隐藏文件/文件夹,也不会显示任何以_h5ai开头的文件/文件夹。

配置文件

h5ai 的配置文件位于/_h5ai/private/conf/options.json

文件其實很簡單,英文註釋寫的很詳細,看不懂可以谷歌翻譯,

浏览相关

"view": {
    //为true的话,用1024进制来计算文件大小
    "binaryPrefix": true,
    ...
    //隐藏名字与这些正则表达式匹配的文件/文件夹
    "hidden": ["^\\.", "^_h5ai"],
    ...
    //如果目录里存在这些文件之一则不应用 _h5ai 来管理文件
    //(即用于点击目录直接打开网站之类的)
    "unmanaged": ["index.html", "index.htm", "index.php"],
    //是否在新窗口中打开上面提到的这种目录
    "unmanagedInNewWindow": false
},

自定义页头页脚

"custom": {
    "enabled": true
},

开启之后,可以自定义页头页脚。

开启批量下载

如果要开启批量下载功能,还需要启用多选功能。

"download": {
    //是否启用批量下载
    "enabled": false,
    //批量打包方式,可选"php-tar", "shell-tar", "shell-zip"
    "type": "php-tar",
    //打包后的压缩包的名字,为 null 的话就使用当前目录的名字
    "packageName": null,
    //是否始终显示下载按钮
    "alwaysVisible": false
},

开启文件地址二维码

"info": {
    //是否允许显示信息侧边栏
    "enabled": true,
    //是否默认显示侧边栏
    "show": true,
    //是否显示二维码
    "qrcode": true,
    //二维码前景色
    "qrFill": "#999",
    //二维码背景色
    "qrBack": "#fff"
},

启用搜索功能

"search": {
    //是否启用搜索
    "enabled": true,
    //是否开启进阶搜索(需要开启"filter"设置项,具体请自行研究)
    "advanced": true,
    "debounceTime": 300,
    //是否忽略例外
    "ignorecase": true
},

启用多选功能

"select": {
    //是否启用多选
    "enabled": false,
    //是否启用拖拽式多选
    "clickndrag": true,
    //是否启用多选框
    "checkboxes": true
},

使用Nginx加密特定的目录

首先建立儲存使用者名稱及加密密碼的檔案 .htpasswd,可以用 htpasswd 指令完成,
以下會設定使用者名稱是 root,密碼檔放在 /www/wwwroot/ 目錄下面:

htpasswd -c /www/wwwroot/.htpasswd root

然後會出現提示,要求設定密碼。

如果系統內沒有安裝 htpasswd,可以手動建立這個檔案,每個使用者一行紀錄。
在手動建立密碼檔前,需要先用 Perl 的 crypt 函式取得加密密碼的字串,執行以下命令:

perl -le 'print crypt("你的密码", "salt-hash")'

然後系統會返回加密了的密碼,將這個密碼複製,放入 .htpasswd 檔案:

vi /www/wwwroot/.htpasswd

加入以下內容:

root:加密後的密碼

之後在你的nginx配置文檔中加入

location ~ /你需要加密的目錄 {
    auth_basic           "root";
    auth_basic_user_file /www/wwwroot/.htpasswd;
    }

參考鏈接

h5ai官網https://larsjung.de/h5ai/
大佬的教程https://lolico.moe/yoimono/h5ai.html

客官们支持一下啦,建站维护开销不少

搬瓦工,建站、代理稳如狗,最低19.99刀一年,更有CN2线路等着你>>[传送门]

DigitalOcean大法好,Xeon Gold豪上天,最低5刀一个月,注册充值得10刀,还不快去???[传送门]

Vultr,最低5刀一个月,全球15节点,注册充值得10刀,全SSD Kvm机器[传送门]

Cloudcone价格低,直连线路大法好,随时随地放优惠[传送门]

Last modification:October 12th, 2018 at 09:54 pm

Leave a Comment

召唤看板娘