<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Technology Bits and Bytes &#187; Ruby On Rails</title>
	<atom:link href="http://blogs.circlesource.com/category/rubyonrails/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.circlesource.com</link>
	<description>CircleSource Technical Talent ShowCase</description>
	<lastBuildDate>Thu, 10 Dec 2009 20:01:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Step-By-Step setup slicehost server (fedora) for rails application.</title>
		<link>http://blogs.circlesource.com/2008/07/29/step-by-step-setup-slicehost-server-fedora-for-rails-application/</link>
		<comments>http://blogs.circlesource.com/2008/07/29/step-by-step-setup-slicehost-server-fedora-for-rails-application/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 04:08:11 +0000</pubDate>
		<dc:creator>Bhushan Ahire</dc:creator>
				<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[server setup]]></category>
		<category><![CDATA[slicehost]]></category>

		<guid isPermaLink="false">http://blogs.circlesource.com/?p=14</guid>
		<description><![CDATA[Hi all as I worked on setting up 4 to 5 servers, I thought its better to document the stuff so that I/developers can refer it, So I am documenting the step-by-step process for setting up the slicehost server for rails application work with nginx as a web server and mongrel as a rails application [...]]]></description>
			<content:encoded><![CDATA[<div>Hi all as I worked on setting up 4 to 5 servers, I thought its better to document the stuff so that I/developers can refer it, So I am documenting the step-by-step process for setting up the slicehost server for rails application work with <strong>nginx</strong> as a web server and <strong>mongrel</strong> as a rails application server.</div>
<div>
<h2>Update</h2>
<div class="level2">
<p>To update your system:</p>
<blockquote><p>yum update</p></blockquote>
</div>
<h2>MySQL</h2>
<div class="level2">
<p>to install mysql client and server apps</p>
<blockquote><p>yum install mysql-server</p></blockquote>
<p>The client package “mysql” will automatically be installed as a dependency.</p></div>
<h2>Apache</h2>
<div class="level2">
<blockquote><p>yum install httpd</p></blockquote>
</div>
<h2>PHP5</h2>
<div class="level2">
<p>To install php with soap, xml and mysql plugins:</p>
<blockquote><p>yum install php php-soap php-xml php-mysql</p></blockquote>
<p>some other php plugin utilities that are common:</p>
<blockquote><p>yum install php-mbstring php-gd</p></blockquote>
</div>
<h2>Ruby</h2>
<div class="level2">
<blockquote><p>yum install ruby</p></blockquote>
</div>
<h2>Utilities</h2>
<div class="level2">
<p>other useful utilities:</p>
<blockquote><p>yum install nano wget elinks subversion vi</p></blockquote>
</div>
</div>
<div>
<h2>Nginx</h2>
<div class="level2">
<p>install nginx web server:</p>
<blockquote><p>yum install nginx</p></blockquote>
</div>
<h2>Mongrel Cluster</h2>
<div class="level2">
<p>install mongrel_cluster:</p>
<blockquote><p>gem install mongrel_cluster &#8211;include-dependencies</p></blockquote>
</div>
<p>Setup your nginx configuration for your rails application and mongrel_cluster (proxy).</p>
<p>Below you found sample config file for nginx.conf (normally located in &#8220;/etc/nginx/conf/nginx.conf&#8221;)</p>
<blockquote>
<pre>user  deploy;
worker_processes  1;
error_log   logs/error.log debug;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
  include        conf/mime.types;
  default_type   application/octet-stream;
  sendfile        on;
  #tcp_nopush     on;
  keepalive_timeout  65;
  tcp_nodelay        on;
  gzip  on;
  gzip_min_length  1100;
  gzip_buffers     4 8k;
  gzip_types       text/plain;
  upstream mongrel {
    server 127.0.0.1:8000;
    server 127.0.0.1:8001;
  }
  server {
    listen       80;
    server_name  example.com;
    root /var/www/apps/example/current/public;
    index  index.html index.htm;
    location / {
      proxy_set_header  X-Real-IP  $remote_addr;
      proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_redirect false;
      if (-f $request_filename/index.html) {
        rewrite (.*) $1/index.html break;
      }
      if (-f $request_filename.html) {
        rewrite (.*) $1.html break;
      }
      if (!-f $request_filename) {
        proxy_pass http://mongrel;
        break;
      }
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
  }
}</pre>
</blockquote>
</div>
<p>Restart the nginx server:</p>
<blockquote><p>/etc/init.d/nginx restart</p></blockquote>
<div>
<h2>Mongrel Configuration:</h2>
<p>Now Go to the application directory and create a configuration for Mongrel:</p>
<blockquote><p>mongrel_rails cluster::configure -e production -p 8000 -a 127.0.0.1 -N 2 -c /home/APP/production/APP/current</p></blockquote>
<p>it will create the config/mongrel_cluster.yml file; basically you do not need to edit it.</p>
<p>You can test cluster with</p>
<p>To Start:</p>
<blockquote><p>mongrel_rails cluster::start</p></blockquote>
<p>To Stop:</p>
<blockquote><p>mongrel_rails cluster::stop</p></blockquote>
<p>To Restart:</p>
<blockquote><p>mongrel_rails cluster::restart</p></blockquote>
</div>
<div>
<h2>Capistrano Configuration:</h2>
<p>Then create a configuration for Capistrano:</p>
<blockquote><p>cap –apply-to .</p></blockquote>
<p>we need to modify the generated file config/deploy.rb:</p>
<blockquote>
<pre>require 'mongrel_cluster/recipes'

#you set the APP name with the cap command
set :application, "APP"
#a path to your repository
set :repository, "svn+ssh://USERNAME@SVN_SERVER/projects/#{application}/trunk"

role :web, "SERVER"
role :app, "SERVER"
role :db, "SERVER", :primary =&gt; true

#where to deploy (copy the files) on the server; I created a special user APP for the</pre>
<pre>application (if you do not like it, replace the /home/#{application} part with your path
set :deploy_to, "/home/#{application}/production/#{application}"
set :mongrel_conf, "#{current_path}/config/mongrel_cluster.yml"
#if the server login name is different to the development computer login name; in my case</pre>
<pre>the user name is the APP nameset :user, "APP"</pre>
</blockquote>
<p>Make necessary changes to the config/database.yml file.</p></div>
<div>
<h2>Capistrano Deployment:</h2>
<p>Create the basic structure on the server:</p>
<blockquote><p>cap deploy:setup</p></blockquote>
<p>For the first deployment you can use cold deploy:</p>
<blockquote><p>cap cold_deploy</p></blockquote>
<p>After that for next deployments you have to use:</p>
<blockquote><p>cap deploy</p></blockquote>
<p>You can also run migration from capistrano with:</p>
<blockquote><p>cap deploy:migrate<sup>*</sup></p></blockquote>
<p><sup>*</sup> Note: It wont work for me, it migrating to the previous release available in the releses folder, So I suggest you manually run migration on server.</div>
<div>
<p>That&#8217;s it, your server is ready to run.<br />
Hope this documentation will be helpful to you, Enjoy <img src='http://blogs.circlesource.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.circlesource.com/2008/07/29/step-by-step-setup-slicehost-server-fedora-for-rails-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to use Google Apps mail configuration with rails application.</title>
		<link>http://blogs.circlesource.com/2008/07/28/how-to-use-google-apps-mail-configuration-with-rails-application/</link>
		<comments>http://blogs.circlesource.com/2008/07/28/how-to-use-google-apps-mail-configuration-with-rails-application/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 04:06:52 +0000</pubDate>
		<dc:creator>Bhushan Ahire</dc:creator>
				<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[google apps]]></category>
		<category><![CDATA[mail conf]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://blogs.circlesource.com/?p=13</guid>
		<description><![CDATA[I am using google apps for my domain www.bhushangahire.com
For one of my rails application I am using this domain mail account setup for sending mails.
But I am not able to send the mail with the default smtp setings we use for sending mail.
So I search on net and I found the Goggle Apps consider its [...]]]></description>
			<content:encoded><![CDATA[<p>I am using google apps for my domain <strong>www.bhushangahire.com</strong></p>
<p>For one of my rails application I am using this domain mail account setup for sending mails.<br />
But I am not able to send the mail with the default smtp setings we use for sending mail.</p>
<p>So I search on net and I found the Goggle Apps consider its in different way. Which is TLS ans SSH service, which is not by default comes with the Action mailler.</p>
<p class="vspace"><span class="wikiword">ActionMailer</span> can&#8217;t send emails using <span class="wikiword">GMail</span> out of the box. To add this functionality do the following configuration in your rails application:</p>
<ol>
<li>Create the file <strong><code>lib/smtp_tls.rb</code></strong>
<div class="code">
<pre>require "openssl"
require "net/smtp"

Net::SMTP.class_eval do
private
def do_start(helodomain, user, secret, authtype)
raise IOError, 'SMTP session already started' if @started
check_auth_args user, secret, authtype if user or secret

sock = timeout(@open_timeout) { TCPSocket.open(@address, @port) }
@socket = Net::InternetMessageIO.new(sock)
@socket.read_timeout = 60 #@read_timeout

check_response(critical { recv_response() })
do_helo(helodomain)

raise 'openssl library not installed' unless defined?(OpenSSL)
starttls
ssl = OpenSSL::SSL::SSLSocket.new(sock)
ssl.sync_close = true
ssl.connect
@socket = Net::InternetMessageIO.new(ssl)
@socket.read_timeout = 60 #@read_timeout
do_helo(helodomain)

authenticate user, secret, authtype if user
@started = true
ensure
unless @started
# authentication failed, cancel connection.
@socket.close if not @started and @socket and not @socket.closed?
@socket = nil
end
end

def do_helo(helodomain)
begin
if @esmtp
ehlo helodomain
else
helo helodomain
end
rescue Net::ProtocolError
if @esmtp
@esmtp = false
@error_occured = false
retry
end
raise
end
end

def starttls
getok('STARTTLS')
end

def quit
begin
getok('QUIT')
rescue EOFError
rescue OpenSSL::SSL::SSLError
end
end
end</pre>
</div>
</li>
<li>Add the following lines to <strong><code>config/environment.rb</code></strong> and replace the values with the appropriate username and password:
<div class="code">
<pre>require 'smtp_tls'
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.server_settings = {
:address =&gt; "smtp.gmail.com",
:port =&gt; 587,
:domain =&gt; "mydomain.com",
:authentication =&gt; :plain,
:user_name =&gt; "username@mydomain.com",
:password =&gt; "password"
}</pre>
</div>
<p><strong><sup>*</sup>Note:</strong>To work your domain with <strong>&#8220;mydomain.com&#8221;</strong> you have to configure your <strong>MX records</strong> to work Gmail mail sending functionality out of box.</p>
<p>Else you can use a temporary address <strong>@mydomain.com.test-google-a.com</strong>, I have not tested with this as I have already configure my <strong>MX records</strong>.</p>
<p>You can get more information on changing <strong><a href="http://www.google.com/support/a/bin/answer.py?answer=33352">http://www.google.com/support/a/bin/answer.py?answer=33352</a></strong>.</p>
<p>Hope this information is useful to you. <img src='http://blogs.circlesource.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blogs.circlesource.com/2008/07/28/how-to-use-google-apps-mail-configuration-with-rails-application/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Thickbox, Rails and SSL</title>
		<link>http://blogs.circlesource.com/2008/07/23/thickbox-rails-and-ssl/</link>
		<comments>http://blogs.circlesource.com/2008/07/23/thickbox-rails-and-ssl/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 15:53:06 +0000</pubDate>
		<dc:creator>Aditya</dc:creator>
				<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[Thickbox]]></category>

		<guid isPermaLink="false">http://blogs.circlesource.com/?p=11</guid>
		<description><![CDATA[Couple of months back, one of our clients requested an enhancement &#8211; To show some parts of the application in pop ups. I told him it would be pretty easy. I gave him the link of Redbox and said we have done this many times, it should be easy. His reply was… “Scroll up and [...]]]></description>
			<content:encoded><![CDATA[<p>Couple of months back, one of our clients requested an enhancement &#8211; To show some parts of the application in pop ups. I told him it would be pretty easy. I gave him the link of <a href="http://www.craigambrose.com/redbox_demo">Redbox</a> and said we have done this many times, it should be easy. His reply was… “Scroll up and down the pages, the pop up doesn’t seem to be moving with the page” . I said “Yes, it doesn’t”. He said he wants that to happen.</p>
<p>After looking around for next couple of hours, I came across <a href="http://jquery.com/demo/thickbox/">Thickbox</a>. Now how could I miss this at the first place. It was what I exactly wanted for sometime now. And it had support for iframe also. So I went ahead and downloaded the required files namely jquery-latest.js, thickbox.js and thickbox.css. For those who don’t know about <a href="http://jquery.com/">jquery</a> – Jquery is a Javascript library to handle browser events, add AJAX features to your application etc. In next 15 minutes I was ready with the sample code to check if things really work and to my disappointment it didn’t work and moreover my existing AJAX features broke.  When I opened the jquery library I found that it also uses ‘$’ like prototype.js, hence a conflict.</p>
<p>The solution for this problem is described <a href="http://docs.jquery.com/Using_jQuery_with_Other_Libraries">here</a>.</p>
<p>After making the required changes it worked. I was happy, client was happy until one fine day SSL came into picture. I use nginx as my web server and had done SSL setup before. I could setup the SSL but when I clicked one of the links which use thickbox to open up the popup, it just opened the content of the popup on a new page. After playing with the code from sometime I found that the j-query file gets truncated because its too big and also the page takes lot of time to download.</p>
<p>Jquery provides a compact version of its library. Using this file solved my problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.circlesource.com/2008/07/23/thickbox-rails-and-ssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hosting Rails Web Application on Amazon EC2</title>
		<link>http://blogs.circlesource.com/2008/07/23/hosting-web-application-on-amazon-ec2/</link>
		<comments>http://blogs.circlesource.com/2008/07/23/hosting-web-application-on-amazon-ec2/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 11:21:16 +0000</pubDate>
		<dc:creator>relton</dc:creator>
				<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[EC2]]></category>
		<category><![CDATA[EC2 and Rails]]></category>
		<category><![CDATA[Hosting Web Application]]></category>

		<guid isPermaLink="false">http://blogs.circlesource.com/?p=9</guid>
		<description><![CDATA[I have my Ruby on Rails application running on EC2.
EC2 is a web service that helps in elastic computation across the web. It is elastic because the computation is very resizable. When compared with Plain Hosting it provides the following advantages:

 Unlike traditional hosting services EC2 provides resources that can be used unlimitedly,
 EC2 provides [...]]]></description>
			<content:encoded><![CDATA[<p>I have my Ruby on Rails application running on EC2.</p>
<p style="0cm;">EC2 is a web service that helps in elastic computation across the web. It is elastic because the computation is very resizable. When compared with Plain Hosting it provides the following advantages:</p>
<ul>
<li> Unlike traditional hosting services EC2 provides resources that can be used unlimitedly,</li>
<li> EC2 provides full control on the resource where in the entire resource configurations can be manipulated according to the users requirement and</li>
<li> EC2’s service doesn’t require users to pay a fixed, up-front fee irrespective of their actual computing power used but instead the pay is very dynamic and the computed based on the usage of the resource.</li>
</ul>
<p style="0cm;">The usage of the EC2 image becomes easier if ruby on rails application is to be hosted. As rails provide gems for additional utilities, it provides a gem called as “ec2onrails” that makes the hosting even simpler.</p>
<p style="0cm;">The following are the steps in using the EC2 image:</p>
<ul>
<li>
<p style="0cm;">Install the gem – gem install 	ec2onrails</p>
</li>
</ul>
<ul>
<li>
<p style="0cm;">Add the configuration files to the 	rails application – There are 3 files that is essential in order 	to use the image:</p>
<ul>
<li>
<p style="0cm;">Capfile – The Capistrano file 		that includes the line, require &#8216;ec2onrails/recipes&#8217; in addition to 		the existing config details. This makes the ec2onrails libraries 		available during deployment.</p>
</li>
<li>
<p style="0cm;">S3.yml – Instance stores appear to an instance as a local disk. 		They just survive intentional and unintentional reboots of the 		instance unless the instance terminates or the underlying drive 		fails. Hence the backup or replication of important data is very 		essential and it happens in Amazon S3. This happens using the 		configurations in this S3.yml file. The details comprises of 		aws_access_key, aws_secret_access_key and bucket_base_name.<span style="Courier New,monospace;"><span style="x-small;"> </span></span>aws_access_key and aws_secret_access_key are the keys 		received at the time of creating an account with Amazon EC2 and 		bucket_base_name is the name of the bucket into which the data 		needs to be stored.</p>
</li>
<li>
<p style="0cm;">deploy.rb – This is the 		deployment file containing the Capistrano configurations for 		ec2onrails.</p>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<p style="0cm;">Start the instance of the image – 	The instance can be started as follows:</p>
<ul>
<li>
<p style="0cm;">Signup for Amazon EC2 and S3 to 		acquire the necessary authentication credentials – The necessary 		authentication credentials are the privacy encoded mail security 		X509 certificate, privacy encoded mail security private key file 		and the account ID.</p>
</li>
<li>
<p style="0cm;">Installing the EC2 Tools – This 		basically involves no installation as such because all what is 		required is to get the tools downloaded from the EC2 site, unzip it 		into a folder. The unzipped files are the pre-installed files, 		hence to make the tools visible, an environment variable – 		EC2_HOME is set with the path to the EC2 tools folder. Apart from 		this we need to tell the tools for whom it is going to be used for 		by setting two more environment variables such as EC2_PRIVATE_KEY 		and EC2_CERT containing the paths of the private key file and X509 		certificate.</p>
</li>
<li>
<p style="0cm;">Start running the instance – 		All what we are left now is with running the instance. In order to 		run the instance we need to do the following:</p>
<ul>
<li>
<p style="0cm;">Find a suitable AMI(Amazon 			Machine Image) – This happens to be the crucial step. Why I say 			that this is a crucial one is because on executing the command: 			ec2-describe-images –o self –o amazon, it will list all the 			available images. We need to pick the most stable image that will 			suffice our purpose. This is where I initially went wrong. What I 			did was, I chose an image without reading the name of the image 			file, which happened to be a very unstable one and hence had to 			install all the required software manually which had dependencies 			issue and as a result of this I had to spend several additional 			hours in the setup process. But realized pretty early that I was 			in the wrong track and then chose the right one. So how do we 			choose the right image? In the listing we need to look for 			developer-image which is public and available and make a note of 			the ami ID(something like ami-xxxxxxxx).</p>
</li>
<li>
<p style="0cm;">Generating the key pair – The 			privacy enhanced mail security files is used for all the 			interactions with the image but each and every time we interact we 			need to use then in our command with various options. This can be 			avoided by generating key pair out of the two security files and 			use this key pair for all the usage. In order to generate the key 			pair execute the command: ec2-add-keypair &lt;name&gt;. The name 			can be anything and this list a key pair which needs to be stored 			in a file with the name of our choice.</p>
</li>
<li>
<p style="0cm;">Run the instance – On 			executing: “ec2-run-instance ami-xxxxxxxx key_pair_filename”, 			the instance starts running. But it takes long time to start. This 			is because Amazon EC2 moves the images around the network before 			they can be launched. For big images and/or congested networks, 			this takes several minutes. To improve performance, images can be 			cached. As you launch your images more frequently, it becomes less 			noticeable.</p>
</li>
<li>
<p style="0cm;">Authorize Network Access o the 			instance – The instance uses port 80 and 22 which can be 			authorized by executing: “<span>ec2-authorize 			default -p 22”</span> and “<span>ec2-authorize 			default -p 80”. If your application requires nay other port for 			access, it can be done the same way.</span></p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p style="0cm;">Fetch the Public key – The 	Capistrano deployment requires the public key of the server which 	can be fetched by executing: “<span>cap 	ec2onrails:get_public_key_from_server”</span></p>
</li>
<li>
<p style="0cm;">Finally deploy the application 	with Capistrano – Firstly setup the ec2onrails Capistrano 	deployment by saying, <span>cap ec2onrails:setup</span> and then the first deployment can be done by executing, <span>cap 	deploy:cold</span> and for the later successive deployments just 	use, cap deploy. Apart from this the Capistrano with ec2onrails 	provides <span>cap ec2onrails:db:archive</span> and <span>cap 	ec2onrails:db:restore</span>. They can be explicitly executed for 	archiving and restoring the data for the database. But on the cold 	deploy execution the ec2 instance starts the incremental archiving 	of the data using the predefined cron jobs.</p>
</li>
</ul>
<p><strong><em>We now have our application hosted on EC2. Yes, it is that easy.</em><br />
</strong></p>
<p>The only question that one would have in his/her mind now is, what will happen if my instance or the ec2 server terminates? Once the server terminates, the instance is lost and can never be got back. This is one feature that ec2 lacks. But it provides a solution to handle such situation.</p>
<p style="0cm;">There is something called as bundling of the image. On bundling the image, the instance configuration and the application is uploaded to the S3 which can then be register to another instance and the application can be in form again. This can be achieved as follows:</p>
<p style="0cm;">Prepare for bundling – The server requires the two privacy enhanced mail security files. This can be got by using scp command.</p>
<p><em>Example &#8211; <span>scp pk-xxyyzz.pem cert-xxyyzz.pem root@ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com:/mnt -i keypair_file_name</span></em></p>
<p style="0cm;">Bundle the current image – From the ec2 instance bundle the image.</p>
<p><em>Example &#8211; <span>ec2-bundle-vol -d /mnt -k /mnt/pk-xxyyzz.pem -c /mnt/cert-xxyyzz.pem -u account_number -r i386</span></em></p>
<p style="0cm;">Upload the AMI – The AMI is then uploaded to S3.</p>
<p><em><span>Example &#8211; ec2-upload-bundle -b bucket_name -m /mnt/image.manifest.xml -a access_key_id -s secret_access_key</span></em></p>
<p style="0cm;">Register the Uploaded image – The image needs to be register from the local system and can be done as:<span> ec2-register bucket</span><span>_name/image.manifest.xml</span></p>
<p style="0cm;">This gives an ami ID with which the instance can be run.</p>
<p style="0cm;"><strong><em>EC2 &#8211; a quick and cost effective way of hosting Web Applications.</em></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.circlesource.com/2008/07/23/hosting-web-application-on-amazon-ec2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
