Amazon S3 plugin for WordPress

44 Comments

This WordPress plugin allows you to use Amazon’s Simple Storage Service to host your media for your WordPress powered blog.

Amazon S3 is a cheap and cost effective way to scale your site to easily handle large spikes in traffic (such as from Digg) without having to go through the expense of setting up the infrastructure for a content delivery network. Startup companies are embracing it for their online storage solution, and even bloggers are starting to use it to host their images and other static media (such as mp3 files for their podcasts).

Pricing is really cheap. There are no setup fees, no minimum costs, and you literally only pay for what you use, even if it’s just a couple cents a month. If you have a WordPress powered blog, and have a lot of media (such as images or mp3s), this plugin will help you easily utilize Amazon S3 for bandwidth and storage.

WordPress S3 screenshot

Once setup, this plugin transparently integrates with your WordPress blog. File uploads are automatically saved into your Amazon S3 bucket without any extra steps. Once saved, these files will be delivered by Amazon S3, instead of your web host. Any image thumbnails that get created are saved to Amazon S3 too. You’ll also find an “Amazon S3″ tab next to your regular “Upload” tab, which allows you to easily browse and manage files that were not upload via WordPress.

Author: Joe Tan (joetan54@gmail.com)
License: GPL

Requirements:

  • A WordPress powered blog hosted on your own server.
  • An Amazon S3 account (there are no setup or monthly fees if you want to just try it out).
  • PHP 5

Features:

  • Easily browse Amazon S3 hosted files, upload new files, and create new folders without having to leave the WordPress edit screen.
  • All your WordPress uploads are transparently saved into Amazon S3 for storage and delivery.
  • Infinitely scalable with no limits, use Amazon S3 to store as many files as you want.
  • Reduce the load on your server by offloading static media to Amazon’s content delivery network, with 99.99% availability.
  • Supports BitTorrent for large media files.
  • Supports virtual host names (eg: sub.example.com). See Amazon’s notes for more information.
  • Supports WordPress MU setups. Can be configured to automatically install and use one common Amazon S3 account for all blogs.

Installation:

  1. Download and unzip the plugin.
  2. Upload the entire “tantan” directory to the WordPress wp-content/plugins directory.
  3. Login to your WordPress admin, click “Plugins”, and then activate the “Amazon S3 for WordPress” plugin.
  4. Click “Options”, then “Amazon S3″ to bring up the configuration screen.
  5. Enter your AWS Access Identifiers to authenticate and link up the plugin with your Amazon account.
  6. Select an existing bucket, or create a new bucket. A bucket can be named whatever you want, but must be globally unique. If you want to use virtual hosting, enter in a subdomain as the bucket name and update your DNS settings. More info >
  7. Click “Save” and you’re done! You’ll now see an “Amazon S3″ tab next to your “Upload” tab in the WordPress edit screens.
  8. Bonus: Enable the”TanTanNoodles Version Checker” plugin to automatically get notified of when updates to this plugin are available.

Download the plugin

Support:
If you are having problems setting up or customizing this plugin, please visit the support group for help. Someone may have already posted a solution to your problem!

More Documentation: Modification History, Known Issues and Bugs

Bug Reports:
If you find a bug or have a feature request for this plugin, please post them to this Google Project page.

Developers:
Browse this plugin's source code at the Subversion repository.

Want more WordPress goodness? Check out some of my other plugins and scripts >

44 comments

  1. # Ray Jan 16, 2008

    I didn’t have the curl problem on this install of the plugin, but, I still didn’t get past the configure step. This time after entering the S3 authentication key and id I got the following error message:

    Error : The difference between the request time and the current time is too large.

    Several attempts trying to be fast didn’t help, anybody?

  2. # Russell Jan 20, 2008

    I have posted 2 issues to the Google Project page that it would be great if you could help address. Here is a quick summary:

    1. Files aren’t deleted from your S3 account when deleted via the WordPress uploader.

    2. The plug-in incorrectly states that you CNAME record is setup incorrectly when you enable virtual hosting of your bucket.

    Please see the Google Project issues for more specifics. If you need further information please let me know.

  3. # Daisy Mar 09, 2008

    Love the concept of this plugin. Is there any way to get it to override the standard upload process when creating posts with images in the blog editor that creates posts via xmlrpc.php?

  4. # binnary Mar 13, 2008

    Hi!

    First of all thanks for this great plugin!

    I’ve tried to use it with UK buckets and it doesn’t list or upload files to them… is it a know issue?

    Thanks again!
    bye

  5. # Stephen Mar 30, 2008

    This seems like just what I’ve been looking for… except it doesn’t seem to work with Wordpress 2.5. I’d be very grateful if it was updated!

  6. # Jay Hepburn Mar 31, 2008

    The plugin seems to still work partially with 2.5, the files get put on S3, however thumbnails aren’t generated. Fingers crossed for a fix soon…

  7. # Stephen Apr 06, 2008

    I installed the new plugin version, and the [gallery] tag doesn’t link the photos to the S3 version. Is this the expected behavior or is it likely something is messed up on my end?

  8. # Joe Tan Apr 06, 2008

    @Jay Hepburn: Try the new version, should do the trick.

    @Stephen: I actually didn’t think of to test the [gallery] tag feature. I’ll make a note to make sure it properly references the S3 version for the next update.

  9. # Alex Rodriguez Apr 07, 2008

    Thank you for this plugin, its awesome.

    I just installed the newest version of the Amazon S3 plugin. This is a new install on my blog as I had previously never used it however I am somewhat familiar with the S3 service, I have used it for backups for some time now.

    When I attempt to save my setup I receive the following error.

    Your DNS doesn’t seem to be setup correctly to virtually host the domain assets.alexrodrigueznotebook.com. Make sure the following entry is added to your DNS:

    assets.alexrodrigueznotebook.com CNAME assets.alexrodrigueznotebook.com.s3.amazonaws.com.

    I have tested the C-NAME on both the server hosting my WP blog and from the outside and it is resolving.

    Any assistance you can provide will be appreciated.

    Thanks again!

  10. # Kyle West Apr 08, 2008

    the CNAME should just be assets, not assets.alexrod……

  11. # Joe Tan Apr 08, 2008

    The error message is actually just a warning message, and doesn’t affect any of the plugin’s functionality. If your cname’d bucket is working and you can get to it, you don’t need to worry about it.

    @Kyle, it actually should be assets.alex… since the domain name is basically the bucket name.

  12. Pingback: WordPress Plugins Database » Plugin Details » Amazon S3 for WordPress
  13. # jason Apr 10, 2008

    I installed this on my WP 2.5, and set up a S3 account, but when I try to verify my account on the plugin page I get a blank “ERROR:” message at the top.

    I tried refreshing my secret key but got the same blank error.

    I tried it on a second install (different domain, same server) and got the same blank error.

    I can see the attempts to communicate with S3 in the access summary on S3, so I know it’s talking with the plugin in some way, but I can’t seem to get it to work. Any ideas? I had to set up a .htaccess line to ensure PHP 5 is used before the plugin would work at all (my server defaults to PHP 4.X).

  14. # Jacques Chester Apr 13, 2008

    I’m not having much luck with using the plugin on Wordpress Mu. I’ve placed it in the mu-plugins directory and manually entered my AWS and bucket details, but nothing appears in the bucket when I upload a file via Wordpress.

    Is there some additional step or configuration required to work with Mu as opposed to regular Wordpress?

  15. # PuReWebDev Apr 16, 2008

    Thanks for posting about Amazon. I do some development myself with their e-commerce api and even started messing around with probably the first ever Amazon Associates Video Podcast http://www.youtube.com/user/PuReWebDev thanks, PuReWebDev

  16. # Ced Apr 18, 2008

    I have the blank “ERROR:” message like jason. I’m on WP 2.5 too (hosting (mt) with PHP5). Any idea ?

  17. # kneock Apr 19, 2008

    jason and ced, I got the same error until I have created at least one bucket

  18. # Ced Apr 21, 2008

    Ok it works now :)

  19. Pingback: WordPress y Amazon S3 | Pere MAJORAL
  20. # Mathias Apr 28, 2008

    I have the same problem as Ray: “Error : The difference between the request time and the current time is too large.”

    WP: 2.5.1
    Plugin: 0.3.2

    As a side note I tried this plug the first time on WP 2.5 but experienced some issues mentioned above. I did manage to point it to the correct bucket(s) (tried a few) and it authenticated alright on my S3 account, but didn’t actually get the files up there at the time. This latest message has only happened today, after upgrading my (previously disabled) plugin after seeing there was a new WP 2.5 compatible version of it, but alas, not working for me this time either, but in new ways.

View all 44 comments

Leave a comment

Support:
If you are having problems setting up or customizing this plugin, please visit the support group for help. Someone may have already posted a solution to your problem!