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/htmlmkdir {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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux Mii management/mdio子系统分析之六 fixed-mii_bus分析(mac2mac分析)

&#xff08;转载&#xff09;原文链接&#xff1a;[https://blog.csdn.net/u014044624/article/details/130674908] (https://blog.csdn.net/u014044624/article/details/130674908) 前面几章我们介绍了MDIO模块的大部分内容&#xff0c;针对mii_bus、mdio_bus、phy_device、p…

vue3__Provide / Inject (依赖注入)和mixins

一、 Provide提供和Inject 注入 Provide提供 <script setup> import { provide } from vueprovide(/* 注入名 */ message, /* 值 */ hello!) </script> 例如父组件中提供方法 <template> <div class"home">dfhualsf<div><button…

Qt优秀开源项目之二十一:遇见QSkinny,一个轻量级Qt UI库

目录 一.QSkinny简介 二.工作原理 三.编译 一.QSkinny简介 QSkinny库基于Qt Graphic View和Qt/Quick中少量的核心类。它提供了一组轻量级控件&#xff0c;可以在C或QML中使用这些控件。QSkinny默认是启用硬件加速的&#xff0c;非常适合嵌入式设备&#xff0c;目前已经应用于…

Python之assert断言介绍

python自动化测试中寻找元素并进行操作&#xff0c;如果在元素好找的情况下&#xff0c;相信大家都可以较熟练地编写用例脚本了&#xff0c;但光进行操作可能还不够&#xff0c;有时候也需要对预期结果进行判断。 常用 这里介绍几个常用断言的使用方法&#xff0c;可以一定程度…

Vue3组件库开发 之Button(1)

需求分析&#xff1a; Button 组件大部分关注样式&#xff0c;没有交互 根本分析可以得到具体的属性列表&#xff1a; type:不同的样式(Default,Primary,Danger,Info,Success,Warning) plain:样式的不同展现模式boolean round:圆角boolean circle:圆形按钮&#xff0c;适合图标…

React入门 - 07(说一说 JSX 中的语法细节)

本章内容 目录 1、js 表达式2、列表渲染3、条件渲染4、className5、jsx 中的样式处理6、dangeouslySetInnerHTML7、htmlFor8、使用 jsx 的注意事项 上一节内容我们完成了一个简单的TodoList案例。到现在为止我们已经知道怎么在 JSX中使用 “js 表达式”和”列表渲染“了&#…

蓝桥杯 最长递增

输入 7 5 2 4 1 3 7 2 输出 3 思路 这个思路也很简单&#xff0c;后面大于前面&#xff0c;长度加一。当后面不大于前面的时候&#xff0c;就是一个新的递增序列了&#xff0c;递增序列的长度最小为1。 代码 #include <iostream> using namespace std; int main() {in…

Nginx初体验

文章目录 定义正向代理 & 反向代理安装与尝试 之前没怎么用过代理服务器Nginx&#xff0c;主要也是因为没有架构知识&#xff0c;根本不会去部署相关的机器。但是最近公司内部在调试的时候&#xff0c;经常用本机去充当Ngnix代理服务器&#xff0c;由于对这块知识掌握得还不…

leetcode—搜索二维矩阵II

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,2…

【计算机网络】网络层——详解IP协议

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】 本专栏旨在分享学习计算机网络的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 &#x1f431;一、I…

第29集《佛法修学概要》

丁三、声闻乘 分二&#xff1a;戊一、释义&#xff1b;戊二、四谛法&#xff1b;戊三、结示 请大家打开讲义第八十二页。我们看丁三&#xff0c;声闻乘。 在祖师大德的判教当中&#xff0c;把我们整个大乘的成佛之道分成了三个部分&#xff1a;第一个是安乐道&#xff0c;第…

【链路层】点对点协议 PPP

目录 1、PPP协议的特点 2、PPP协议的组成和帧格式 3、PPP协议的工作状态 目前使用得最广泛的数据链路层协议是点对点协议PPP(Point-to-Point Protocol)。 1、PPP协议的特点 我们知道&#xff0c;互联网用户通常都要连接到某个 ISP 才能接入到互联网。PPP 协议就是用户计算机…

全罐喂养是什么意思?适合猫咪全罐喂养的猫罐头推荐

猫咪全罐喂养的风一直挺大的&#xff0c;但是有好多养猫人一直不知道全罐喂养是什么意思&#xff0c;作为铲龄6年的宠物店店长&#xff0c;从早几年就开始全罐喂养了&#xff0c;对各个品牌的猫罐头也都很熟悉。 作为铲屎官&#xff0c;我们都想要给我猫猫吃的更好&#xff0c…

[足式机器人]Part2 Dr. CAN学习笔记-Advanced控制理论 Ch04-16 Robust Controller非线性鲁棒控制器

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-Advanced控制理论 Ch04-16 Robust Controller非线性鲁棒控制器 1. Slide Control 滑膜控制2 High Gain High Frequency3. 三种鲁棒控制器的比较如何分析控制器 Robust Control : tp achieve rob…

鸿蒙开发笔记(九):渲染控制,if/else,ForEach,LazyForEach

ArkUI通过自定义组件的build()函数和builder装饰器中的声明式UI描述语句构建相应的UI。在声明式描述语句中开发者除了使用系统组件外&#xff0c;还可以使用渲染控制语句来辅助UI的构建&#xff0c;这些渲染控制语句包括控制组件是否显示的条件渲染语句&#xff0c;基于数组数据…

【代码随想录05】242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

目录 242.有效的字母异位词题目描述做题思路参考代码 349. 两个数组的交集题目描述做题思路参考代码 202. 快乐数题目描述做题思路参考代码 1.两数之和题目描述参考代码 242.有效的字母异位词 题目描述 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字…

父组件中 arr.push改变数组,但是子组件监听不到 arr 的变化

目录 一、问题 二、解决方法 三、总结 tiips:如嫌繁琐&#xff0c;直接移步总结即可&#xff01; 一、问题 1.真是奇怪呀&#xff0c;一般来说通过 push方法改变 数组&#xff0c;是一定会有响应式的&#xff0c;那就可以监听到变化。但是我今天却遇到了一件奇怪的事情。在…

k8s创建资源对象过程

我们都知道&#xff0c;K8S中一切皆资源&#xff0c;在使用K8S时&#xff0c;所有的pod或者controller都是通过yaml文件进行创建的。 那么接下来&#xff0c;就和大家一起看一下K8S是如何创建资源的。 创建资源对象的过程 Deployment是一种常见的资源对象。在Kubernetes系统…

高精度算法笔记·····························

目录 加法 减法 乘法 除法 高精度加法的步骤&#xff1a; 1.高精度数字利用字符串读入 2.把字符串翻转存入两个整型数组A、B 3.从低位到高位&#xff0c;逐位求和&#xff0c;进位&#xff0c;存余 4.把数组C从高位到低位依次输出 1.2为准备 vector<int> A, B, …

考研机试题收获——高精度进制转换

代码的第一遍真的很重要&#xff0c;在第一次打的时候尽量把问题思考全面&#xff0c;不要漏打少打&#xff0c;尽量不要留bug给之后de。 一、基础方面 一、处理输出的结束问题 scanf和cin默认都不会读取空格 ①scanf()&#xff1a;如果从文件中读取数据&#xff0c;当scanf()…