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.
How to setup a LAMP server with less than 100 characters
The single command that installs Apache, PHP 5 and MySQL on a Debian-based system, in under a hundred characters.
Using Memcache server as Apache content cache
Using memcached through mod_cache as Apache's content cache, so several servers can share the same cached responses.
Hardening SSL encryption in an nginx server
POODLE killed SSLv3 for good. The nginx configuration that follows from that — protocols, cipher suite, forward secrecy, OCSP stapling and HSTS — and the two lines that matter more than the cipher list everyone copies.