自建网盘程序,使用 h5ai 搭建下载站教程

2021年6月29日 评论 7,268

官方DEMO:https://larsjung.de/h5ai/demo/
官方程序说明文档:https://larsjung.de/h5ai/
GITHUB:https://github.com/lrsjng/h5ai
推荐案例:https://www.fantasyfactory.xyz/(这个案例一定要看!!)

关于H5ai

H5ai是一款功能强大 php 文件目录列表程序,由德国开发者 Lars Jung 主导开发,它提供多种文件目录列表呈现方式,支持多种主流 Web 服务器,例如 NginxApacheCherokeeLighttpd 等,支持多国语言,可以使用本程序在线预览文本、图片、音频、视频等。
H5ai需要最低php5.5+
自建网盘程序,使用 h5ai 搭建下载站教程

安装教程

1. 搭建web环境

可以用LNMP,LAMP,或者直接宝塔一类面板安装。

2. 下载并上传H5ai程序到根目录

官网下载最新版本: https://release.larsjung.de/h5ai/
然后上传到网站根目录
目录关系

  1. DOC_ROOT
  2. ├─ _h5ai
  3. ├─ your files
  4. └─ and folders

publicprivate权限777

3. 修改Nginx配置文件

根据不同系统,修改当前域名下的Nginx配置文件
root一行把/_h5ai/public/index.php添加进去
Apache httpd 2.2 / 2.4:httpd.conf

  1. DirectoryIndex index.html index.php /_h5ai/public/index.php

lighttpd 1.4:lighttpd.conf

  1. index-file.names += ("index.html", "index.php", "/_h5ai/public/index.php")

nginx 1.2:nginx.conf

  1. index index.html index.php /_h5ai/public/index.php;

Cherokee 1.2: in cherokee.conf

  1. vserver!1!directory_index = index.html,index.php,/_h5ai/public/index.php

最后重启Apache或者Nginx系统即可!

如宝塔面板,只需在网站-设置-配置文件中添加即可!

4. 修改PHP配置,解除禁用函数

php配置文件路径:/usr/local/php/etc/php.ini
搜索:disable_functions找到下列内容

  1. disable_functions=passthru,exec,system,chroot,scandir,...

删除scandirexecpassthru 保存
重启php : /etc/init.d/php-fpm restart

5. 检测H5ai系

访问:http://YOUR-DOMAIN.TLD/_h5ai/public/index.php 检测H5ai系统兼容性
自建网盘程序,使用 h5ai 搭建下载站教程
h5ai 2

6. H5ai更多功能

6.1 安装FFmpeg

6.1.1打开/etc/apt/sources.list 添加软件源
  1. deb http://www.deb-multimedia.org jessie main non-free
  2. deb ftp://ftp.deb-multimedia.org jessie main non-free
  3. deb http://www.deb-multimedia.org stable main non-free
  4. deb ftp://ftp.deb-multimedia.org stable main non-free

详情去: http://ffmpeg.org/download.html

6.1.2 更新软件源
  1. apt-get -y update
6.1.3 安装FFmpeg

1.用avconv代替:

  1. sudo apt-get update
  2. sudo apt-get install libav-tools

2.FFmpeg:

  1. apt-get -y install ffmpeg

安装时出现错误无法安装,提示没有安装依赖库
自建网盘程序,使用 h5ai 搭建下载站教程
查了好多不知道怎么安装依赖库,最后不知道怎么自己就安装好了
先按照6.1.1把软件源改成了系统一样的Jessie(oldstable):deb http://www.deb-multimedia.org jessie main
执行命令:

  1. sudo apt-get update
  2. sudo apt-get install deb-multimedia-keyring
  3. sudo apt-get install ffmpeg

参考:https://superuser.com/questions/286675/how-to-install-ffmpeg-on-debian

CentOS7

安装 FFmpeglibav
请查看FFmpeg官方最新版本:Here
升级系统

  1. sudo yum install epel-release -y
  2. sudo yum update -y
  3. sudo shutdown -r now

安装Nux Dextop Yum
由于CentOS没有官方FFmpeg rpm软件包。但是,我们可以使用第三方YUM源(Nux Dextop)完成此工作。

  1. sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
  2. sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

安装FFmpegFFmpeg开发包

  1. sudo yum install ffmpeg ffmpeg-devel -y

测试是否安装成功

  1. ffmpeg

如果你想了解更多关于FFmpeg使用方面的资料,可以输入:

  1. ffmpeg -h

6.2 略微图功能

图片:

_h5ai 中,privatepublic 文件夹中的 cache 目录设置权限为 755

EXIF

直接用宝塔面板安装PHP,在PHP扩展选项里选择 Exif模块安装

PDF 略缩图:

宝塔面板PHP扩展里找到ImageMagick 安装

7.H5ai其他功能

以下不专门注明的话,都是在h5ai的默认设置文件中进行修改即可。默认设置文件路径为:
_h5ai/private/conf/options.json
1.设置默认语言。在配置文件中搜索l10n找到设置,将en改为zh-cn即可。

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

2.开启文件搜索功能。在配置文件中搜索search,将false改为true

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

3.多文件下载支援设置。
3.1在配置文件中搜索select,将false改为true。之后你的h5ai点击文件先端的时候,并不是下载,而是选中文件,下载的按钮呢在左上角喽。如果要下载文件呢,可以点击文件名字依旧还是下载功能。

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

3.2在配置文件中搜索download,将false改为true,如果需要设置打包文件的格式为zip,而不是默认的tar的话,需要将php-tar改为shell-zip

  1. "download": {
  2. "enabled": true,
  3. "type": "shell-zip",
  4. "packageName": null,
  5. "alwaysVisible": false
  6. },

4.二维码下载
可以通过扫码的方式下载文件。在配置文件中搜索info,将false改为true,这里有2个地方要改。

  1. "info": {
  2. "enabled": true,
  3. "show": true,
  4. "qrcode": true,
  5. "qrFill": "#999",
  6. "qrBack": "#fff"
  7. },

当你鼠标置于文件上时,可以看见h5ai右侧显示文件类型和二维码,手机扫码就可以下载文件。
5.加密
首先生成自定义 sha512 密码:http://md5hashing.net/hashing/sha512
然后搜索 passhash,大概第 10 行,将其密码改成自己生成的。

为登录用户显示不同的 WordPress 菜单 网页前端

为登录用户显示不同的 WordPress 菜单

有的网站需要为未登录用户和登录用户显示不同的菜单,那么该如何实现呢? 可以通过下面的代码实现: 将下面代码添加到当前主题函数模板functions.php中: if( is_user_logged_i...
WordPress如何设置强制登录否则无法查看网站 网页前端

WordPress如何设置强制登录否则无法查看网站

如网站内容只希望注册用户浏览,对其他所有人隐藏,浏览者未登录访问直接跳转到登录注册页面,可以用下面的代码实现。 将下面代码添加到当前主题函数模板functions.php中: 代码一 未登录访问网站直...
WordPress 如何导出部分文章 网页前端

WordPress 如何导出部分文章

WordPress 自带的导出功能只能导出全部文章,如果想导出部分文章或者某个文章,可以安装文章导出插件Single Post Exporter。 安装并启用插件后无需设置,会分别在文章编辑页面、文章...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: