标签搜索

H5ai轻量下载站搭建

zyb
zyb
2024-01-31 / 0 评论 / 52 阅读 / 正在检测是否收录...

H5ai搭建教程

what:

h5ai(hypertext 5 file browser)是一个用于浏览和管理文件系统的开源文件浏览器。用它可以搭建一个轻量简洁的下载站

https://larsjung.de/h5ai/ 作者官网

  • H5ai的网站目录树结构

    • 网站根目录
    • ├─ _h5ai
    • ├─ _h5ai ─ private
    • ├─ _h5ai ─ public
    • ├─ 展示文件
    • ├─ 展示文件夹
    • └─ 展示文件夹 ─ 展示文件

具体安装步骤

一、系统准备

  • 准备好一个纯净的Liunx系统 (以ubuntuServer22.04.3为例)
  • 配置静态IP

    • 打开终端或SSH连接到服务器。
    • 使用root权限登录(如果没有sudo访问权限)
    • 编辑网络配置文件/etc/netplan/目录中的相应文件。通常情况下,该文件名为50-cloud-init.yaml

      network:
        version: 2
        renderer: networkd
        ethernets:
          enpXsY: # 此处的"enpXsY"需要替换成你自己的网络接口名字
            dhcp4: no
            addresses: [192.168.1.100/24] # 此处的IP地址和子网掩码需要替换成你想要设置的值
            routes: 
      - to: default
       via: 192.168.1.1 # 此处的默认网关需要替换成你自己的网关地址
            nameservers:
              addresses: [8.8.8.8, 8.8.4.4] # 此处的DNS服务器地址也可以根据需求进行调整
    • 运行以下命令以重新加载网络配置:sudo netplan apply
  • 部署好BT面板

    • wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec
  • 切换为root用户,输入bt,查看ip地址,以及用户名密码,打开宝塔web界面

二、宝塔设置

  • 部署NMP环境(Nginx+MySQL+PHP7.0+)

  • 网站添加站点

  • 设置默认网站文档

    • 在网站-站点设置-默认文档 添加 /_h5ai/public/index.php,记得点击添加

  • 官网下载压缩包

  • 通过宝塔上传到网站目录,删除默认生成的404 index等页面,在线解压

  • 这里我用的动态公网,因此需要去网关里做一下映射,否则外网无法访问

  • 域名解析到动态公网IP,也可以自己搭建一个DDNS服务,不然每次IP变换都需要手动修改解析地址

三、H5AI依赖设置

  • 此时,都配置好以后,就可以通过解析的域名和映射的IP地址访问到H5ai的页面了

你的域名/_h5ai/public/index.php

  • 可以看出,现在显示不完整,这是因为php中的putenv函数被禁用,我们需要删除禁用

  • 再次刷新,就显示正常了,默认没有密码,直接点击登录即可

  • 有很多条件没有满足,我们需要一个个解决

    • PHP安装插件fileinfoimagemagickexif (Use EXIF thumbs、PDF thumbs依赖)

    • 删除被禁用PHP函数execpassthru (Shell tar、Shell zip、Shell du依赖)

    • Movie thumbs (ffmpeg)安装

      • ssh连接到命令行窗口执行 apt-get -y install ffmpeg -y 安装

    • 至此,所有的依赖项就都满足了

    四、H5AI详细配置

    • 修改自检页密码

      • 密码修改路径:_h5ai/private/conf/options.json,开头就是密码部分,下面是默认配置。
      • 使用sha512计算生成(SHA512在线生成)自己的密码,替换掉原本的空值sha512并保存

    • 设置/_h5ai/private目录访问返回404

      • 在网站配置文件中添加下面的内容即可

        location = /_h5ai/private/
        {
        return 404;
        }
    <img src="http://cdn.zlovej.top/www.zlovej.top/20240131/png/1706707386798Snipaste_2024-01-31_21-24-10.png" style="zoom:80%" />
    
    • 设置网站全局访问密码 (这里为了方便下载,可以不加)

      • 即访问网站需要先登录账号密码才能查看,修改文件路径/你的域名/_h5ai/public/index.php,将下面内容添加到末尾

        1. function auth () {
        2. $valid_passwords = array ("账号" => "密码");
        3. $valid_users = array_keys($valid_passwords);
        4. $user = $_SERVER['PHP_AUTH_USER'];
        5. $pass = $_SERVER['PHP_AUTH_PW'];
        6. $validated = (in_array($user, $valid_users)) && ($pass == $valid_passwords[$user]);
        7. if (!$validated) {
        8. header('WWW-Authenticate: Basic realm="Storage Server"');
        9. header('HTTP/1.0 401 Unauthorized');
        10. die ("Your permission is denied!");
        11. }
        12. }
        13. auth();#分别修改代码内的“账号”和“密码”即可
    • 基本功能设置

      • H5ai基本设置的配置文件路径是:_h5ai/private/conf/options.json

        • 设置默认语言

          //找到“l10n”,将en改为zh-cn。
          "l10n": {
          "enabled": true,
          "lang": "zh-cn",
          "useBrowserLang": true
          },
    + 开启文件搜索功能
    
    //找到“search”,将false改为true。
    
    "search": {
    "enabled": true,
    "advanced": true,
    "debounceTime": 300,
    "ignorecase": true
    },
    + 下载设置
    
    //找到“download”,如果需要设置打包文件的格式为zip,则修改type的值为shell-zip。
    
    "download": {
    "enabled": true,
    "type": "shell-zip",
    "packageName": null,
    "alwaysVisible": false
    },
    + 显示文件信息与二维码下载
    
    //找到"info",将false改为true。H5ai可以通过扫码的方式下载文件
    
    "info": {
    "enabled": true,
    "show": true,
    "qrcode": true,
    "qrFill": "#999",
    "qrBack": "#fff"
    },
    + 字体加速,替换google字体库
    
    //找到"resources",替换http://fonts.googleapis.com为国内源,例如http://fonts.lug.ustc.edu.cn
    
    "resources": {
    "scripts": [],
    "styles": [
    "//fonts.lug.ustc.edu.cn/css?family=Ubuntu:300,400,700%7CUbuntu+Mono:400,700"
    ]
    },

    参考博客

    1

    评论 (0)

    取消