Настройка листинга директорий Apache2
Накрутил я на домашний роутер когда только его установил apache2 и pure-ftpd. В apache2 крутится у меня torrentflux, ну а pure-ftpd я думаю понятно для чего. Настроил, но что-то незаладилось и pure-ftpd я решил пересобрать от недостатка опций, потом у него сорвало крышу от каких-то настроек или их отключения ещё до пересборки и он перестал меня пускать залогинится, я его выключил до лучших времён, а отдавать файлы решил через apache2. И тут вспомнилось мне, что читал я когда-то о приведении листинга директорий, генерируемого в apache2 с помощью mod_autoindex, к человеческому виду. Полез читать. Того, чего я себе представлял, я не нашёл. Но всё же полученные результаты приведу в виде маленького howto.
задача: хотим читабельный листинг директорий с современными иконками, пользуясь лишь втроенными средствами apache2.
решение: включаем и настраиваем mod_autoindex, качаем и устанавливаем современные иконки к apache2.
предисловие: всё ниженаписанное применимо для debian/ubuntu, т.к. насколько я знаю их(debian) конфигурация apache2 специфична.
ln -s /etc/apache2/mods-available/autoindex.load /etc/apache2/mods-enabled/autoindex.load
/etc/init.d/apche2 restart
Options Indexes
IndexOptions FancyIndexing NameWidth=60 FoldersFirst SuppressColumnSorting SuppressDescription SuppressLastModified
Options Indexes - включает индекс директории;
IndexOptions … - опции для mod_autoindex
, а просто клацаем
в mc, и копируем CONTENTS/usr/share/apache/icons-gartoon в /usr/share/apache2/icons-gartoon, если пакет - apache-icons-gartoon_20060221f_all.deb. Далее:
cd /usr/share/apache2/
mv icons icons.orig
mv icons-gartoon icons
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif coreAddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^# DefaultIcon is which icon to show for files which do not have an icon
# explicitly set.DefaultIcon /icons/unknown.gif
закомментировываем его (добавляем # в начале каждой строчки) и вставляем ниже (или выше) следующий фрагмент:
AddIconByType (TXT,/icons/text.png) text/*
AddIconByType (IMG,/icons/image2.png) image/*
AddIconByType (SND,/icons/sound2.png) audio/*
AddIconByType (VID,/icons/movie.png) video/*AddIcon /icons/binary.png .bin .exe
AddIcon /icons/binhex.png .hqx
AddIcon /icons/tar.png .tar
AddIcon /icons/world2.png .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.png .Z .z .tgz .gz .zip
AddIcon /icons/a.png .ps .ai .eps
AddIcon /icons/layout.png .html .shtml .htm .pdf
AddIcon /icons/text.png .txt
AddIcon /icons/c.png .c
AddIcon /icons/p.png .pl .py
AddIcon /icons/f.png .for
AddIcon /icons/dvi.png .dvi
AddIcon /icons/uuencoded.png .uu
AddIcon /icons/script.png .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.png .tex
AddIcon /icons/bomb.png coreAddIcon /icons/back.png ..
AddIcon /icons/hand.right.png README
AddIcon /icons/folder.png ^^DIRECTORY^^
AddIcon /icons/blank.png ^^BLANKICON^^#
# DefaultIcon is which icon to show for files which do not have an icon
# explicitly set.
#
DefaultIcon /icons/unknown.png
/etc/init.d/apache2 restart
и получаем индексы директории следующего вида:
На этом вроде всё, в скором времени недеюсь собрать пакет с иконками чтобы отменить большинство геммороя - будет устанавливаться в нужное место и иконки будут в gif.
