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. —— 摘自h5ai官网
H5AI 是一个 php 文件目录列表程序,由德国开发者 @Lars Jung 主导开发,它提供多种文件目录列表呈现方式,支持多种主流 Web 服务器。这是一个开源项目,项目地址在这。感谢开源社区和项目开发者的无私贡献。
安装H5AI是因为它能够很好的管理服务器上的文件,并以列表的形式显示在前端,正好适合我的需要。下面,我将安装及配置过程记录下来,与大家分享。
1 安装前的准备
h5ai能够实现文件的在线查看,依赖于各种Linux的软件,为了让其正常工作,需要首先安装这些软件。因为我的环境是Ubuntu,所以默认是Ubuntu的安装命令,使用其他发行版本的朋友可以自己搜一下安装方法哈😄
- ffmpeg
ffmpeg是一款视频处理最常用的开源软件,用于音视频的标准编码/解码
sudo apt-get update
sudo apt-get -y install ffmpeg
- convert
convert命令可以用来转换图像的格式,支持JPG, BMP, PCX, GIF, PNG, TIFF, XPM和XWD等类型
apt install imagemagick-6.q16
- zip
Linux zip命令用于压缩文件,zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件。
apt-get install zip
2 安装h5ai
2.1 下载安装包
h5ai官方网站在这里:https://larsjung.de/h5ai/
在官网能够下载到最新的安装包,不过好像一直没有更新,目前是0.29.2
版本
2.2 解压文件
- 移动文件夹
将下载得到的文件夹移动到你的web目录即可。我是搭建的LAMP架构,所以将解压后的文件夹移动到了/var/www/html/
目录。
- 增加默认索引页
我们知道,apache默认索引的页面是index.*
,而为了使h5ai能够被索引到,我们需要修改apache的配置文件
官网给出的修改方法如下:
Apache httpd 2.2/2.4
: inhttpd.conf
or in the root directory’s .htaccess file set for example:
- DirectoryIndex index.html index.php
/_h5ai/public/index.php
lighttpd 1.4
: inlighttpd.conf
set for example:
- index-file.names += (“index.html”, “index.php”,
"/_h5ai/public/index.php"
)nginx 1.2
: innginx.conf
set for example:
- index index.html index.php
/_h5ai/public/index.php
;Cherokee 1.2
: incherokee.conf
set for example:
- vserver!1!directory_index = index.html,index.php,
/_h5ai/public/index.php
按照上面的提示,找到相应的文件修改配置即可。比如,如果您使用centos+Apache的环境,就可以进入/etc/httpd/conf/httpd.conf
文件进行配置。
我这里的LAMP因为是用Ubuntu搭建的,所以配置过程有点不一样。Ubuntu环境下没有httpd.conf
文件,取而代之的是dir.conf
文件,默认是在/etc/apache2/mods-enabled/
目录下,如果没有的话,可以使用find / -name dir.conf
查找一下文件位置。
打开/etc/apache2/mods-enabled/dir.conf
文件,添加新的默认索引名/_h5ai/public/index.php
,注意不要丢掉开头的/
。修改完成后,大概是这样的:
- 文件夹权限
为了确保程序正常运行,需要将_h5ai
目录下的private
和public
均设置为755权限。当然,为了使文件夹拥有缓存功能,可以将文件夹权限改为777
sudo chmod 755 private/ public/
设置成功后,_h5ai
文件夹的权限应该是下面这样
root@Aliyun:/var/www/html/_h5ai# ls -l
total 32
-rw-r--r-- 1 root root 18943 Feb 27 13:05 CHANGELOG.md
drwxr-xr-x 5 root root 4096 Feb 27 13:05 private
drwxr-xr-x 7 root root 4096 Feb 27 13:06 public
-rw-r--r-- 1 root root 2755 Feb 27 13:06 README.md
现在,你可以登录_h5ai的后台,检查相关软件是否安装成功。
在浏览器中输入http://YOUR-DOMAIN/_h5ai/public/index.php
(将YOUR-DOMAIN
换成自己的域名)即可。
进入网页之后,需要你填写密码。默认密码是空的,直接点击登录即可。后面会提到如何修改密码。
如果显示这样的配置情况,说明软件已经可以使用了
现在在浏览器中输入你自己的域名或者IP, 就可以使用h5ai了!
3 修改配置文件
下面进行一些自定义的设置,这些不是必要的,可以自己探索一下
h5ai
的配置文件是_h5ai/private/conf/options.json
,以下设置均是在该文件中进行。
3.1 更改显示语言
在配置文件中查找l10
字段,将其中的lang
键值改为zh-cn
"l10n": {
"enabled": true,
"lang": "zh-cn",
"useBrowserLang": true
},
3.2 文件搜索功能
查找search
字段,将enable
键值改为true
"search": {
"enabled": true,
"advanced": true,
"debounceTime": 300,
"ignorecase": true
},
3.3 多文件下载功能
多文件下载就是允许用户选择多个文件,然后打包下载,要实现该功能,首先要开启文件选择权限,之后开启打包下载功能
首先开启多文件选择功能,找到select
字段,它默认是开启的
"select": {
"enabled": true,
"clickndrag": true,
"checkboxes": true
},
之后,找到download
字段,将它设为允许状态
"download": {
"enabled": true,
"type": "php-tar",
"packageName": null,
"alwaysVisible": false
},
3.4 设置密码
- 初次登陆时密码默认为空,可以在配置文件中修改密码
- h5ai使用SHA512对密码进行了加密,如果需要设置自己的密码,需要先将密码明文使用SHA512加密一下,再将密文写到配置文件中。
- 官方推荐使用
http://md5hashing.net/hashing/sha512
这个网站进行SHA512密文生成,但是这个网站好像不太好用,我在这里推荐一个网站http://www.bejson.com/enc/sha/
,用它来生成SHA512加密的密文,然后复制到配置文件中。
/*
"passhash": "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e",
*/
"passhash": "0c6fef16fe89cd7a7745c973913f00531d363c6ea7c747268d0f74d293c20a2005e6be799694e04f54f34163b288e2342d5122737dff4fc80c269636e22dbd23",
这里注意,最好将原有的空密码保留一下。
P.S: 不要试图去破解SHA512 😂
其他的配置可以自己探索一下,谢谢大家