0%

Ubuntu LAMP 环境下安装 H5AI

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 服务器。这是一个开源项目,项目地址在这。感谢开源社区和项目开发者的无私贡献。

Show_MyWeb

安装H5AI是因为它能够很好的管理服务器上的文件,并以列表的形式显示在前端,正好适合我的需要。下面,我将安装及配置过程记录下来,与大家分享。

1 安装前的准备

h5ai能够实现文件的在线查看,依赖于各种Linux的软件,为了让其正常工作,需要首先安装这些软件。因为我的环境是Ubuntu,所以默认是Ubuntu的安装命令,使用其他发行版本的朋友可以自己搜一下安装方法哈😄

  • ffmpeg

ffmpeg是一款视频处理最常用的开源软件,用于音视频的标准编码/解码

1
2
sudo apt-get update
sudo apt-get -y install ffmpeg
  • convert

convert命令可以用来转换图像的格式,支持JPG, BMP, PCX, GIF, PNG, TIFF, XPM和XWD等类型

1
apt install imagemagick-6.q16
  • zip

Linux zip命令用于压缩文件,zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件。

1
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: 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

按照上面的提示,找到相应的文件修改配置即可。比如,如果您使用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,注意不要丢掉开头的/。修改完成后,大概是这样的:

Add_Search

  • 文件夹权限

为了确保程序正常运行,需要将_h5ai目录下的privatepublic均设置为755权限。当然,为了使文件夹拥有缓存功能,可以将文件夹权限改为777

1
sudo chmod 755 private/ public/

设置成功后,_h5ai文件夹的权限应该是下面这样

1
2
3
4
5
6
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换成自己的域名)即可。

进入网页之后,需要你填写密码。默认密码是空的,直接点击登录即可。后面会提到如何修改密码。

h5ai_show

如果显示这样的配置情况,说明软件已经可以使用了

现在在浏览器中输入你自己的域名或者IP, 就可以使用h5ai了!

3 修改配置文件

下面进行一些自定义的设置,这些不是必要的,可以自己探索一下

h5ai的配置文件是_h5ai/private/conf/options.json以下设置均是在该文件中进行

3.1 更改显示语言

在配置文件中查找l10字段,将其中的lang键值改为zh-cn

1
2
3
4
5
"l10n": {
"enabled": true,
"lang": "zh-cn",
"useBrowserLang": true
},

3.2 文件搜索功能

查找search字段,将enable键值改为true

1
2
3
4
5
6
"search": {
"enabled": true,
"advanced": true,
"debounceTime": 300,
"ignorecase": true
},

3.3 多文件下载功能

多文件下载就是允许用户选择多个文件,然后打包下载,要实现该功能,首先要开启文件选择权限,之后开启打包下载功能

首先开启多文件选择功能,找到select字段,它默认是开启的

1
2
3
4
5
"select": {
"enabled": true,
"clickndrag": true,
"checkboxes": true
},

之后,找到download字段,将它设为允许状态

1
2
3
4
5
6
"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加密的密文,然后复制到配置文件中。
1
2
3
4
/*
"passhash": "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e",
*/
"passhash": "0c6fef16fe89cd7a7745c973913f00531d363c6ea7c747268d0f74d293c20a2005e6be799694e04f54f34163b288e2342d5122737dff4fc80c269636e22dbd23",

这里注意,最好将原有的空密码保留一下。

P.S: 不要试图去破解SHA512 😂

其他的配置可以自己探索一下,谢谢大家

4 参考资料

  • h5ai - 官网
  • h5ai - GitHub项目地址
  • H5ai 完整安装及使用教程 - 雨林的博客
  • h5ai安装、使用及加密目录教程 - XZYMOE'S BLOG
  • 一款不错的PHP目录列表程序:h5ai安装教程 - Rat's Blog
  • Ubuntu 18.04 Apache2默认网站目录和默认网站主页修改 - ShainEli_CSDN
谢谢你请我喝快乐水 😜

欢迎关注我的其它发布渠道