Linux 系统之部署 h5ai 目录列表程序

一、h5ai 介绍

1.1)h5ai 简介

h5ai 是用于 HTTP Web 服务器的现代文件索引器,专注于您的文件。目录以吸引人的方式显示,浏览它们通过不同的视图、面包屑和树概述得到增强。最初 h5ai 是 HTML5 Apache Index 的首字母缩写,但现在它也支持其他 Web 服务器。

1.2)h5ai 特点

有许多可用的扩展和配置选项,允许用户自定义目录列表的 Web 外观。所有标记均为有效的 HTML5,并附带有 CSS3 和最佳的 JavaScript,这些可以用来构建新鲜且注重用户体验的文件视图。

一些可选功能包括:

  • 文件排序
  • 不同的视图模式
  • 本地化
  • 痕迹导航
  • 树视图
  • 自定义页眉和页脚
  • 文件过滤器和搜索
  • 文件夹大小
  • 自动刷新
  • 打包下载
  • 二维码
  • 缩略图
  • 文件预览

二、本地环境介绍

2.1)本地环境规划

本次实践为个人测试环境,操作系统版本为 CentOS 7.6。

hostname本地P地址操作系统版本内核版本node版本
blog192.168.80.8CentOS 7.63.10.0-957.el7.x86_64v16.17.0

2.2)本次实践介绍

  1. 本次实践部署环境为个人测试环境;
  2. 在 CentOS 7.6 环境下部署 h5ai 文件展示页。

三、检查本地环境

3.1)检查本地操作系统版本

检查本地操作系统版本

cat /etc/redhat-release

3.2)检查系统内核版本

检查系统内核版本

uname -r

四、安装 httpd 软件

4.1)检查 yum 仓库

如果没有镜像源,可以使用阿里云的镜像源。

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

检查 yum 仓库状态,确保各镜像源正常。

yum repolist

4.2)安装 httpd 软件

直接使用 yum 安装 httpd 软件。

yum install httpd -y

4.3)启动 httpd 服务

启动 httpd 服务,并使开机自启。

systemctl enable --now httpd

4.4)查看 httpd 服务

查看 httpd 服务,确保 httpd 服务正常。

systemctl status httpd

image.png

4.5)防火墙和 SELinux 设置

  • 设置 SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
  • 关闭防火墙,如果想要开启防火墙,需放行 80 端口。
systemctl disable --now firewalld

4.6)浏览器测试 web 服务

浏览器打开:http://192.168.80.8,将IP替换为自己服务器 IP 地址。

image.png

五、安装 PHP

5.1)卸载旧版本 PHP

卸载旧版本的 php,防止与新装的 php7.4 版本冲突。

yum remove php* -y

5.2)安装 remi 镜像源

使用以下命令,安装 remi 镜像源。

yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

5.3)安装 php7.4 版本

直接 yum 安装 php7.4 版本及其模块组件。

yum install --showduplicate --enablerepo=remi --enablerepo=remi-php74   php-fpm php  php-cli  php-bcmat hphp-gd  php-json  php-mbstring  php-mcrypt  php-mysqlnd php-opcache  php-pdo  php-pecl-crypto  php-pecl-mcrypt php-pecl-geoip php-recode php-snmp  php-soap  php-xml  php-pecl-zip -y

5.4)查看 php 版本

查看当前的 php 版本( 确保为 7.4 版本 )

php -v

六、安装 h5ai

6.1)下载 h5ai 软件包

创建下载目录

mkdir -p /data/h5ai/ && cd /data/h5ai/

下载 h5ai 软件包

wget --no-check-certificate https://release.larsjung.de/h5ai/h5ai-0.30.0.zip

6.2)解压 h5ai 软件包

解压 h5ai 软件包
h5ai-0.30.0.zip

unzip h5ai-0.30.0.zip

6.3)复制目录

将 _h5ai 目录复制到 /var/www/html 下

cp -a _h5ai/ /var/www/html/

目录授权

chown -R apache:apache /var/www/html/

6.4)修改 httpd 配置文件

备份原 httpd 配置文件

cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf_bak

修改 httpd 配置文件,在 /etc/httpd/conf/httpd.conf 文件中的模块添加以下内容:index.php /_h5ai/public/index.php

vim /etc/httpd/conf/httpd.conf

<IfModule dir_module>
    DirectoryIndex index.html index.php /_h5ai/public/index.php                    
</IfModule>

image.png

6.5)重启 httpd 服务

重启 httpd 服务与 php-fpm 并设置开机自启

systemctl restart php-fpm httpd && systemctl enable php-fpm httpd

七、安装 h5ai 相关插件

7.1)初始访问 h5ai

访问地址:http://192.168.80.8/_h5ai/public/index.php

当前密码为空,登录即可看到所有模块自检结果。

image.png
image.png

7.2)安装初始插件

安装 PDF thumbs 功能

yum install ImageMagick -y

安装视频插件

rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum install ffmpeg ffmpeg-devel -y

安装 php-gd 扩展

yum install --showduplicate --enablerepo=remi --enablerepo=remi-php74 php-common php-devel php-gd -y

重启 php-fpm 与 httpd 服务

systemctl restart php-fpm httpd

7.3)重新检测功能模块

刷新页面,可以看到所有功能模块都已经正常。

image.png

八、测试网站效果

8.1)访问 h5ai 首页

访问地址:http://192.168.80.8/,将IP替换为自己服务器IP地址。

image.png

8.2)新建网站目录

在网站根目录 /var/www/html,新建以下目录。

cd  /var/www/html

mkdir {movie,image,pdf,file}

上传文件到对应目录,目录内容如下:

[root@blog html] tree -L 2

8.3)查看网站目录

刷新网页,可以看到新建的目录。

image.png

8.4)查看目录内容

测试目录中各种格式文件:

测试 pdf 文件,可以正常在线打开。
image.png
image.png

测试图片文件,可以正常在线打开。
image.png
image.png

测试 MP4 视频文件,可以正常播放。
image.png
image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/330476.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

申请开启|成为亚马逊云科技 Community Builder,共建云端社区!

在探索由技术打造的云端世界时&#xff0c;和同行者一起学习&#xff0c;与技术专家共同探讨是开发者成长的最佳助力&#xff01; 亚马逊云科技开发者社区 Community Builders 为技术爱好者和新兴思想领袖提供技术资源、学习和交流机会&#xff0c;帮助开发者探索、分享技术相关…

CMake+QT+大漠插件的桌面应用开发(QThread)

文章目录 CMakeQT大漠插件的桌面应用开发&#xff08;QThread&#xff09;简介环境项目结构配置编译环境代码 CMakeQT大漠插件的桌面应用开发&#xff08;QThread&#xff09; 简介 在CMakeQT大漠插件的桌面应用开发中已经给出了QT配合大漠插件开发桌面应用的样例 不过由于主…

macOS系统下载安装IDEA 操作流程

目录 第一步 进入官网&#xff0c;选择箭头指向的版本 第二步 下载完成后打开&#xff0c;拖动安装包安装​编辑 第三步 点击" project"&#xff0c;在JDK下拉框选择"Download JDK" 第四步 下载完成以后&#xff0c;点击右下角的Create按钮。 第一步 进…

vscode开发java项目

安装java扩展 创建项目 vscode命令行面板搜索java命令行 出现如下提示 No build tools构建项目如下 java项目使用vscode单独打开文件夹&#xff08;工作区中运行有问题&#xff09;&#xff0c;vscode中可直接点击右上角运行按钮执行 maven中spring boot项目 代码错误可以点…

jeecgboot 前端bug or 后端 看图

无法显示文本 只能显示value 很恶心 如果用 varchar 就可以 不知道有没有别的方式 用int 解决 ,可能是我没有发现好的方法

QT中操作word文档

QT中操作word文档&#xff1a; 参考如下内容&#xff1a; C(Qt) 和 Word、Excel、PDF 交互总结 Qt对word文档操作总结 QT中操作word文档 Qt/Windows桌面版提供了ActiveQt框架&#xff0c;用以为Qt和ActiveX提供完美结合。ActiveQt由两个模块组成&#xff1a; QAxContainer模…

【0到1的设计之路】计算机系统的状态机模型

Perface 在开始本文之前需要先介绍一下状态机的概念&#xff1a; 状态机不是实际机器设备&#xff0c;而是一个数学模型&#xff0c;通常体现为一个状态转换图。涉及到的相关概念是 State 状态&#xff0c;Event 事件&#xff0c;Action 动作&#xff0c;Transition 转换。状态…

[C++] opencv - Mat::convertTo函数介绍和使用场景

Mat::convertTo()函数 Converts an array to another data type with optional scaling. 该函数主要用于数据类型的相互转换。 The method converts source pixel values to the target data type. saturate_cast<> is applied at the end to avoid possible overf…

【论文阅读】One For All: Toward Training One Graph Model for All Classification Tasks

目录 0、基本信息1、研究动机2、创新点——One For All &#xff1a;unique features3、准备4、具体实现4.1、用TAGs统一来自不同领域的图数据4.2、用NOI&#xff08;NODES-OF-INTEREST&#xff09;统一不同图任务4.2.1、NOI子图4.2.2、NOI提示结点 4.3、用于图的上下文学习&am…

(2023版)斯坦福CS231n学习笔记:DL与CV教程 (12) | 目标检测

前言 &#x1f4da; 笔记专栏&#xff1a;斯坦福CS231N&#xff1a;面向视觉识别的卷积神经网络&#xff08;23&#xff09;&#x1f517; 课程链接&#xff1a;https://www.bilibili.com/video/BV1xV411R7i5&#x1f4bb; CS231n: 深度学习计算机视觉&#xff08;2017&#xf…

2024华数杯国际赛AB题五小问完整思路+数据+四小问代码+后续高质量成品论文+运行结果高清图+参考文献

问题A&#xff1a;日本放射性废水 &#xff08;AB题的完整资料放在文末了&#xff09; 对于这次的华数杯A题&#xff0c;在我五月份完成的数维杯A题目中&#xff1a; 就已经完成过地下水污染物的公式推导&#xff1a; 因此&#xff0c;展示部分示例代码吧&#xff0c;我会在修…

Echarts柱状图 - 柱形颜色渐变

<!-- 违法 --> <template><div class"section"><div class"grid_body_top"><div v-for"(item, index) in topList" v-show"item.isShow" :key"index"><i :class"[icon, ...item.icon…

电子学会C/C++编程等级考试2023年12月(五级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:书架(2023.12) John最近买了一个书架用来存放奶牛养殖书籍,但书架很快被存满了,只剩最顶层有空余。 John共有N头奶牛(1 ≤ N ≤ 20,000),每头奶牛有自己的高度Hi(1 ≤ Hi ≤ 10,000),N头奶牛的总高度为S。书架高度为B(1 …

Elasticsearch各种文档操作

本文来记录下Elasticsearch各种文档操作 文章目录 初始化文档数据查询所有文档匹配查询文档关键字精确查询文档多关键字精确查询文档字段匹配查询文档指定查询字段查询文档 初始化文档数据 在进行各种文档操作之前&#xff0c;我们先进行初始化文档数据的工作 查询所有文档 在 …

【React】Redux的使用详解

文章目录 Redux的三大原则Redux官方图react-redux使用 1、创建store管理全局状态​ 2、在项目index.js根节点引用 3、 在需要使用redux的页面或者组件中&#xff0c;通过connect高阶组件映射到该组件的props中 redux中异步操作如何使用redux-thunkcombineReducers函数 Re…

Pixels:重新定义游戏体验的区块链农场游戏

数据源&#xff1a;Pixels Dashboard 作者&#xff1a;lesleyfootprint.network 最近&#xff0c;Pixels 通过从 Polygon 转移到 Sky Mavis 旗下的 Ronin 网络&#xff0c;完成了一次战略性的转变。 Pixels 每日交易量 Pixels 在 Ronin 网络上的受欢迎程度急剧上升&#xf…

关于VScode的这个ssh的配置的经验

1.首先&#xff0c;我是因为重装了ubantu系统&#xff0c;不得不重新配置ssh 2.第一步&#xff0c;在本机的终端安装ssh插件&#xff1a; &#xff08;1&#xff09; &#xff08;2&#xff09;restart开启这个ssh端口 3.然后&#xff0c;就在vscode里面&#xff0c;安装哪个…

【办公自动化】利用Python代码暴力破解RAR压缩包的密码

title: 利用Python代码暴力破解RAR压缩包的密码 tags: bigleft excerpt: 利用Python代码暴力破解RAR压缩包的密码 利用Python代码暴力破解RAR压缩包的密码 引言 有时从网盘或p2p下载了几个G的资源&#xff0c;下载了几天&#xff0c;终于下载完成&#xff0c;结果发现来需要密…

QT上位机开发(MySql访问)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 网上介绍的关于QT和mysql部分的内容&#xff0c;都是利用Qt自带的mysql库来实现数据读写的。但是事实上来说&#xff0c;即使不用qt带的库&#xf…

12.30平衡二叉树、生成树最短路、链表、排序、二叉树——数算选择题专练

1 平衡二叉树 节点数目一定时&#xff0c;平衡因子为1时&#xff0c;树最高。 平衡二叉树&#xff0c;左右子树都是平衡的&#xff0c;最少要满足一个式子&#xff0c;即维护左右都是AVL,最多就是满二叉树&#xff0c;节点总数为2^(h-1)&#xff1b;最少的时候&#xff0c;每…