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 😂
其他的配置可以自己探索一下,謝謝大家