记录安装h5ai私有云

  • 本地工作备忘录记录到线上,以删除本地文件
#yum install ImageMagick -y
#安装FFmpeg
#wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
#tar -zxvf yasm-1.3.0.tar.gz
#cd yasm-1.3.0
#./configure && make && make install
#wget http://www.ffmpeg.org/releases/ffmpeg-4.2.tar.gz
#tar -zxvf ffmpeg-4.2.tar.gz
#cd ffmpeg-4.2
#./configure
#make
#make install

安装PHP7.3

  • 安装exif、ImageMagick扩展、删掉禁用函数scandir、putenv、scandir、 exec、passthru、popepassthru

  • 在https://github.com/Pearlulu/h5ai_dplayer_hls/releases/tag/0610下载最新版Source code.zip

  • 要将相关的php、js文件中的_h5ai全部修改为iTdos

  • 解压后,将_h5ai文件夹上传至宝塔创建好的网站的根目录(注意:宝塔创建网站时要选择PHP7.3)

  • 将要共享的文件均放到根目录(与_h5ai同一目录下)

  • 网站根目录
    ├──── _h5ai
    ├──── _h5ai ─── private
    ├──── _h5ai ─── public
    ├──── 分享的文件
    ├──── 分享的文件夹 ─── 分享的文件
    └──── 分享的文件夹

  • 程序默认 _h5ai 和 . 开头的文件不显示,可以修改配置options.json文件来自定义不想分享的文件

  • h5ai 的index.php不在根目录下,所以需要在服务器上指定它的路径:/_h5ai/public/index.php

  • 打开网址 http://www.shixuen.com/_h5ai/public/index.php
    查看 h5ai 当前运行信息,即对当前运行环境与功能模块的自检结果。
    默认密码为空,直接点击登录

  • 报错:‘PUBLIC_HREF’ of undefined

    /xxoo/private/php/core/class-json.php
    /xxoo/private/cache/cmds.json
    /xxoo.itdos.net/xxoo/public/cache/
    权限都给777
    然后与_h5ai同级别的目录也要给777权限

  • 绿色,即代表检测通过

  • 红色,存在兼容性问题。如此处的server software(服务器)一栏

  • 红色的no,即此功能缺失,需要安装依赖环境。

  • 如此处的PDF thumbs(PDF缩略图),提示缺少convert(imagemagick)程序,此功能为 PDF文档生成缩略图。
    解决此问题只需在服务器安装imagemagick:
    :~$ apt-get install imagemagick

  • 为了安全起见,上面全yes后,将/xxoo/public/index.php文件修改后缀不要访问。

  • 至此,我们私有云就布置完成了,可以为我们提供服务了

  • h5ai 的配置文件为_h5ai/private/conf/options.json,修改它对 h5ai 的功能进行增减

  • passhash 即 password hash 的缩写,它的值为密码经过 SHA512 hash 计算后的结果。

  • cf83e1357…da3e 这串字符为空字符的 SHA512 哈希值。

  • 所以我们在上面 h5ai 环境与功能的自检 步骤里不用输入密码即可登录。

如何修改默认密码

  • 生成密码的 SHA512 hash 值。
  • 将 cf83e1357…da3e 换成我们刚刚生成的 SHA512 值即可。
  • 配置文件里给出的密码在线生成网址 md5hashing.net 不安全,它默认保存我们的密码与对应的 Hash 值
  • 所以在这里推荐使用 emn178 开源的静态网页版的密码生成工具 online-tools:https://emn178.github.io/online-tools/sha512.html
    #“view” : disableSidebar:是否显示左侧边栏(功能栏)
    #hidden:此参数可以指定文件夹列表里隐藏哪些文件,可以使用正则来匹配文件名称
    #^\.:隐藏名称以 . 开头的文件,如 .htaccess,.gitignor 等等
    #^_h5ai:隐藏名称以 _h5ai 开头的文件或文件夹,如 _h5ai,_h5ai.header.html 等等
    #^__:隐藏名称以__开头的文件或文件夹,如 __tmp,aaa 等等
    #\.sh$:隐藏名称以.sh结尾的文件或文件夹,如 bash.sh,scripts.sh 等等
    #^robots.txt:隐藏名称以 robots.txt 开头的文件或文件夹,如 robots.txt, robots.txt.bak 等等
    #hideFolders:是否在文件列表中只显示文件而隐藏文件夹
    #theme:默认的文件类型图标,_h5ai/public/images/theme 里的每个文件夹都是一种图标,默认带了 2 套,另一套图标名为 comity
    #unmanaged:如果某个文件夹里包含数组里的文件,则将拒绝显示此文件夹里的所有内容

#“info”: enabled:是否显示右侧边栏(详情栏)
show:是否一直显示右侧边栏
qrcode:是否在右侧边栏生成下载链接的二维码以方便移动端下载

如果存在文件,但读不出来,可能原因就是php已禁用scandir函数了,请修改php.ini解决:

disable_functions=exec,system,chroot…
删掉scandir、putenv、scandir、 exec、 passthru字样,再重启php即可:/etc/init.d/php-fpm restart
把h5ai程序_h5ai中private和public两个文件夹中的cache目录权限设置为777

#如果不想要用户名密码,把_h5ai/public/index.php里第二行include 'login.php’注销。
修改用户名密码在_h5ai/public/login.php

关于切片视频播放:

例如视频在/video/abcd.mp4,那么会自动寻找/video/abcd.mp4/video.m3u8。也就是会寻找"视频文件名"

搭配Aria2下载完成后自动切片

  • 下载脚本 #wget https://raw.githubusercontent.com/Pearlulu/h5ai_dplayer_hls/master/hls_aria2.sh
  • 在aria2配置文件中增加以下参数,后面为脚本路径 on-download-complete=/root/hls_aria2.sh
  • 授权脚本 #chmod +x /root/hls_aria2.sh
  • 修改脚本的下载路径DOWNPATH(注意需要结尾的"/"),然后重启Aria2生效。

通用转换切片文件、将目录及所有子目录下的全部视频文件切片。

  • 下载脚本 #wget https://raw.githubusercontent.com/Pearlulu/h5ai_dplayer_hls/master/hls_general.sh
  • 自行修改脚本里的目录绝对路径(注意结尾无"/")。
  • 运行脚本 #bash hls_general.sh
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐