Mejorando la vista de nuestro FTP usando h5ai vía web

Buenas a todos, hoy les quiero mostrar como configurar el _h5ai para darle otro estilo a los mal llamados FTP vía web que no es mas mediante un php darle un estilo a nuestras carpetas compartidas.

Lo mas común encontrado en la red de redes es encontrar carpetas indexadas o listadas por el propio servidor web es decir las conocidas que encontramos como «Index of «, en Cuba hace ya un tiempo se hacia eso con un proyecto llamado httpdirindex, bueno hoy les mostrare como hacerlo con _h5ai. Pueden ver el demo.

h5ai es un indexador de archivos moderno para servidores web HTTP. Los directorios se muestran de una manera atractiva y la exploración se mejora mediante diferentes vistas, una ruta de navegación y una vista general de árbol. Inicialmente, h5ai era un acrónimo de HTML5 Apache Index, pero ahora también es compatible con otros servidores web.

Dicho sistema php requiere PHP 5.5+ y funciona bien con Apache httpd, lighttpd, nginx y Cherokee. La mejor experiencia de usuario con las últimas versiones de Chrome, Firefox, Opera, Vivaldi, Safari y Edge, pero se proporciona una alternativa estática para navegadores antiguos o si JavaScript está desactivado.

Características

Hay muchas extensiones opcionales y opciones de configuración para personalizar el aspecto web de sus listados de directorios. Todas las marcas son HTML5 válido aderezado con CSS3 y el mejor JavaScript para construir una interfaz de usuario fresca pero mínima y una experiencia de usuario que se centra en sus archivos.

Algunas de las características opcionales son:

  • clasificación
  • modos de visualización
  • localización
  • ruta de navegación
  • vista de árbol
  • encabezados personalizados
  • pies de página
  • filtro
  • búsqueda
  • tamaños de carpeta
  • actualización automática
  • descarga empaquetada
  • Códigos QR
  • miniaturas:
    • imagen
    • texto
    • audio
    • vista previa de vídeo

Instalación

  1. Descarge el h5ai
    wget -c https://release.larsjung.de/h5ai/h5ai-0.29.0.zip
  2. Descomprímelo y Copie la carpeta _h5ai en el directorio raíz del documento del servidor web: DOC_ROOT/_h5ai.
    DOC_ROOT
     ├─ _h5ai
     ├─ Archivos
     └─ Carpetas
    
  3. Abra en su navegador http://YOUR-DOMAIN.TLD/_h5ai/public/index.php, para verificar que le carge el h5ai.
  4. Agregue /_h5ai/public/index.php (observe la barra inclinada inicial) al final de la lista predeterminada de archivos de índice. De esta forma, h5ai administrará todos los directorios en y por debajo de DOC_ROOT que no tengan un archivo de índice.

    Estos son algunos ejemplos de dicha configuración del h5ai como indexador

    Apache httpd 2.2 / 2.4: en httpd.conf o en el archivo .htaccess del directorio raíz, por ejemplo:

    DirectoryIndex  index.html  index.php /_h5ai/public/index.php

    lighttpd 1.4: en lighttpd.conf ejemplo:

    index-file.names += ("index.html", "index.php", "/_h5ai/public/index.php")

    nginx : en nginx.conf ejemplo:

    index  index.html  index.php /_h5ai/public/index.php;

    Cherokee 1.2: en cherokee.conf por ejemplo:

    vserver!1!directory_index = index.html,index.php,/_h5ai/public/index.php

Configuración

El archivo de configuración principal es _h5ai/private/conf/options.json. Es posible que desee cambiar algunas de las configuraciones documentadas. Pero hay algunos archivos más en _h5ai/private/conf que puede ver.

Sugerencias

  • No se admiten cosas específicas del servidor web, ¡eso incluye restricciones de acceso! La mejor oportunidad para hacer que las áreas restringidas funcionen y sean seguras puede ser colocar la carpeta _h5ai completamente dentro de esa área restringida. ¡Úselo bajo su propio riesgo!
  • No funciona con carpetas con alias en general (como está disponible en Apache httpd). Las carpetas con alias no permiten mapear las URL a las carpetas del sistema de archivos.
  • Si no se muestran iconos, es probable que deba agregar el tipo SVG MIME a su servidor.
  • En los servidores de Ubuntu, es posible que necesite instalar un paquete adicional para soporte de PHP JSON
  • Para usar funciones opcionales basadas en comandos de shell, las funciones PHP exec y passthru no se deben deshabilitar en php.ini (busque funciones de desactivación).

Ejemplo de Virtual Host

Ahora les comparto un ejemplo del uso del _h5ai en un servidor web nginx:

server {
    listen 80 default_server;
    server_name _;
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
    root /var/ftp/;
    index index.html index.php /_h5ai/public/index.php;

    location ~ \.php$ {
        fastcgi_pass  unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_send_timeout 5m;
        fastcgi_read_timeout 5m;
        fastcgi_connect_timeout 5m;
        include /etc/nginx/fastcgi_params;
        fastcgi_param   SCRIPT_FILENAME /var/ftp/$fastcgi_script_name;
    }

}

Algunos parámetros a tener en cuenta en esta configuración es:

  • listen 80 default_server; –> ponemos default_server ya que es un servidor que lo único que brindará es el ftp, de no ser así elimina ese parámetro
  • server_name _; –> con esta configuración especificamos que cualquier virtualhost que no este declarado le mostrara el ftp
  • root /var/ftp/; –> este es nuestro DOC_ROOT es decir,es donde están todos los archivos que queremos compartir incluido la carpeta _h5ai
  • index index.html index.php /_h5ai/public/index.php; –> Declaramos el paso 4 de la instalación
  • En este webserver usamos php-fpm como soporte para nginx en este caso el 7.0 de ubuntu 16.04
  • Declaramos de nuevo el DOC_ROOT como medida de seguridad para restringir que carpetas pueden ver y prevenir la escalabilidad de carpetas fuera de ese DOC_ROOT

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 4.6 / 5. Recuento de votos: 12

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Sobre Armando Felipe Fuentes Denis 82 artículos
Cloud Architect | DevOps | SecOps | SRE | Cloud | SysAdmins

8 comentarios

  1. Firefox 93.0 Firefox 93.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0

    Me gustaría saber si realmente cuenta con un buscador, es vital, según las características descritas aquí tiene buscador, pero lo he instalado varias veces y no veo la función.
    Gracias


  2. Warning: Undefined array key 1 in /var/www/html/sysadminsdecuba/wp-content/plugins/wp-useragent/wp-useragent-detect-os.php on line 668
    Firefox 59.0 Firefox 59.0 Ubuntu x64 Ubuntu x64
    Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0

    hola, quisiera que alguien me dijera si puedo hacer esto mismo en servidores ftp como proftp o algun otro que no sea http

  3. Firefox 76.0 Firefox 76.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0

    mano una pregunta donde encuentro httpd.conf o el archivo .htaccess del directorio raíz para poder realizar el paso 4

  4. Firefox 64.0 Firefox 64.0 Windows 7 x64 Edition Windows 7 x64 Edition
    Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0

    Un saludo colega y muchas gracias por esta info , pue sla verdad que muy bueno, una pregunta ya logre ponerlo a funcionar pero mi pregunta es como cambiar el nombre de la esquina derecha que dice powered h5ai , ya he modificado varios archivos y nada, me podrian ayudar por favor ?

    Saludos y gracias !!!


    • Warning: Undefined array key 1 in /var/www/html/sysadminsdecuba/wp-content/plugins/wp-useragent/wp-useragent-detect-os.php on line 668
      Firefox 65.0 Firefox 65.0 Ubuntu x64 Ubuntu x64
      Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:65.0) Gecko/20100101 Firefox/65.0

      Podes usar el Searchmonkey en Linux para hacer una busqueda recursiva de ese termino y ver donde te imprime el mismo en la vista. Saludos!

  5. Firefox 64.0 Firefox 64.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0

    buenos dias, salu2 desde Holguin-Cuba, muy buen sitio, mis felicitaciones ante todo por esta maravillosa de este sitio. soy nuevo en esto de los servidores Linux,tengo instalado el debian 9, en esot momentos estoy tratando de configurar la ultima version de httpdirindex-1.1.0 y no hay forma de que se me visualice, incluso hice los pasos en el debian jessie y si me funciona pero en el nueve me sale la pagina en blanco. Otra duda, me gustaria que publicaran algun tutorial de configuracion de servidores de correo con postfix y dovecot con las restricciones nacionales e internacionales que se utilizan mucho en nuestro pais.
    Salu2

  6. Firefox 61.0 Firefox 61.0 GNU/Linux x64 GNU/Linux x64
    Mozilla/5.0 (X11; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0

    Puedes poner en el articulo como se visualiza en el navegador un directorio indexado con este sistema.

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*