If you have tried VPS, Shared Hosting and is fed up with preinstalled rubbish, we are on the same boat. This guide is to help you venturing into cloud virtual servers www.rackspacecloud.com and Amazon EC2. Alternatives are slicehost (which are mentioned alot and i have heard good stories). Rackspacecloud / Amazon EC2 has a low pricing structure at 0.02 cents per hour. With either, I recommend the ubuntu server LTS series. Its fast, does the job and supported by a huge fan base.
Why is this good? A simple answer is that bugs get fixed very quickly and new improvements keep happening. So you see all the big names on the internet, but what do all of them mean?
- RackspaceCloud Hosting [256mb ram / 10gb HDD] / Amazon Micro Instance
- Ubuntu Linux Server LTS Edition 12.04
- LightTPD 1.5 (webserver used by youtube meebo wikimedia)
- MySQL 5.x (www.mysql.com) / SQLite 3.6.x.x (www.sqlite.org)
- Php 5.2.x (www.php.net)
- vsftpd 2.2.x (vsftpd.beasts.org)
- Python 2.6.x (www.python.org)
- WordPress 2.8.4 / 2.9.x / 3.x (www.wordpress.org)
Your options of choosing cloud instance (Virtual Machine)
As you venture into the cloud, you have a few options of all the yadada: “SAAS / PAAS / AAAS / DAAS….Private, Public…”
Here we summarise it in 3 categories:
- Private Cloud (For in house use / Accounts / Sensitive Data)
- Public Cloud (For general use / Website / Webservices)
- Hybrid Cloud (Web management of inhouse stocks)
For a general web application or site service, lets focus on a public use of cloud, which is currently dominated by RackspaceCloud and Amazon.
We will not be stating too much on setting up your own Virtual Instance on Private Cloud however you will be able to get more information from googling OPENSTACK or DEVSTACK or OPENNEBULA
Virtual Instance on RackSpace
RackSpaceCloud ( www.rackspacecloud.com ) is a major player of cloud enabled web service. It has partnered with NASA to provide one of the largest open source cloud technology OpenStack.
At Rackspacecloud website, select order a new account and the product “Cloud Server”. Follow the instructions to get an account, username and password. Once you get an account, you will need to follow the given instructions at the site and create an instance of the webserver.
For RackSpace users, in the control panel when you setup a new instance, you get an option to choose your favourite linux distro. I recommend ubuntu server LTS (Long Term Support).
> ssh root@123.45.67.89
Setting up an instance in Amazon
Amazon web services provides a range of web enabled services. Of which the one we should focus on is Amazon EC2. It is essentially a black naked box (nothing installed), allowing us to set it up as we wish. Amazon ( aws.amazon.com/ )
For Amazon EC2 users, you get to choose from a number of distros when you create an EC2 instance. I recommend reading the Amazon EC2 starter guide to setup your cloud https://help.ubuntu.com/community/EC2StartersGuide and getting your EC2 instance from http://cloud-images.ubuntu.com/releases/. As of writing, Amazon AWS(Amazon Web Services) does provide free micro instances for use and default Ubuntu Server LTS instances.
Lets whiz through the setup procedures. Register an account on Amazon AWS. The setup a primary key pair. You will have to download the key pair file, which is your private key to your machine. AWS will prompt you to download a PEM file. Keep this safe!
Next setup an instance and get an elastic IP. Get the basic EC2 Micro instance with Ubuntu Server LTS. Move on to the elastic IP and bind this ip address to your instance. Lets assume your IP is 1.2.3.4. On your local machine, open up terminal and type in the following (note that the IP address should be your elastic IP; ALEX is your username; mykey.pem is your AWS private key which you downloaded before.)
> ssh -i /Users/ALEX/Desktop/mykey.pem ubuntu@1.2.3.4
say yes if fingerprint RSA Key is needed prompt pops up. You should be in. Lets update the server packages while we are here. Type in the following.
> sudo apt-get update
> sudo apt-get upgrade
this will run loads of installs and type “y” for yes if you have to. After installing, reboot.
> sudo reboot
You will be thrown out of your server when you reboot. Wait for reboot and login using ssh. Welcome to your first virtual cloud server! Well done. Read more on Setting up Ubuntu Server.
- While you are trying to SSH on to the machine, if you get errors, try this. on YOUR LOCAL MACHINE goto hosts file and delete the hostsrecord; look and delete the line with the same ip and delete it> nano ~/.ssh/known_hosts