abba
abba copied to clipboard
Apache Bootstrap & Bootswatch Autoindex
ABBA
Apache Bootstrap & Bootswatch Autoindex
You find that the autoindex module on your Apache http server is very useful to make your files accessible online. But the only drawback is that the default web interface is ugly and not suitable for modern use?
Then ABBA is made for you.
Features
- Fully responsive using Bootstrap
- Multiple themes using Bootswatch
- Awesome icons using FontAwesome
- Pretty date formatting using Moment.js
- File sorting & filtering
- Custom error pages
- Easy network installation
- Local development using docker containers
Previews
Online previews
Online previews of the ABBA themes can be found here. You can use the navigation menus to switch between available themes and pages.
Note that these previews are static pages used to get an idea of the final result, so some links and features are disabled or will not work as expected.
Local previews
Local previews can be achieved by using the test docker image:
docker run --rm --tty --interactive \
--publish 8080:80 \
--volume ${PWD}:/var/www \
jmlemetayer/abba
These previews allow you to test all the available themes and features locally with minimal requirements.
Installation
Prerequisites
The only requirement is to have a working Apache http server with these modules enabled: mod_autoindex, mod_include and mod_mime.
Also ensure that the AllowOverride All
directive is set for
your DocumentRoot
because ABBA uses an .htaccess
file. If you do not want to allow these files, you can copy the content of the
distributed htaccess
to your VirtualHost
.
Step 1
To easily install ABBA from the network go into your
DocumentRoot
directory and run this shell one-liner:
T=$(mktemp) && curl -sL git.io/abba -o ${T} && sh ${T}
You will be prompted to select the desired theme you wish to use.
And that's it! :sunglasses:
Installed files
Here is what is installed:
├── .abba
│ ├── css
│ │ └── style.css
│ ├── html
│ │ ├── header.shtml
│ │ ├── footer.shtml
│ │ └── error_*.shtml
│ ├── js
│ │ └── script.js
│ ├── uninstall
│ └── webfonts
│ └── fa-*
└── .htaccess
Tips and tricks
- An
uninstall
script is generated in the.abba
directory. - If you want to automate the installation and skip the theme request you can
add the theme name at the end of the one-liner:
T=$(mktemp) && curl -sL git.io/abba -o ${T} && sh ${T} litera
Troubleshooting
-
I have a basic 404 error.
It seems that the mod_autoindex is not enabled. -
I still have my old autoindex.
Ensure that theAllowOverride All
directive is set for yourDocumentRoot
. -
The autoindex have changed, but it is not pretty at all.
Check if mod_include and mod_mime are enabled.
Development
The local development workflow is using two docker containers to be able to
generate the distribution files and test them with in a real environment.
Everything you need to know is described in the docker
directory.
License
ABBA has been inspired by iglvzx/IGalvez.Autoindex (GPLv3).
ABBA is released under the MIT License.
Credits
- Bootstrap (MIT)
- Bootswatch (MIT)
- FontAwesome (CC BY 4.0, SIL OFL 1.1, MIT)
- Jekyll Compress HTML (MIT)
- JQuery (MIT)
- Moment.js (MIT)
- Popper.js (MIT)
Icon made by mynamepong.