快速搭建一个下载站:详解Linux上部署h5ai实现目录映射 您所在的位置:网站首页 软件搭建平台怎么做 快速搭建一个下载站:详解Linux上部署h5ai实现目录映射

快速搭建一个下载站:详解Linux上部署h5ai实现目录映射

2024-07-17 01:31| 来源: 网络整理| 查看: 265

作者:Mintimate

博客:https://www.mintimate.cn

Mintimate's Blog,只为与你分享

封面嗷封面嗷H5AI

H5AI,其实全称是:HTML5 Apache Index。最初是用来在Apache Web服务器上,完成资源映射,但是后来适配到Nginx等其他平台。使用H5AI的效果:

在树莓派上搭建在树莓派上搭建特点

其实,Nginx自带的autoindex可以满足绝大多数人的需求,使用autoindex配合fancyindex模块,可以满足:

文件搜索文件目录自动映射

而使用h5ai,因为加上了PHP,可以在Nginx自带的autoindex上,新增:

更强大的文件搜索文件地址二维码生成多文件合并下载图片缩略图生成图片、视频在线浏览使用场景

使用场景就很丰富了,

1. 内网使用

内网设备上使用,以树莓派为例:配合Aria2,就是一个不错的下载器,甚至可以说是一个小型的NAS。

2. 公网使用

公网设备上使用,以服务器为例。使用DNS解析二级或者是三级域名到Linux服务器上,用Nginx对域名进行分配,你可以随时分享服务器上的文件给你的朋友;当然,也可以作为离线下载(下载文件到服务器,使其解放本地资源,如:迅雷离线下载)后,回传本地的一种方式。

我现在就用腾讯云轻量应用服务器,作为自己的离线下载器。甚至用出了NAS的感觉~

安装前提

在Linux上,需要:

NginxPHP7+

本次教程,我就使用腾讯云轻量应用服务器进行演示。使用Debian系统:

使用Debian使用Debian

这样的轻量应用服务器,又多了新的功能~

PHP模块

其中,PHP需要扩展模块:

EXIFGDPHP需要的模块PHP需要的模块Linux 依赖包

Linux需要工具包:

JPEGzipffmpegconvertimagemagick宝塔搭建

上次我发布投票,发现很多人的LEMP都是使用宝塔配置的,所以我这里也讲讲宝塔搭建的方法。

1. Nginx&PHP

我们到宝塔的软件商店,下载PHP和Nginx,编译安装或者快速安装都可以,但是需要注意PHP的版本:

安装PHP和Nginx安装PHP和Nginx

注意:安装PHP,需要2G以上的内存,如果你的服务器小于2G内存,可能安装不上(但是你可以通过增加swap以满足安装需求)

并允许使用putenv函数:

putenv函数putenv函数2. 创建网站

之后,我们点击网站--添加站点,按提示添加:

添加站点添加站点

因为,h5ai的目录映射逻辑是:

代码语言:txt复制网站根目录 ├─ _h5ai ├─ 你的其他文件1 └─ 你的其他文件1

所以,上传h5ai文件到网站根目录,并解压:

解压后效果解压后效果

这个时候,我们就可以通过刚刚设置的域名(或IP)进行访问了:

访问“自检”访问“自检”

如果你使用的是腾讯云轻量应用服务器的Debian,应该只有最后几项没过:

最后几项最后几项

别急,我们下面来解决。

3. 修复依赖

现在我们来修复依赖,首先是EXIF extension。我们使用宝塔自带的PHP工具,帮助我们动态编译:

动态编译EXIF动态编译EXIF

安装了以后,不要忘记PHP的重载配置:

重载配置重载配置

接下来几项,我们到Shell内操作:

腾讯云Web Shell挺方便的腾讯云Web Shell挺方便的

依此安装:

代码语言:txt复制# 安装FFmpeg库 sudo apt install ffmpeg # 安装convert库(imagemagick提供) sudo apt install imagemagick # 安装tar库 sudo apt install tar # 安装zip库 sudo apt install zip # 安装du库(coreutils提供) sudo apt install coreutils

安装完成后,如果你的h5ai自检还是有问题,在到宝塔面板内,删除exec函数的禁用(方法和删除putenv函数禁用一样)

完成上述步骤,自检就全部通过了:

h5ai自检h5ai自检4. 更改Nginx配置

最后一步,就是修改网站配置文件,在宝塔内,选择网站-点击网站-配置文件,更改并添加/_h5ai/public/index.php到index内:

配置文件配置文件

保存后,即可访问:

访问访问5. 个性化更改

个性化设置,包括:

显示文件二维码设置网站语言设置多文件打包下载

这个我们另外在后文起个大标题讲讲。

手动编译

如果你的服务器,安装宝塔有困难,或者不想安装宝塔,这里我教大家手动编译Nginx和PHP,并配置h5ai。

0. 编译Jpeg lib

h5ai需要gd依赖,且gd需要指向前置jpeg依赖情况下,才可以满足条件:

所以,我们先编译一下jpg支持包:

依赖包依赖包

在Linux上编译安装:

代码语言:txt复制wget 'https://www.ijg.org/files/jpegsrc.v9d.tar.gz' tar -xf jpegsrc.v9d.tar.gz cd jpeg-9d/下载源码下载源码

之后进行配置即可:

代码语言:txt复制./configure --prefix=/usr/jpeg

没问题后,进行安装:

代码语言:txt复制make && make install1. 编译Nginx和PHP

已经在一篇文章、三种方法在Debian上轻松安装Nginx内讲过Nginx的编译部署,本次教程就不再赘述,直接开始编译PHP7.4。

首先是下载PHP7.4的源码,我们进入PHP的官网,可以找到下载地址,在Shell内,用wget进行下载:

代码语言:txt复制wget 'https://www.php.net/distributions/php-7.4.22.tar.gz'

之后,使用tar命令,对其解压并进入解压后的目录:

代码语言:txt复制tar -xf php-7.4.22.tar.gz cd php-7.4.22/进入目录进入目录

需要模块:

FPM:用来和Nginx配合交互with-jpg:gd前置,刚刚步骤0所编译gd:h5ai依赖exif:h5ai依赖

所以编译过程中需要添加:

代码语言:txt复制--enable-fpm --enable-exif --with-jpeg=/usr/jepg --enable-gd

注意:--with-jpeg=/usr/jepg指向刚刚编译出来的目录;如果你PHP版本



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有