h5ai 是一款 php 目录列表程序,适合用来搭建一个简单公开的下载站,支持在线预览 .jpg、.md、.mp4 等多种格式。
官方 Demo 演示页面:https://larsjung.de/h5ai/demo/
提示:本站已更新使用 Container Manager 套件(原 Docker 套件)搭建 h5ai 的教程,您可以前往 https://blog.kobin.cn/blog/network/n4/3035.html 进行查看。
操作步骤
1、登录群晖 DSM 系统,在套件中心安装「Web Station」。
2、前往「控制面板」>「文件共享」>「共享文件夹」,新建一个共享文件夹。
3、文件夹权限页面,将「http」群组设置为「只读」权限。
4、前往官网 https://larsjung.de/h5ai/ 下载最新的稳定版程序。
5、下载完成后,将程序上传到 NAS 刚才新建的文件夹中,并进行解压。
6、打开 WebStation,新建一台虚拟主机,设置 HTTP 端口和站点根目录。
7、分别把 h5ai 文件夹下的「private」和「public」两个子文件夹,将「http」群组设置为「读写」权限。
8、打开浏览器,访问 http://192.168.1.100:9000/_h5ai/public/index.php ,将链接中的 IP 地址替换为本地 NAS 服务器的 IP 地址,初始密码为空。
9、登录后可以看到 h5ai 的后台检查页面,从这里可以检查支持格式的情况,以及图片、视频、PDF 在线预览的相关状态。
10、前往「控制面板」>「应用程序」>「终端和 SNMP」,启动 SSH 功能,并设置 SSH 端口。
11、前往 https://www.putty.org/ 下载 PuTTY 远程连接工具,通过这个工具可以登录到 NAS 的控制台。
12、打开 PuTTY 远程工具,IP 地址为本地 NAS 服务器的 IP 地址,端口为刚才设置的 SSH 端口,输入完成后点击连接。
13、输入 NAS 服务器的管理员账户名和密码,依次执行以下命令。
更新:DSM 7.2 及后续系统版本,nginx 的配置文件路径更改为 /usr/local/etc/nginx/sites-enabled/webservice_portal_****** ,并且每次重启服务后,配置文件内容将被重置。
# 获取 root 权限
sudo -i
# 查看虚拟主机的配置文件夹名称
ls /usr/local/etc/nginx/conf.d/
# 修改配置文件,此处将 ****** 替换为自己的文件夹名称
echo -e "index index.html index.htm index.php /_h5ai/public/index.php;" > /usr/local/etc/nginx/conf.d/******/user.conf.h5ai
# 重启 nginx 服务
sudo nginx -s reload
14、这时候访问 http://192.168.1.100:9000/ 就可以正常显示页面了。
在群晖 Web Station 上搭建 h5ai 下载站点
https://blog.kobin.cn/blog/network/n4/1555.html
评论列表(21条)
中文目录好像不行,按网上的方法修改之后,能显示中文目录,但是点进去就访问不了。有解决办法没?
@哈哈:我这边测试用初始配置文件的环境下,没有遇到你所述的情况,中文目录可以正常访问
@KOBIN:DSM7.2,每次重启会失效,要重新执行第13步,我用的是VI 命令去编辑的,编辑完之后 wq! 强制保存了
按照步骤配置完毕后,http://192.168.0.62:9000/_h5ai/public/index.php能正常打开,但是不能进入http://192.168.0.62:9000/页面,报错403。不知道是哪儿的问题
@onlys:已经搞定了,最后一步没弄对。另外想问下楼主,如何屏蔽掉@eadir文件夹
@onlys:修改 \_h5ai\private\conf\options.json 配置文件,找到 view 项目下的 hidden,把文件夹名称加进去就行了
群晖升级到7.2之后,之前部署的失效了,重新部署卡又卡到最后一步了。ls /usr/local/etc/nginx/conf.d/
没看到相关服务的配置文件。求楼主指点迷津。
@onlys:DSM 7.2 以上版本的 WebStation 配置文件移动到了 /usr/local/etc/nginx/sites-enabled/webservice_portal_e3e39f8b-345c-406a-95a0-284d018cbcb2,修改下对应的文件就可以了,只是换了个路径,其他信息不变
-ash: /usr/local/etc/nginx/sites-enabled/webservice_portal_19da2a49-e605-49af-8a71-428754a5bb39/user.conf.h5ai: Not a directory 这个报错如何处理。。。
能不能在DSM 7.2 及后续系统版本环境下重新写一份教程,目前按照此教程无法配置,非常感谢~!
@挖土的兔子:看我下面的回复
记录下我升级7.2以后得解决方式:
cat /usr/local/etc/nginx/sites-enabled/webservice_portal_97a2244b-cb49-47e0-9cb7-d376c0bda4cc
看最后一行的内容,我的是:
include conf.d/.service.97a2244b-cb49-47e0-9cb7-d376c0bda4cc.d7b3102e-8cb8-4c27-b706-3180c354c367.conf*;
然后:
cat /usr/local/etc/nginx/conf.d/.service.97a2244b-cb49-47e0-9cb7-d376c0bda4cc.d7b3102e-8cb8-4c27-b706-3180c354c367.conf
看最后一行的内容,我的是:
include /usr/local/etc/nginx/conf.d/d7b3102e-8cb8-4c27-b706-3180c354c367/user.conf*;
然后手工创建这个目录:
mkdir /usr/local/etc/nginx/conf.d/d7b3102e-8cb8-4c27-b706-3180c354c367
手工创建这个文件:
touch /usr/local/etc/nginx/conf.d/d7b3102e-8cb8-4c27-b706-3180c354c367/user.conf.h5ai
最后原来的配方:
echo -e “index index.html index.htm index.php /_h5ai/public/index.php;” > /usr/local/etc/nginx/conf.d/d7b3102e-8cb8-4c27-b706-3180c354c367/user.conf.h5ai
sudo nginx -s reload
@takikoma:麻烦再看下我出现的问题,是不是在配置Web Station的时候配置的步骤不对?Web Station–创建网页服务—本机脚本语言网站
@挖土的兔子:我下面的运行命令有错误,解决方式没问题,谢谢!
@挖土的兔子:我是7.2以前的系统运行正常的h5ai,升级到7.2以后出问题了,这么解决的。你是不是全新安装的,感觉情况不太一样。
另外我是DSM 7.2,你如果不是这个7.2版本就不是这些文件,比如7.1,就从这里开始看:/usr/local/etc/nginx/sites-enabled/server.webstation-vhost.conf
@takikoma:该方案可行,已经成功,感谢~~
第一步:
cat /usr/local/etc/nginx/sites-enabled/webservice_portal_1aea5a29-9361-4e85-a6e5-e9d4aa426084
结果没问题
include conf.d/.service.1aea5a29-9361-4e85-a6e5-e9d4aa426084.44e4c59b-1711-4279-af3f-f29c2f5b5180.conf*;
但是第二步,目录下没有此文件
root@SynologyDS1621:~# ls /usr/local/etc/nginx/conf.d
alias.syno-app-portal.SurveillanceStation.conf dsm.syno-app-portal.SurveillanceStation.conf
alias.syno-app-portal.SynologyPhotos.conf dsm.syno-app-portal.SynologyDrive.conf
dsm.pkg-static.ContainerManager-70163528.conf dsm.syno-app-portal.SynologyPhotos.conf
dsm.pkg-static.SynologyApplicationService-1255611987.conf dsm.syno-app-portal.VideoStation.conf
dsm.pkg-static.SynologyDrive-1350404196.conf dsm.syno-app-portal.Virtualization.conf
dsm.ssdp.conf dsm.synorelayd.conf
dsm.syno-app-portal.AudioStation.conf events.origin.conf
dsm.syno-app-portal.Calendar.conf main.origin.conf
dsm.syno-app-portal.DownloadStation.conf ssl.compress.conf
dsm.syno-app-portal.FileStation.conf http://www.pkg-static.Calendar-464751258.conf
dsm.syno-app-portal.NoteStation.conf x-accel.pkg-static.VideoStation-3300082696.conf
第三步运行失败了
cat /usr/local/etc/nginx/conf.d/conf.d/.service.1aea5a29-9361-4e85-a6e5-e9d4aa426084.44e4c59b-1711-4279-af3f-f29c2f5b5180.conf*
cat: ‘/usr/local/etc/nginx/conf.d/conf.d/.service.1aea5a29-9361-4e85-a6e5-e9d4aa426084.44e4c59b-1711-4279-af3f-f29c2f5b5180.conf*’: No such file or directory
请问搭建完怎么添加目录呀
@Wind:第 6 步的时候会设置一个站点根目录,通过 FileStation,在这个目录上新建就好了
楼主能否帮忙远程设置一下,升级7.2后失效了,我又把文件和网站门户删了,重新设置了一遍,还是报403折腾好久了…
@Tk:DSM7.2,每次重启会失效,要重新执行第13步,我用的是VI 命令去编辑的,编辑完之后 wq! 强制保存了