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.
- Oficial: https://larsjung.de/h5ai/
- Demonstração: https://larsjung.de/h5ai/demo/
- GitHub: https://github.com/lrsjng/h5ai
- Download: https://github.com/lrsjng/h5ai/releases
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