CentOS应用-H5ai文件管理

1. 介绍说明

H5ai是一个用于浏览和管理文件的索引器,依赖于Nginx和PHP的环境运行。

它可以用来创建漂亮的文件目录列表,支持文件预览和搜索功能。它通常用于Web服务器上,用来展示服务器上的文件和目录结构。

官网地址:HTTP Web 服务器索引
GitHub项目:GitHub - lrsjng/h5ai

CentOS应用-H5ai文件管理_第1张图片

1.2. 目录结构

将文件夹 “h5ai” 拷贝到web服务器的文档根目录:“DOC_ROOT/h5ai”。

DOC_ROOT
 ├─ _h5ai
 ├─ your files
 └─ and folders

1.3 服务安装

1、检查"h5ai"是否正常访问,本页显示了有关服务器功能的一些提示。

http://download.wangtat.com.cn/_h5ai/public/index.php

2、将“/_h5ai/public/index.php”(注意前面的斜杠!),添加到默认索引文件列表的末尾,h5ai将管理DOC_ROOT中及以下没有索引文件的所有目录。

# Apache httpd 2.2/2.4
DirectoryIndex  index.html  index.php  /_h5ai/public/index.php

# Nginx 1.2
index  index.html  index.php  /_h5ai/public/index.php;

1.4 Nginx配置

DOC_ROOT:/data/h5ai
Link:http://download.wangtat.com.cn/h5ai/

server {
    listen       80;
    server_name  localhost;

    location /h5ai {
        root   /data/;
        index  index.html index.htm /h5ai/_h5ai/public/index.php;

        location ~ \.php$ {
            root           /data/;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
}

2. 设置界面

2.1. 显示域名

更改默认的显示域名,文件位置:_h5ai/public/js/scripts.js

===e?f.getDomain():n.name
===e?'你想显示的内容':n.name

2.2. 网页标题

更改网页的标题,文件位置:_h5ai/private/php/pages/index.php

<title>index - powered by h5ai v0.29.2 (https://larsjung.de/h5ai/)title>
<title>你想显示的内容title>

2.3. 页眉页脚

相同目录下添加页眉\页脚文件,文件格式:htmlmd

  • 页眉文件名:_h5ai.header.html

    <h1 style="text-align:center">This is a header messageh1>
    <p style="text-align:center">
    The header is read from file <code>_h5ai.header.htmlcode>. The content of this file will be enclosed by div tags.
    p>
    
  • 页脚文件名:_h5ai.footer.html

    <p style="text-align:center">
    The footer is read from file _h5ai.footer.html.The content of this file will be enclosed by div tags.
    p>
    <p style="text-align:center">
    <strong>Notestrong>: all files and directories of name _h5ai* are hidden from the index by default.
    p>
    

2.4. 语言设置

  • enabled:是否允许更改界面语言
  • lang:默认界面语言,en 为英文,zh-cn 为中文简体,zh-tw 为中文繁体。
  • useBrowserLang:是否根据浏览器的语言来自动调整界面语言。
"l10n": {
    "enabled": true,
    "lang": "en",
    "useBrowserLang": true
},

Google字体本地化,国内对应表

中科大字体										 谷歌字体
fonts.lug.ustc.edu.cn			---------->>	fonts.googleapis.com	
ajax.lug.ustc.edu.cn			---------->>	ajax.googleapis.com	
google-themes.lug.ustc.edu.cn	---------->>	themes.googleusercontent.com
fonts-gstatic.lug.ustc.edu.cn	---------->>	fonts.gstatic.com

在这里添加的第三方脚本与 CSS 会自动生成 标签插入所有页面的 中。
默认在 _h5ai/public/ext/ 目录内加载不以「 http://、https://、/ 」开头的脚本与 CSS 文件。

"resources": {
    "scripts": [],
    "styles": [
        "//fonts.googleapis.com/css?family=Ubuntu:300,400,700%7CUbuntu+Mono:400,700"
    ]
},

resources选项中,将 fonts.googleapis.com 更换为国内的镜像网站。如中科大。

"resources": {
    "scripts": [],
    "styles": [
        "//fonts.lug.ustc.edu.cn/css?family=Ubuntu:300,400,700%7CUbuntu+Mono:400,700"
    ]
},

3. 管理配置

主配置文件为:“_h5ai/private/conf/options.json”。

您可能想要更改一些文档化的设置。h5ai/private/conf中还有一些文件你可能会使用到。

3.1. 密码配置

将密码通过SHA512 hash 计算获得passhash(password hash)值并配置到问文件中。

cf83e1357…da3e 这串字符为空字符的 SHA512 哈希值。所以我们在上面h5ai 环境与功能的自检 步骤里不用输入密码即可登录。

/*
Password hash.
SHA512 hash of the info page password, the preset password is the empty string.
Online hash generator: https://md5hashing.net/hash/sha512
*/
"passhash": "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e",

如何修改默认密码?

  1. 生成密码的 SHA512 hash 值。
  2. 将 cf83e1357…da3e 换成我们刚刚生成的 SHA512 值即可。

推荐使用 emn178 开源的静态网页版的密码生成工具 online-tools。

3.2. 列表设置

配置文件参考:
CentOS应用-H5ai文件管理_第2张图片

"view": {
    "binaryPrefix": false,
    "disableSidebar": true,
    "fallbackMode": false,
    "fastBrowsing": true,
    "fonts": ["Ubuntu", "Roboto", "Helvetica", "Arial", "sans-serif"],
    "fontsMono": ["Ubuntu Mono", "Monaco", "Lucida Sans Typewriter", "monospace"],
    "hidden": ["^\\.", "^_h5ai"],
    "hideFolders": false,
    "hideIf403": true,
    "hideParentFolder": false,
    "maxIconSize": 40,
    "modes": ["details", "grid", "icons"],
    "modeToggle": false,
    "setParentFolderLabels": true,
    "sizes": [20, 40, 60, 80, 100, 140, 180, 220, 260, 300],
    "theme": "default",
    "unmanaged": ["index.html", "index.htm", "index.php"],
    "unmanagedInNewWindow": false
},

3.3. 右侧边栏

  • **enabled:**显示右侧边栏(详情栏)。
  • **show:**右侧边栏式始终显示。
  • **qrcode:**右侧边栏生成链接的二维码
"info": {
    "enabled": false,
    "show": false,
    "qrcode": true,
    "qrFill": "#999",
    "qrBack": "#fff"
},  

3.4. 文件选择

  • enabled:是否允许文件选择,如果禁止文件选择,那么文件就无法下载。
  • clickndrag:是否允许左键拖动来进行文件多选。
  • checkboxes:当鼠标悬浮在文件名上时是否显示选择框。
"select": {
    "enabled": true,
    "clickndrag": true,
    "checkboxes": false
},

3.5 下载设置

  • enabled:是否允许下载文件。

  • **type:**选择压缩方式。

    • **php-tar:**使用 php 内置功能来下载文件,多线程,可以同时下载多个文件。
    • shell-tar:使用外部 tar 程序来下载文件,单线程,同一时间只能下载一个文件。
    • shell-zip:使用外部 zip 程序来下载文件,单线程,同一时间只能下载一个文件。
  • **packageName:**默认压缩包名称,为 null 时压缩包名称当前文件夹的名称,

  • **alwaysVisible:**下载按钮是否动态显示(只能选中文件后显示)。

"download": {
    "enabled": false,
    "type": "php-tar",
    "packageName": null,
    "alwaysVisible": false
},

你可能感兴趣的:(Linux应用环境配置,centos,linux,php,nginx)