Ok, I'm super pumped right now. After a day of trial and error with a dozen different modules that try to integrate Amazon S3 as a way to store files and serve them through drupal, I THINK I FOUND THE DREAM SETUP!!!
Right now I have a completely seamless integration with my s3 bucket as a private file system for my Drupal Video Website. Files are upload straight to Amazon and then served straight from Amazon just like files on the local server.
Prerequisites:
- Dedicated or cloud (VPS) server. I am using 1and1.com Cloud Server $50/month and I host a bunch of sites on it. www.1and1.com?k_id=13279938
- An Amazon s3 account. Super cheap and awesome. Leave you settings on s3 to private so that your files are not accessible without authentication.
Then do this...
1) For private file system I use .htaccess. This one line that makes sites/default/files/private/* authenticate through drupal...
RewriteRule ^sites\/default\/files\/(private\/.*)$ index.php?q=system/files/$1 [L,QSA]
2) On my server I setup s3fs. Instructions here http://code.google.com/p/s3fs/wiki/FuseOverAmazon