Just a little update: The download function is working again under DH, courtesy of
lighttpd.
I managed to download/compile the source, then successfully configure it to work, thanks to the instructions
here. Right now, Apache is configured to proxy all requests to the lighttpd server, so everything just works transparently.
Why lighttpd? For one, it is very, very lightweight. Unlike Apache which spawns off numerous child processes (each about 2MB) to handle the requests, there is only a single lighttpd process (about 500KB) doing all the heavy lifting. So it should
help keep the load on the server down.
Another great thing about lighttpd is that it supports
X-SendFile out-of-the-box, so I reimplemented the quota-ed download function to use X-SendFile. In this way, expensive PHP processes are not tied up serving static files.
Lemme know if you guys hit any more problems. For those of you who have emailed/PM to ask, my DH account is currently configured as 496 MB for $49.60/month (but the estimate is that I will end up paying approx $20/month due to all the various discounts which I am sure will be gradually removed), but I will try to bring that down gradually within the next few days and see what's the optimal "sweet" spot without breaking the website.