Get your blog in the cloud

In 2002 Amazon launched AWS (Amazon Web Services) in order to provide the same hosting technology used for Amazon.com to everyone else. What made this service unique was their billing structure, which is pay by use. You can actually pay by the hour at incredibly cheap prices. Also, AWS allows you to host your website or application in many locations across the globe to provide the best experience no matter where your visitors live.

In September of 2010 Amazon launched a new feature of AWS called Micro Instances which are low-power instances of web servers perfect for blogs and smaller websites that don’t require a lot of fancy features. These Micro Instances cost as low as $0.02 / per hour. In November of 2010 Amazon announced their ‘Free Usage Tier‘ which will allow anyone to use a Micro Instance free for a year. The Free Usage Tier includes everything you need to host your blog on AWS, monitor it and back it up.

This is an amazing service and value but there’s a problem – you have to be a Linux guru in order to setup the server to host WordPress and get it up and running – or you did – until now. Introducing JumpBox, a company who provides ‘Open Source as a Service’. Right now, JumpBox is offering a one-click setup of WordPress on Amazon AWS. Just sign-up for a free JumpBox account, add a few details from your Amazon AWS account and boom, you’re running WordPress on the most advanced hosting platform in the world.

Below are the actual steps to follow, start to finish, to get this going quickly and easily. JumpBox makes it super-easy but there are a few steps they left out. For example, the default installation does not enable automatic updates from within WordPress, which is a super-handy feature. My instructions below will walk you through it – assuming you’re comfortable using an SSH console. But don’t be afraid, it’s quite easy to do.

  1. Visit Amazon Web Services and sign-up
  2. Log in and visit the Account section and click on Security Credentials. Find your Access Key and Secret Access Key and make a note of them somewhere handy.
  3. Visit JumpBox and launch a WordPress instance. When it’s done you will get an email that will tell you the IP address of your instance – save that email.
  4. Visit your registrar – the site where you purchased your domain name – and edit the DNS A-Record to point to the IP address you received in the JumpBox email.
  5. Wait about 10 mins for DNS propagation and you’re done!

It’s easy as that! Now, if you require more control of your blog please continue to the following steps.

Setup FTP access to your server. Actually, JumpBox instances don’t have FTP enabled by default – they use sFTP which is more secure although not all programs support it. However, Filezilla and Dreamweaver do support it.

  1. Login to the Admin section of your JumpBox instance and click on SSH/SFTP and enable this feature.
  2. Setup your FTP program to point to the IP of your server and to use SFTP.
  3. The location of your files on the server are “/var/data/wordpress”

Setup automatic updates in WordPress on JumpBox via SSH:

  1. Download and launch PuTTY or some other SSH client
  2. Connect to the IP address of your server and login with username admin and your JumpBox password
  3. First, we have to enable SSH in PHP, to do so, run this command:
  4. sudo apt-get install libssh2-php

  5. When that’s done restart Apache with this command:
  6. sudo apache2ctl graceful

  7. Now, when you update WordPress or install a new plugin you’ll have the SSH2 option. Use your server IP as the host and your JumpBox username and password – you can ignore the public key, private key section.

Setup cURL on JumpBox. Some plugins require your server to have the cURL service, if you need this follow these steps:

  1. Connect to your server with PuTTY as described above
  2. Run this command:
  3. sudo apt-get install php5-curl

  4. Restart Apache again and you’re done.

And that should do it. If you have any trouble or questions please post them below and I’ll try to help you. Enjoy!