Last year I developed a file sharing web app based on the Apache auto index module. To serve folders with more than 20 files in them I developed a custom authentication module using Howard Chu's awesome LMDB.
I used LMDB because using Apache Basic authentication, it has to authenticate for every file served. That means if you have hundreds of files in a folder it can add some balls serious lag to serving the directory. After delving into some C programming, which I am not good at, I hacked together a little Apache authentication module, but I probably could have just used mod_auth_external a little differently and accomplished a fast authentication.
Either way LMDB worked great, and I blased a generic version up to Github here. Everything was working great until last week when I upgraded the server it was running on to Ubuntu 14.04 LTS. I guess you need to recompile things after updating practically every system library on the server... Who knew?
Things worked pretty much the way they were supposed to, I just needed to use a more generic gcc command to compile using the newer version of libcurl. Good to be back in business, and also kind of cool to dive back into some C programming after about a year away. Even if it's a very breif dip.
Glad to blog about that little Apache module, maybe it'll be useful for someone else.