Archive for June, 2008

A Beginner’s Guide to running a JumpBox on Amazon’s EC2 service

Look at your watch.

Fifteen minutes from now you could be running any of the JumpBoxes that are now available as public beta AMI’son Amazon’s EC2 service. As the least technical person in our office, I’ve known what EC2 is in the abstract sense for awhile now. Let me say it was extremely satisfying to finally fire up a JumpBox on EC2 and see how that service works first hand. I took screenshots of the entire process start to finish (which took just under 15min) in order to share here for anyone else who might be as daunted by EC2 as I was.

It should be noted that EC2 as a web hosting mechanism has some flaws (no persistent disk storage so if you’re node dies you can lose data not to mention your app can come back up under another IP address and disappear from its domain- this is not a hosting substitute for critical apps at this point). But this is a very slick way to get a public instance of a JumpBox running quickly for a non-critical application. It’s perfect for a scenario where you need to evaluate an application with a distributed team or proof a job for a remote client.

Here are the steps that I took to get the MarKamp.org wiki working yesterday:

  • First you’ll need to setup an account on Amazon Webservices if you don’t already have one. Go to aws.amazon.com, complete their application process and specify your payment details.
  •  

  • Next you have to enable the EC2 (Elastic Compute Cloud) and S3 (Simple Storage) services for your account.
  •  

  • Now you need to find out what your AWS credentials are.
  •  

  • Copy your Access Key ID and your Secret Access Key to some place where you can get them later.
  •  

  • I put mine in Textedit temporarily.
  •  

  • You’ll need to install Firefox and launch it if you’re not already using it. Go get the Elastic Fox extension from Amazon’s site.
  •  

  • Once you have this extension installed go to the Tools menu and launch it.
  •  

  • This is the main dashboard that shows you what’s available and which instances you have running. You’ll need to tell it how to access your AWS account. Click the “Credentials” icon in the upper-left.
  •  

  • Pick a name to refer to this account in Elastic Fox and enter those credentials that you stored in your text editor.
  •  

  • Now when you go back to the dashboard and click the “refresh” icon in the AMI panel, you should see every public AMI that’s available to you.
  •  

  • We’re only concerned about JumpBoxes so let’s filter this list by entering “jumpbox-amis” in the filter area. When you click refresh you should see the four JumpBoxes that we currently make available.
  •  

  • Now we need to setup a security policy that allows our JumpBox to communicate over the ports it needs. Navigate to the “Security Groups” tab. We could create a new group if we using this EC2 account for multiple projects and wanted to isolate the JumpBox-related stuff. For now we’ll just configure the default group to do what we want- click the green checkmark to add a new rule.
  •  

  • The three ports we need to open up are 22 (for ssh), 80 (for web) and 3000 (for the administrator). Leave everything as the default and enter the port info. We’ll need to do a rule for each port.
  •  

  • Go back to the “AMI’s and Instances” tab and launch whichever JumpBox you want to use by highlighting it and clicking on the “power button” icon.
  •  

  • It will bring up this scary-looking dialogue. If you’re using the default security group like we are you can ignore everything and click “Launch.”
  •  

  • Refresh the “Your Instances” panel and you should see your running EC2 instance. Grab the right edge of the Status header and drag it to the right so you can read the status.
  •  

  • When it’s finished booting it should turn green and switch to “Running.” Right-click on it and copy it’s public DNS name to your clipboard.
  •  

  • Now paste this into a web browser and you should get an SSL warning on first load- click OK.
  •  

  • This screen should look familiar if you’ve ever booted a JumpBox. Complete the configuration info as you normally would and click “Configure.”
  •  

  • It will think for a minute and give you the success screen once it’s finished. Click on the long address to access your application.
  •  

  • Your instance is running! It’s perfectly acceptable to use the application at this point but you may want to run it under a more friendly URL. Go back to the admin.
  •  

  • Click on the “Network” icon.
  •  

  • The public address you see is the URL you’re currently using to refer to your application. You’ll notice that it’s composed of four sets of numbers separated by dashes. Copy this segment of the sequence.
  •  

  • Paste it into your web browser, substitute dots for the dashes and you’ll find that this happens to be the public IP address of your JumpBox. At this point you’ll need to go to your domain registrar and change the “A Record” on the domain you wish to use to point to this IP address. If you need help with these steps search the help docs on your domain registrar for “DNS A Record.” For GoDaddy you access this by clicking on “My Domains,” choosing the domain in question and clicking “Total DNS Control.”
  •  

  • Come back to the hostname panel in your admin and specify the domain you wish to use as the public address.
  •  

  • You may need to wait a bit for DNS to propagate but you should very soon after be able to access your JumpBox in a browser under this domain.
  • Congratulations! You now have a public instance of your JumpBox running on EC2 under your own domain. Two things to keep in mind:
    -You’ll want to make sure you configure automatic backups to S3 if you’re using it for any application where you care about the data.
    -Remember EC2 bills based on usage - don’t leave town with an instance running that you forgot about or you will come back from vacation with an unpleasant bill from Amazon. It costs roughly $72/mo + minor bandwidth charges to host a site on EC2 24/7.

    At this point you can do various cool things like work offline on your laptop to to add data to your application and then use the backup/restore features to inject these changes into your public EC2 instance. We’ll cover more of these techniques in future posts. For now, have fun tinkering with EC2!

    JumpBox on Amazon EC2 Beta

    We’re happy to introduce the ability to run JumpBoxes on Amazon’s Elastic Compute Cloud (EC2). Amazon EC2 can be thought of as a big virtualization system in the internet cloud that you pay for by the hour. So instead of running a JumpBox on your hardware you use Amazon’s hardware and just pay for what you need. It’s a really interesting system for all kinds of different uses. I highly encourage reading more about EC2 and it capabilities and limitations.

    One growing use for EC2 is as a very flexible hosting system. You can think of it as roughly equivalent to virtual private server hosting but with a number of key differences. First is that it’s much more flexible, you can launch as many instances as you want and you’re just billed by the hour for the time they’re actually running. The down side is that EC2 is a little more expensive than low end VPS services and you have to be very aware of how EC2 handles disks and to make sure you backup regularly (see the links above for more detail on this). Fortunately using a JumpBox makes this easy by allowing you to backup to Amazon’s Simple Storage Service.

    Today we’re releasing four JumpBox AMIs as a beta test of our support for the Amazon EC2 system.

    • JumpBox for MediaWiki - AMI: ami-71ab4f18
    • JumpBox for Wordpress - AMI: ami-0eb45067
    • JumpBox for Movable Type - AMI: ami-6aac4803
    • JumpBox for Bugzilla - AMI: ami-70ab4f19

    These are currently available as public AMIs on the Amazon system so if you have an Amazon EC2 account you should be able to launch them using any tool that can launch EC2 instances. If you don’t have an Amazon EC2 account you can easily signup for one using any Amazon account.

    These public AMIs are just a test. When we roll out the full collection to EC2 it’s planned for the full set to be exclusive to JumpBox Open subscribers at the Plus level and above.

    Important: In order to use a JumpBox AMI you must ensure that ports 22, 80 and 3000 are accessible. You may either add these ports to an existing EC2 Security Group or you may create a new security group to use when launching JumpBox instances. No other ports need to be made accessible in a default JumpBox.

    The easiest way to launch EC2 instances is to use ElasticFox a Firefox extension for managing EC2 instances. If you use ElasticFox you can find the JumpBoxes in the list of available AMIs by sorting by manifest and looking for manifests that begin with jumpbox-amis/. From there you just have to setup your security group to allow the ports listed above and can launch as many JumpBox instances as you’d like. Just be aware that Amazon changed by the hour for every instance that you launch so make sure you don’t forget and leave something running that you didn’t intend to.

    JumpBoxes for Cacti, MediaWiki, Wordpress, Drupal, Joomla and Bugzilla updated to JumpBox Platform 1.1

    We’re happy to announce that six more JumpBoxes have been updated to the new JumpBox Platform 1.1.

    Here’s a quick overview of the changes in this new platform. All updated JumpBoxes inherit these capabilities.

    1. The underlying operating system has been updated to Ubuntu Linux 8.04 LTS. This has brought a number of other updates to things like Apache, MySQL and other libraries used with the applications.
    2. The backup system now supports Amazon S3, JumpBox to JumpBox and direct download as backup options. The addition of Amazon S3 is particularly nice as it gives you a really easy way to setup offsite backups.
    3. There’s a new one click tool to turn on SSL encryption for the application.
    4. A web stats package is now included by default and can be turned on with a single click.
    5. There’s a new tool to help you configure the JumpBox to send email.
    6. You can now put JumpBoxes into “maintenance mode” which allows you to keep users out of the application while working on administration tasks.
    7. In general lots and lots of bug fixes, security improvements and a number of little niceties like friendlier 404 pages have been added.

    We’ll be publishing much more information on this new platform in the coming weeks as we work on getting all the existing JumpBoxes updated.

    Updated Production JumpBoxes

    For all of these the only change is the update to the new JumpBox Platform.

    • JumpBox for Cacti 1.1.0 (Download)Cacti is version 0.8.7b in this JumpBox.
    • JumpBox for Drupal 5.x 1.1.0 (Download)Drupal is version 5.7 in this JumpBox. Note: this JumpBox is for Drupal 5.x a separate JumpBox is also available for Drupal 6.x.
    • JumpBox for Bugzilla 1.1.0 (Download)Bugzilla is version 3.0.4 in this JumpBox.
    • JumpBox for Joomla 1.1.0 (Download)Joomla is version 1.0.15 in this JumpBox. Note: this JumpBox is for Joomla 1.0.x a separate JumpBox is also available for Joomla 1.5.x.
    • JumpBox for MediaWiki 1.1.0 (Download)MediaWiki is version 1.12.0 in this JumpBox.
    • JumpBox for Wordpress 1.1.0 (Download)Wordpress is version 2.5.1 in this JumpBox.

    Thanks for supporting JumpBox and as always, feel free to send us feedback.

    Six new JumpBoxes and an updated JumpBox Platform

    Hello,

    We’re happy to announce the availability of six new JumpBoxes based on the JumpBox Platform 1.1. These are the first production releases made on this new and considerably improved platform. Here are just a few of the things that have changed with this platform revision.

    1. The underlying operating system has been updated to Ubuntu Linux 8.04 LTS. This has brought a number of other updates to things like Apache, MySQL and other libraries used with the applications.
    2. The backup system now supports Amazon S3, JumpBox to JumpBox and direct download as backup options. The addition of Amazon S3 is particularly nice as it gives you a really easy way to setup offsite backups.
    3. There’s a new one click tool to turn on SSL encryption for the application.
    4. A web stats package is now included by default and can be turned on with a single click.
    5. There’s a new tool to help you configure the JumpBox to send email.
    6. You can now put JumpBoxes into “maintenance mode” which allows you to keep users out of the application while working on administration tasks.
    7. In general lots and lots of bug fixes, security improvements and a number of little niceties like friendlier 404 pages have been added.

    We’ll be publishing much more information on this new platform in the coming weeks as we work on getting all the existing JumpBoxes updated.

    Other News

    • With these new releases, licenses are only available with a JumpBox Open Subscription.
    • Three of the new JumpBoxes are exclusively available to JumpBox Open Subscribers. Existing Open subscribers will receive download links along with license keys within the next day or so.

    New Production JumpBoxes

    • JumpBox for Movable Type 1.1.0 (Download)Movable Type is a powerful, multi-user blogging platform. It’s widely used as a business blogging tool thanks to the ease with which you can create multiple blog sites. It has a large community and many add-ons available.
    • JumpBox for Drupal 6.x 1.1.0 (Download)Drupal is an Open Source, web content management (WCM) system. It provides a simple, intuitive interface that allows an individual or a community of users to easily publish, manage and organize a wide variety of content on a website without programming skills. This JumpBox is for Drupal 6.x.
    • JumpBox for SugarCRM 5.x 1.1.0 (Download)SugarCRM is a market leading customer relationship management (CRM) application. SugarCRM’s open source architecture easily adapts to any business environment by offering a more flexible, cost-effective alternative than proprietary applications. This JumpBox is for SugarCRM 5.x.

    New Production JumpBoxes - Exclusively Available to JumpBox Open Subscribers

    • JumpBox for Nagios 1.1.0 (Info)Nagios is an Open Source host, service and network monitoring system that will watch your network and alert you to problems before your clients or end-users do. The system runs checks on hosts and services that you specify using plugins that return status information to Nagios. When problems are encountered the system will send notifications to system administrators so that they can take action on the problem.
    • JumpBox for MySQL 1.1.0 (Info)MySQL is probably the most widely used relational databases around. It’s used as an integral component in many JumpBoxes and is also useful to have available in an easy to use standalone version. This JumpBox includes MySQL 5 along with PHPMyAdmin setup and ready to run. It’s a great tool for developing database backed applications and can also be used along with other JumpBoxes if you need to move the database into a separate virtual machine.
    • JumpBox for LAMP Deployment 1.1.0 (Info)The JumpBox for LAMP Deployment is a great utility system that allows you to easily deploy applications where a tailored JumpBox may not exist. It contains MySQL plus PHP, Perl, Ruby and Python along with PHPMyAdmin to help you manage the database. Using the JumpBox for LAMP Deployment you can easily deploy many popular PHP applications as well as CGI based Perl, Ruby and Python applications.

    Thanks for supporting JumpBox and as always, feel free to send us feedback.

    Kimbro Staken

    JumpBox Inc.

    Welcome our newest team members: David and Tom

    Everyone give a big welcome to our two newest team members at JumpBox, David and Tom.

     

    Their trading cards read as follows:

    David is the reason you see so few bugs in our products. He’s the Q & A master who puts each app through its paces to ensure it’s squeaky clean and free of any annoyances. David’s been working contract for us for a few months and just recently joined us full-time. David reads more books than most lawyers do and we’re told the Library of Congress now pales in comparison to the shelves in his den alone. Read more from David on Twitter.

    Tom joins JumpBox today bringing a wealth of software engineering and architecture knowledge. In his former life, Tom had worked with Kimbro to write an entire native XML database engine from scratch (dbXML). Tom is the guy who will be responsible for advancing the capabilities of the JumpBox platform and performing (what will appear to the rest of the world as) software magic. Tom is an active local musician in Phoenix and plays in a local post-punk band called “Glamour Shot.” Read more from Tom on his blog.

    We’re looking forward to David’s continued merciless bug squashing and Tom’s software super powers to make the JumpBox experience even better for you, our users.