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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 【5月更文挑战第3天】Linux系统之部署h5ai目录列表程序

一、h5ai介绍

1.1 h5ai简介

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

1.2 h5ai特点

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

一些可选功能包括:

  • 文件排序

  • 不同的视图模式

  • 本地化

  • 痕迹导航

  • 树视图

  • 自定义页眉和页脚

  • 文件过滤器和搜索

  • 文件夹大小

  • 自动刷新

  • 打包下载

  • 二维码

  • 缩略图

  • 文件预览

    1.3 使用场景

  • 文件共享:h5ai可以用作文件共享服务器的索引器,使用户能够以一种更直观、美观的方式浏览和下载文件。

  • 网络存储:如果您有一个网络存储设备(如NAS),h5ai可以使您能够更好地管理和浏览存储在其中的文件。

  • 个人网站:如果您有一个个人网站,h5ai可以帮助您更好地组织和展示文件,使访问者更容易找到他们需要的内容。

  • 团队协作:如果您是一个团队,共享大量文件,h5ai可以帮助您在团队成员之间更好地共享和浏览文件。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname 本地P地址 操作系统版本 内核版本 node版本
jeven 192.168.3.166 centos 7.6 3.10.0-957.el7.x86_64 v16.17.0

2.2 本次实践介绍

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

三、检查本地环境

3.1 检查本地操作系统版本

检查本地操作系统版本

[root@jeven ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

3.2 检查系统内核版本

检查系统内核版本

[root@jeven ~]# uname -r
3.10.0-957.el7.x86_64

四、安装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仓库状态,确保各镜像源正常。

[root@jeven ~]# yum repolist enabled
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
 * epel: cdn.centos.no
repo id                                                                 repo name                                                                            status
!base/7/x86_64                                                          CentOS-7 - Base - mirrors.aliyun.com                                                 10,072
!epel/x86_64                                                            Extra Packages for Enterprise Linux 7 - x86_64                                       13,768
!extras/7/x86_64                                                        CentOS-7 - Extras - mirrors.aliyun.com                                                  518
!mysql-connectors-community/x86_64                                      MySQL Connectors Community                                                              227
!mysql-tools-community/x86_64                                           MySQL Tools Community                                                                   100
!mysql57-community/x86_64                                               MySQL 5.7 Community Server                                                              678
!updates/7/x86_64                                                       CentOS-7 - Updates - mirrors.aliyun.com                                               5,287
repolist: 30,650

4.2 安装httpd软件

直接使用yum安装httpd软件。

yum -y install  httpd

在这里插入图片描述

4.3 启动httpd服务

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

systemctl start httpd
systemctl enable  httpd

4.4 查看httpd服务

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

[root@jeven ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2023-10-07 20:28:35 CST; 8s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 59236 (httpd)
   Status: "Processing requests..."
   CGroup: /system.slice/httpd.service
           ├─59236 /usr/sbin/httpd -DFOREGROUND
           ├─59237 /usr/sbin/httpd -DFOREGROUND
           ├─59238 /usr/sbin/httpd -DFOREGROUND
           ├─59239 /usr/sbin/httpd -DFOREGROUND
           ├─59240 /usr/sbin/httpd -DFOREGROUND
           └─59241 /usr/sbin/httpd -DFOREGROUND

Oct 07 20:28:35 jeven systemd[1]: Starting The Apache HTTP Server...
Oct 07 20:28:35 jeven systemd[1]: Started The Apache HTTP Server.

4.5 防火墙和selinux设置

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

4.6 浏览器测试web服务

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

在这里插入图片描述

五、安装PHP

5.1 卸载旧版本PHP

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

yum remove -y php*

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 -y --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

在这里插入图片描述

5.4 查看php版本

查看当前的php版本

[root@jeven ~]# php -v
PHP 7.4.33 (cli) (built: Aug  1 2023 09:00:17) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies

六、安装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软件包

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

6.5 重启httpd服务

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

systemctl start php-fpm httpd  && systemctl enable php-fpm httpd

七、安装h5ai相关插件

7.1 初始访问h5ai

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

在这里插入图片描述

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

在这里插入图片描述

7.2 安装初始插件

  • 安装PDF thumbs功能
yum install -y ImageMagick

在这里插入图片描述

  • 安装视频插件
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 -y --showduplicate --enablerepo=remi --enablerepo=remi-php74  php-common php-devel php-gd
  • 重启 php-fpm与httpd服务
systemctl restart  php-fpm httpd

7.3 重新检测功能模块

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

在这里插入图片描述

八、测试网站效果

8.1 访问h5ai首页

访问地址:http://192.168.3.166/,将IP替换为自己服务器IP地址。如果无法访问到该页面,可检查服务器的防火墙是否关闭或者放行相关端口,云服务器则还需要再设置安全组规则。

在这里插入图片描述

8.2 新建网站目录

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

mkdir {
   
   movie,image,pdf,file}

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

[root@jeven html]# tree -L 2 ./
./
├── file
│   └── \344\272\221\350\256\241\347\256\227.docx
├── _h5ai
│   ├── CHANGELOG.md
│   ├── private
│   ├── public
│   └── README.md
├── image
│   └── \344\270\255\347\247\213\345\233\276\347\211\207.jpg
├── index.php
├── movie
│   ├── 694448a4-cf6a-4105-8694-f5f8da384e2c_SD.mp4
│   └── \346\210\221\346\234\200\351\227\252\344\272\256\ .mp3
└── pdf
    └── \344\272\221\350\256\241\347\256\227\344\273\213\347\273\215.pdf

7 directories, 8 files

8.3 查看网站目录

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

在这里插入图片描述

8.4 查看目录内容

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

  • 测试pdf文件,可以正常在线打开。

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

  • 测试MP4视频文件,可以正常播放。

在这里插入图片描述
在这里插入图片描述

相关文章
|
5天前
|
存储 Linux
linux中的目录操作函数
本文详细介绍了Linux系统编程中常用的目录操作函数,包括创建目录、删除目录、读取目录内容、遍历目录树以及获取和修改目录属性。这些函数是进行文件系统操作的基础,通过示例代码展示了其具体用法。希望本文能帮助您更好地理解和应用这些目录操作函数,提高系统编程的效率和能力。
52 26
|
8天前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
50 23
Linux系统之whereis命令的基本使用
|
1月前
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
111 23
|
2月前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
143 8
|
2月前
|
Ubuntu 网络协议 Linux
快速部署WSL(Windows Subsystem for Linux)
WSL提供了一种轻量级的方法,使开发者能够在Windows上无缝运行Linux环境。通过本文介绍的步骤,可以快速安装、配置和使用WSL,以满足开发和测试的需求。
203 8
|
2月前
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
2月前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
121 13
|
2月前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
234 78
|
1天前
|
数据采集 人工智能 安全
阿里云携手DeepSeek,AI应用落地五折起!
近年来,人工智能技术飞速发展,越来越多的企业希望借助AI的力量实现数字化转型,提升效率和竞争力。然而,AI应用的开发和落地并非易事,企业往往面临着技术门槛高、成本投入大、落地效果难以保障等挑战。
24 1
|
6天前
|
存储 人工智能 NoSQL
Airweave:快速集成应用数据打造AI知识库的开源平台,支持多源整合和自动同步数据
Airweave 是一个开源工具,能够将应用程序的数据同步到图数据库和向量数据库中,实现智能代理检索。它支持无代码集成、多租户支持和自动同步等功能。
66 14

热门文章

最新文章