Show nicer file listings with Apache autoindex module
Recently I have working on “mabishu-apache-autoindex”, a set of html, css, icons and image files designed to work together with the mod_autoindex module to make the default Apache file listings look a little nicer. Try this screenshot demo and If you like it, grab the source files at my Github repository, now I’ll explain how to set it up.
Installation
First, get a copy of the "include" folder – the easiest way is to change to the document root of the domain you want to style, and check it out from git:$ cd /var/www/YOUR.VHOST.LOCAL
$ git clone http://github.com/frandieguez/mabishu-apache-autoindex.git
This should create an ‘include’ folder in the parent of your document root. Next, you need to configure Apache to use the “includes” files to style your directory listings.
I use the following config, which you’ll need to adjust to match your particular setup – the ‘icons’ and ‘includes’ alias and the ‘mod_autoindex’ section are the main areas to pay attention to:
# Virtualhost example configuration file with autoindex theme support
<VirtualHost *:80>
ServerName your.vhost.local
DocumentRoot /var/www/your.vhost.local/public_html
# Define where is the theme and icons directory
Alias /icons/ /var/www/your.vhost.local/include/icons/
Alias /include/ /var/www/your.vhost.local/include/
<Directory "/var/www/your.vhost.local/public_html">
AllowOverride All
Order allow,deny
Allow from all
# Tell Apache to add theme support to autoindex
<IfModule mod_autoindex.c>
Options Indexes FollowSymLinks
IndexOptions +FancyIndexing
IndexOptions +VersionSort
IndexOptions +HTMLTable
IndexOptions +FoldersFirst
IndexOptions +IconsAreLinks
IndexOptions +IgnoreCase
IndexOptions +SuppressDescription
IndexOptions +SuppressHTMLPreamble
IndexOptions +XHTML
IndexOptions +IconWidth=16
IndexOptions +IconHeight=16
IndexOptions +NameWidth=*
IndexOrderDefault Descending Name
HeaderName /include/header.html
ReadmeName /include/footer.html
</ifModule>
</Directory>
</VirtualHost>
You’ll need mod_autoindex for any of this to work – it should be installed by default with Apache in most linux distributions.
Disclaimer
The formatting relies on a few javascript hacks which may or may not work exactly as intended if the output of your apache directory listings differs a lot from what is expected. If the output appears strange, try playing around with the javascript formatting in header.html, or drop me a line if you need a hand.