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


    一、h5ai介绍

    1.1 h5ai简介

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

    1.2 h5ai特点

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

    一些可选功能包括:

    • 文件排序

    • 不同的视图模式

    • 本地化

    • 痕迹导航

    • 树视图

    • 自定义页眉和页脚

    • 文件过滤器和搜索

    • 文件夹大小

    • 自动刷新

    • 打包下载

    • 二维码

    • 缩略图

    • 文件预览

    二、本地环境介绍

    2.1 本地环境规划

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

    hostname本地P地址操作系统版本内核版本node版本
    jeven192.168.3.166centos 7.63.10.0-957.el7.x86_64v16.17.0

    2.2 本次实践介绍

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

    三、检查本地环境

    3.1 检查本地操作系统版本

    检查本地操作系统版本

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

    3.2 检查系统内核版本

    检查系统内核版本

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

    四、安装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
    
    • 1
    • 2

    检查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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    4.2 安装httpd软件

    直接使用yum安装httpd软件。

    yum -y install  httpd
    
    • 1

    在这里插入图片描述

    4.3 启动httpd服务

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

    systemctl start httpd
    systemctl enable  httpd
    
    • 1
    • 2

    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.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    4.5 防火墙和selinux设置

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

    4.6 浏览器测试web服务

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

    在这里插入图片描述

    五、安装PHP

    5.1 卸载旧版本PHP

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

    yum remove -y php* 
    
    • 1

    5.2 安装remi镜像源

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

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

    在这里插入图片描述

    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
    
    
    • 1
    • 2

    在这里插入图片描述

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5

    六、安装h5ai

    6.1 下载h5ai软件包

    创建下载目录

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

    下载h5ai软件包

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

    在这里插入图片描述

    6.2 解压h5ai软件包

    解压h5ai软件包

    unzip h5ai-0.30.0.zip
    
    • 1

    在这里插入图片描述

    6.3 复制目录

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

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

    将目录授权

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

    6.4 修改httpd配置文件

    备份httpd配置文件

    cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
    
    • 1

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

    index.php /_h5ai/public/index.php 
    
    • 1

    6.5 重启httpd服务

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

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

    七、安装h5ai相关插件

    7.1 初始访问h5ai

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

    在这里插入图片描述

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

    在这里插入图片描述

    7.2 安装初始插件

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

    在这里插入图片描述

    • 安装视频插件
    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 
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    • 安装php-gd扩展
    yum install -y --showduplicate --enablerepo=remi --enablerepo=remi-php74  php-common php-devel php-gd
    
    • 1
    • 重启 php-fpm与httpd服务
    systemctl restart  php-fpm httpd
    
    • 1

    7.3 重新检测功能模块

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

    在这里插入图片描述

    八、测试网站效果

    8.1 访问h5ai首页

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

    在这里插入图片描述

    8.2 新建网站目录

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

    mkdir {movie,image,pdf,file}
    
    • 1

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

    [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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    8.3 查看网站目录

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

    在这里插入图片描述

    8.4 查看目录内容

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

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

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

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

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

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

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

  • 相关阅读:
    EPDM和钉钉集成审批工作—移动端直接处理审批节点,高效协同!
    如何开展批量单因素logistic回归分析形成表格?
    每日一题·729.我的日程安排表
    【Linux】文件系统
    YOLOv5改进 | 独家创新篇 | 利用DCNv3结合DLKA形成全新的注意力机制(全网独家创新)
    IDEA提高工作效率的实用技巧
    unity UGUI系统梳理 - Button
    linux和windows选哪个?
    【JS笔记】JS中的BOM对象及其常见的BOM相关操作
    Redis实战之共享session + jwt 实现登录拦截、刷新token
  • 原文地址:https://blog.csdn.net/jks212454/article/details/133652187