в
можно ли сделать листинг директорий в apache с полноценным preview для media файлов, как в яндекс диск

о
можно, но стандартный модуль mod_autoindex Apache Module mod_autoindex (который отвечает за листинг «из коробки») слишком устарел для отображения полноценных превью, как в Яндекс.Диске.

Чтобы получить такой же удобный интерфейс с миниатюрами, поиском и просмотром медиафайлов, необходимо использовать сторонние PHP-скрипты-индексаторы, которые накладываются поверх сервера Apache Edit Apache mod_autoindex to preview images and mp3 - Stack Overflow.

Лучшие готовые решения для красивого листинга

1. FileRun
Полноценная облачная система, которая устанавливается на ваш сервер. Внешне и функционально она практически полностью копирует Яндекс.Диск или Google Drive:

Автоматически создает миниатюры для фото и видео.Имеет встроенный плеер для музыки и видео.
Позволяет делиться файлами по ссылкам.
Работает очень быстро.

2. Индексаторы на базе PHP и JS
Если вам нужна просто красивая «обертка» над папкой с файлами, обратите внимание на бесплатные проекты с открытым исходным кодом. Они используют стандартный листинг Apache, а всю магию с превью и удобным интерфейсом берут на себя встроенные скрипты и стили:

DirectoryLister — популярный и легкий скрипт. Позволяет сделать аккуратный каталог без баз данных.
H5ai — современный файловый менеджер для HTTP-серверов. Отлично справляется с визуальным оформлением Even nicer default directory views: now with image preview.

Что потребуется для установки?

Для того чтобы подменить стандартный серый листинг Apache на красивый, вам нужно:

Иметь PHP на вашем сервере (большинство скриптов написаны на нем).
Настроить директиву DirectoryIndex в файле .htaccess. Украшаем листинг каталога в Apache - CodeNet.
Разрешить использование файлов .htaccess в конфигурации Apache (директива AllowOverride All). How to modify Apache directory listing style? - SiteGround KB.

Если вы хотите попробовать настроить полноценный файловый менеджер, расскажите:

Какой объем файлов примерно будет храниться в каталоге?
Нужна ли система пользователей с разным уровнем доступа (например, кому-то только просмотр, кому-то скачивание)?
Установлены ли уже на сервере PHP и базы данных MySQL ?
