h5ai, um moderno indexador de arquivos para usar em seu Servidor Web

h5ai é uma poderosa ferramenta de listagem de diretório de arquivos, desenvolvida em PHP, que oferece listagem de arquivos de forma moderna e multiplataforma. Originalmente foi pensado para o Apache, daí o seu nome (HTML5 Apache Index), agora é compatível com os servidores web mais populares (Apache, Nginx, Lighttpd, Cherokee). Você pode usar este programa para visualizar texto, imagens, áudio, vídeo, etc. online.

A instalação sob o Nginx é rápida e fácil. Você faz o download do arquivo no diretório que deseja, podendo ser dentro do document_root  (ex: /var/www/html), extrai o conteúdo e acessa a configuração.

DOC_ROOT
 ├─ _h5ai
 ├─ seus arquivos
 └─ suas pastas

Aí dependendo da configuração de seu Nginx, você vai editar /etc/nginx/sites-available ou o arquivo de configuração em /etc/nginx/conf.d/ e deixar a linha de index assim:

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

Pronto, ao acessar http://seusite/_h5ai/public/ você pode testar a compatibilidade do seu servidor e ver se tudo está em ordem (a senha padrão é vazia).

É bem provável que deve ser exibido um erro na pasta de cache, para resolver isso você pode dar a permissão 666 os seguintes arquivos:

cd /var/www/html/_h5ai
chmod 666 private/cache
chmod 666 public/cache

Desative as funções passthru, exec, e scandir do PHP-FPM:

Primeiro localize o arquivo php.ini em seu servidor, rodando o seguinte comando:

php -i |grep 'Configuration File'

#Deve retornar:
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini 

Rode os seguintes comandos:

sed -i 's/,scandir//g' /etc/php.ini
sed -i 's/,exec//g' /etc/php.ini
sed -i 's/,passthru//g' /etc/php.ini

Após isso só reiniciar o PHP-FPM e recarregar o NGINX:

service php-fpm restart
service nginx reload

Caso queira instalar no Apache, confira esse link.

Referências:

 

Update: 27/12/2019

O h5ai é um excelente indexador de arquivos, porém percebi que tem ficado lento com NGINX e fui atrás de outro produto mais leve, acabei encontrando o BetterListing.

O que é BetterListing?

O BetterListing faz a listagem de diretório NGINX padrão SEM a necessidade do PHP ou do módulo Fancy Index. Como o BetterListing usa Javascript e jQuery, nenhuma compilação ou reinstalação é necessária. Tudo que você precisa é NGINX. 

Experimente: devcoster.com/betterlisting/demo

https://gitlab.com/devCoster/BetterListing

Leave a Reply

Your email address will not be published. Required fields are marked *