We all have different needs and reasons for Drupal, but at the same time we all want the best performance for our money. That's why I started out on shared hosting, and odds are why you did too. It's hard to pass up $6/month with a free domain name!
But all that glitters is not gold, and you may have found yourself stuck with only 32MB of memory and trying to do image processing, or no support for HTML5 video or FFMPEG for conversions. Fear not! Where you used to only have two real options, shared hosting and VPS (Virtual Private Server), you now have The Cloud
Ok, The Cloud
isn't some magical entity that makes your experience any easier. Quite the opposite, in fact. It'll make you appreciate your install and resources that much more.
is simply a virtual server out in a data center that you have access and control over. How it gets used, and what kind of resources it has are up to your discretion. Rackspace offers more traditionally recognized server setups, with memory/disk sizes at 256MB/10GB, 512MB/20GB, 1GB/40GB, and way up. Amazon Web Services offers a little more untraditional sizes with more emphasis put on the processor and memory size than disk space. After all, they want you to use S3 for storing your files!
Ok, on to the meat of the topic: installing. Here's a list of software I'm using in order to put Drupal in the cloud:
- Ubuntu - The OS that the web server runs on
- VirtualMin - The software that manages Apache, MySQL, and PHP
- Apache - The web server that Drupal will use
- MySQL - The database that Drupal will use
- PHP - The server-side code that Drupal runs on
- Fail2Ban - Temporarily bans IP addresses after a set number of failed login attempts
Now that we have a basic overlay we can continue to the other parts: