Omnichannel Services – Cloud Server

After my previous videos, I’ve gotten a number of questions on how to actually set up omnichannel service in the cloud, and it will take a number of videos to answer that question. There are several options for setting up services in the cloud (e.g. www.apigeen.com, www.parse.com, etc), but in this first video, I will show how to set up your own server in the Amazon cloud, which will give you the full freedom. I you want more details, Amazon themselves provide a number of videos in their official channel on YouTube.

I’m assuming that you already have an account that you can get by going to http://aws.amazon.com, click “Sign Up” and follow the instructions. Even if you need to supply a credit card, you will not be charged unless you go above the free tier usage. If you want to be sure, don’t hesitate to set up a billing alarm (sent to your email) of zero dollars, and note that the free tier is only valid for one year. Please note that removing your credit card from your account will not prevent Amazon from charging it.
When you have logged in, you select the management console and EC2. In the upper right, make sure to select the correct region (if it’s not important where your server and data resides, select US East North Virginia, as that it has the lowest prices). Now, to create a new server (virtual machine), click the “Launch Instance” button, and select the “Free tier only” checkbox to see the AMIs (Amazon Machine Images) that is included in the free offer. Even if you can do this for several server operating systems (Windows, Unix, etc), I select the Ubuntu 12.04 LTS (Long Term Support, https://wiki.ubuntu.com/LTS) for 64 bit, the default micro instance, leave the default instance details and storage, set the instance name, add HTTP to the security group, launch it, create a new key pair, and download it.

When the new server is created (takes a few minutes, but compare that to purchasing and setting up the hardware as well as installing the OS ;-), take a note of the domain name and IP address so that you can access it by using the key pair. To do this, let’s start the terminal, and start by protecting the key pair file with the command (replace AwsKeyPair.pem with the file you downloaded from Amazon):

chmod 400 AwsKeyPair.pem

I then connect to the server with the command (replace 0.0.0.0 with the IP address for your server):

ssh -i AwsKeyPair.pem ubuntu@0.0.0.0

I’m on a Mac, and if you are on a PC, it’s a bit different (you need to use something like http://www.putty.org, and convert the key pair into a .ppk file, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html), but the commands I will describe are the same. Here are the commands I usually run:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install lamp-server^
sudo service apache2 restart
sudo chown ubuntu /var/www –R

The first two is just to get the system up-to-date, and the third is to install the LAMP stack (please note the caret at the end of the command), where you will be asked for a password for the MySQL root user. The fourth is just to restart the (Apache) web server, and the last is to make the default user (ubuntu) owner of the web root folder, to enable it to add files. To test the installation, you should be able to go to the URL of the server in your web browser, e.g. http://0.0.0.0, and you should get a response that “It works!” To show some more info about the installation, you can give the following commands:

cd /var/www
echo “<?php phpinfo(); ?>” > info.php

Now you can go to http://0.0.0.0/info, and get more info about your installation.

With that you have a server running in the cloud that enable you to deploy omnichannel services, and that’s what I will show you how to do in upcoming videos.