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

news2025/1/11 14:51:42

一、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

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

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

相关文章

异步Merkle Tree

1. 引言 前序博客&#xff1a; 利用多核的Rust快速Merkle tree Anoushk Kharangate 2023年论文《Asynchronous Merkle Trees》&#xff0c;其对Merkle tree数据结构进行修改&#xff0c;使得可跨多线程异步计算。 开源代码实现见&#xff1a; https://github.com/anoushk1…

2024华数杯国际数学建模B题思路+代码+模型+论文

2024华数杯国际数学建模B题思路代码模型论文&#xff1a;1.17上午第一时间更新&#xff0c;详细内容见文末名片 问题B&#xff1a;光伏电 背景 中国的电力构成包括传统的能源发电&#xff08;如煤炭、石油和天然气&#xff09;、可再生能源发电 &#xff08;如水力发电、风能…

gin+gorm增删改查目录框架

从网上找资料,发现,很多都是直接的结构 路由&#xff0c;后端的controller层&#xff0c;还有model层&#xff0c;都是放在了同一个main.go文件中&#xff0c;如果写项目的话&#xff0c;还得自己去拆文件&#xff0c;拆代码&#xff0c;经过查询和自己总结&#xff0c;下面放…

ssh免密登录 ssh公钥分发 ssh密钥生成

在连接服务器时&#xff0c;我们会被要求输入用户名对应的密码&#xff0c;如下&#x1f447;&#xff1a; 如果我们要登录的服务器是常用服务器&#xff0c;那么每次登录输入密码就会比较麻烦。那么如何免密登录呢&#xff1f;那就需要使用到rsa公私钥认证了。 生成rsa密钥…

vue 指定区域可拖拽的限定拖拽区域的div(如仅弹窗标题可拖拽的弹窗)

<template><div class"container" ref"container"><div class"drag-box" v-drag><div class"win_head">弹窗标题</div><div class"win_content">弹窗内容</div></div><…

vivado导出时序报告为excel文件的方法

1、打开implementation下的report timing summary 2、选择要看的时钟右键点击report_timing 3、在新打开的timing窗口中&#xff0c;选择setup或者hold&#xff0c;选中一条路径右键&#xff0c;点击export to spreadsheet&#xff0c;此时就可以存为table.xlsx文件

【MySQL】权限控制

DCL-权限控制 查询权限 show grants for 用户名主机名;授予权限 grant 权限列表 on 数据库名.表名 to 用户名主机名;grant all on test.* to user%; %是通配符&#xff0c;表示任意主机。撤销权限 revoke 权限列表 on 数据库名.表名 from 用户名主机名;revoke all on test.*…

旅游平台day02

1. 用户注册 概述&#xff1a; 常见的注册方式&#xff1a;邮箱注册、手机号注册、昵称注册、或者以上几种同时支持 本项目仅仅支持手机号注册 需求&#xff1a; 项目启动后&#xff0c;访问regist.html进入注册页面 手机号校验 前后台都需要对手机号进行校验 前端校验&am…

HashMap学习和线程安全的HashMap

HashMap的底层数据结构&#xff1f; HashMap在JDK1.8里面的Node数组加链表加红黑树&#xff0c;当链表长度大于8且数组长度大于64&#xff0c;链表转化为红黑树。当红黑树节点数小于6&#xff0c;红黑树转化为链表。在JDK1.7中是数组加链表。 为什么要用红黑树&#xff1f; 当…

react 第一个项目

sudo npx create-react-app reactdemo01 npx node.js工具 create-react-app 核心包&#xff08;固定写法&#xff09;用于创建react项目 后跟项目名层 启动一个新的 React 项目 – React 中文文档 //项目的根组件 //App -> index.js ->/Users/king/Documents/react…

芯片新闻-Global Semiconductor Sales Increase 5.3% Year-to-Year in November

11 月标志着一年多以来市场同比增长的第一个月&#xff1b;全球芯片销量环比增长2.9% 华盛顿——一月。 2024 年 12 月 9 日——半导体行业协会 (SIA) 今天宣布&#xff0c;2023 年 11 月全球半导体行业销售额总计 480 亿美元&#xff0c;比 2022 年 11 月的 456 亿美元总额增…

rust跟我学七:获取外网IP地址

图为RUST吉祥物 大家好,我是get_local_info作者带剑书生,这里用一篇文章讲解get_local_info是怎么获取到本机的外网IP地址。 首先,先要了解get_local_info是什么? get_local_info是一个获取linux系统信息的rust三方库,并提供一些常用功能,目前版本0.2.4。详细介绍地址:[…

FPGA 原理图引脚标识细节

BGA引脚表示 1.1 FPGA此引脚要正确和清晰&#xff0c;会在“Package Pin”中用到次物理接口 1.2, MCU 只用管对应的GPIO逻辑接口就可以了 1.3&#xff0c;引脚名标识出bank, PS/PL, signal/differential 标识Bank电平 标识出对应Bank的电平&#xff0c;在电路设计中可以清晰…

C#调用Newtonsoft.Json将bool序列化为int

使用Newtonsoft.Json将数据对象序列化为Json字符串时&#xff0c;如果有布尔类型的属性值时&#xff0c;一般会将bool类型序列化为字符串&#xff0c;true值序列化为true&#xff0c;false值序列化为false。如下面的类型序列化后的结果如下&#xff1a; public class UserInfo…

量化研究员!你应该如何写一手好代码

即使是Quant Researcher&#xff0c; 写一手高质量的代码也是非常重要的。再好的思路&#xff0c;如果不能正确地实现&#xff0c;都是没有意义的。 写一手高质量的代码的意义&#xff0c;对Quant developer来讲就更是自不待言了。这篇笔记就介绍一些python best practice。 始…

npm install 无反应 npm run serve 无反应

说明情况&#xff1a;其实最开始我就是发现我跟着黑马的苍穹外卖的前端day2的环境搭建做的时候&#xff0c;到这一步出现了问题&#xff0c;无论我怎么 npm install 和 npm run serve 都没有像黑马一样有很多东西进行加载&#xff0c;因此我换了一种方法 1.在这个文件夹下cmd …

CSS 设置背景图片

文章目录 设置背景颜色设置背景图片背景图片偏移量计算原点背景图片尺寸设置背景图片位置设置背景图片重复方式设置背景范围设置背景图片是否跟随元素移动测试背景图片 本文概念部分参考&#xff1a;CSS背景background设置 设置背景颜色 background-color 设置背景颜色 设置…

【面试合集】说说你对 linux 用户管理的理解?相关的命令有哪些?

面试官&#xff1a;说说你对 linux 用户管理的理解&#xff1f;相关的命令有哪些&#xff1f; 一、是什么 Linux是一个多用户的系统&#xff0c;允许使用者在系统上通过规划不同类型、不同层级的用户&#xff0c;并公平地分配系统资源与工作环境 而与 Windows 系统最大的不同…

表的增删改查 进阶(一)

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f525;个人专栏&#xff1a;MySql&#x1f4d5;格言&#xff1a;那些在暗处执拗生长的花&#xff0c;终有一日会馥郁传香欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 1.数据库约束 约束类型 NOT NUll 约束 UNIQUE 约束 …

【Qt-license】误操作qt下载导致只能安装商业版试用十天,无法安装社区版

背景&#xff1a; 原本是为了学习qml&#xff0c;需要下载一个design studio&#xff0c;而这个需要比较新版的安装程序&#xff0c;但新版的安装程序官方都是online安装。于是从官网找下载链接。毕竟是英文的&#xff0c;又心急&#xff0c;误打误撞中我选择了商业版试用。 其…