<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[Erik Dahlstrand]]></title>
  <link href="http://dahlstrand.eu/atom.xml" rel="self"/>
  <link href="http://dahlstrand.eu/"/>
  <updated>2012-01-28T12:52:58+01:00</updated>
  <id>http://dahlstrand.eu/</id>
  <author>
    <name><![CDATA[Erik Dahlstrand]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[Rails server running multiple Ruby versions]]></title>
    <link href="http://dahlstrand.eu/blog/2012/01/20/rails-deployment-server-nginx-unicorn-rbenv/"/>
    <updated>2012-01-20T13:06:00+01:00</updated>
    <id>http://dahlstrand.eu/blog/2012/01/20/rails-deployment-server-nginx-unicorn-rbenv</id>
    <content type="html"><![CDATA[<p><img class="left" src="http://dahlstrand.eu/images/rails_deployment_nginx_unicorn.png" title="Nginx and Unicorn" ></p>

<p>I recently set up a new Rails production server based on Ubuntu 10.04, Nginx, Unicorn and rbenv.
A few of my Rails applications is still running on Ruby 1.8.7 so the web server must handle multiple ruby versions.</p>

<p>The idea is that each and every Rails application should be self contained.
Meaning that running <code>unicorn</code> uses the Ruby in <code>.rbenv-version</code> and the Unicorn in <code>Gemfile.lock</code>.
By telling Bundler to generate binstubs we know that the gems installed within the application will be used.
<strong>Bundler should be the only gem installed to the global gemset.</strong></p>

<!-- more -->


<p>This how-to assumes a vanilla Ubuntu with Nginx installed.
Please have a look at my how-tos for <a href="http://dahlstrand.eu/how-tos/install/ubuntu">setting up Ubuntu</a> and <a href="http://dahlstrand.eu/how-tos/install/ubuntu/nginx">install Nginx</a>.
Capistrano is used to deploy the Rails application.
I will only show you the changes necessary to the deploy file.
If you are unfamiliar with Capistrano you can read more about it on the <a href="http://capify.org">Capistrano website</a>.</p>

<p>To keep it really simple I give the <code>deployer</code> user sudo rights.
That is not necessary and probably not recommendable.
But in this how-to I want to focus on the key parts to get the <strong>server</strong> up and running.</p>

<h2>Deploy User</h2>

<p>I&#8217;m using a single account for all my application deployments.
Some people likes to have a separate user account for each application.</p>

<p>Create an <code>deployer</code> user account and add it to the <code>staff</code> group.</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='sh'><span class='line'>useradd -m -g staff -s /bin/bash deployer
</span></code></pre></td></tr></table></div></figure>


<p>Give this user a password:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='sh'><span class='line'>passwd deployer
</span></code></pre></td></tr></table></div></figure>


<p>Now open the <code>sudoers</code> file and make the <code>staff</code> user group able to perform a <code>sudo</code> by adding the following line to it:</p>

<figure class='code'><figcaption><span>/etc/sudoers  </span></figcaption>
 <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='sh'><span class='line'>%staff <span class="nv">ALL</span><span class="o">=(</span>ALL<span class="o">)</span> ALL
</span></code></pre></td></tr></table></div></figure>


<p>Upload your public ssh-key for password-less login to the deployer account.
You can find more detailed instructions in the <a href="http://dahlstrand.eu/how-tos/install/ubuntu">Ubuntu how-to</a>:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='sh'><span class='line'>scp ~/.ssh/id_rsa.pub deployer@server:.ssh/authorized_keys
</span></code></pre></td></tr></table></div></figure>


<p>With the user account created, you should login to the server as <code>deployer</code>.</p>

<h2>Install Ruby</h2>

<p>Install the dependencies:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
</pre></td><td class='code'><pre><code class='sh'><span class='line'>aptitude install git-core
</span><span class='line'>aptitude install build-essential openssl libreadline6 libreadline6-dev curl zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison
</span></code></pre></td></tr></table></div></figure>


<h4>Install rbenv:</h4>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
</pre></td><td class='code'><pre><code class='sh'><span class='line'><span class="nb">cd</span>
</span><span class='line'>git clone git://github.com/sstephenson/rbenv.git .rbenv
</span><span class='line'><span class="nb">echo</span> <span class="s1">&#39;export PATH=&quot;$HOME/.rbenv/bin:$PATH&quot;&#39;</span> &gt;&gt; ~/.bash_profile
</span><span class='line'><span class="nb">echo</span> <span class="s1">&#39;eval &quot;$(rbenv init -)&quot;&#39;</span> &gt;&gt; ~/.bash_profile
</span></code></pre></td></tr></table></div></figure>


<h4>Install ruby-build:</h4>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
</pre></td><td class='code'><pre><code class='sh'><span class='line'><span class="nb">cd</span>
</span><span class='line'>git clone git://github.com/sstephenson/ruby-build.git
</span><span class='line'><span class="nb">cd </span>ruby-build
</span><span class='line'>sudo ./install.sh
</span></code></pre></td></tr></table></div></figure>


<h4>Install Rubies:</h4>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
</pre></td><td class='code'><pre><code class='sh'><span class='line'>rbenv install 1.9.3-p0
</span><span class='line'>rbenv install ree-1.8.7-2011.03
</span><span class='line'>...
</span></code></pre></td></tr></table></div></figure>


<h4>Configure RubyGems</h4>

<p>Add to <code>.gemrc</code></p>

<figure class='code'><figcaption><span>~/.gemrc  </span></figcaption>
 <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="nn">---</span>
</span><span class='line'><span class="l-Scalar-Plain">install</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">--no-ri --no-rdoc --env-shebang</span>
</span><span class='line'><span class="l-Scalar-Plain">update</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">--no-ri --no-rdoc --env-shebang</span>
</span></code></pre></td></tr></table></div></figure>


<h2>Rails Application Setup</h2>

<p>I start with an existing Rails application called <code>myapp</code>.
I will only show you the modifications neccessary to make the application deployable on Nginx/Unicorn with rbenv.
Don&#8217;t forget to check in the new files created below.</p>

<p>The application is accessible at <code>http://myapp.com</code>.</p>

<p>Create a <code>.rbenv-version</code> file with a Ruby version of choice:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='sh'><span class='line'><span class="nb">echo</span> <span class="s1">&#39;1.9.3-p0&#39;</span> &gt; .rbenv-version
</span></code></pre></td></tr></table></div></figure>


<p>Add Unicorn to the <code>Gemfile</code> and run <code>bundle install</code>:</p>

<figure class='code'><figcaption><span>Gemfile  </span></figcaption>
 <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
</pre></td><td class='code'><pre><code class='rb'><span class='line'><span class="n">group</span> <span class="ss">:production</span> <span class="k">do</span>
</span><span class='line'>  <span class="n">gem</span> <span class="s1">&#39;unicorn&#39;</span>
</span><span class='line'><span class="k">end</span>
</span></code></pre></td></tr></table></div></figure>


<p>Create a <code>unicorn.rb</code> configuration file:</p>

<figure class='code'><figcaption><span>config/unicorn.rb  </span></figcaption>
 <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
</pre></td><td class='code'><pre><code class='rb'><span class='line'><span class="n">worker_processes</span> <span class="mi">2</span>
</span><span class='line'><span class="n">user</span> <span class="s1">&#39;deployer&#39;</span><span class="p">,</span> <span class="s1">&#39;staff&#39;</span>
</span><span class='line'>
</span><span class='line'><span class="n">preload_app</span> <span class="kp">true</span>
</span><span class='line'><span class="n">timeout</span> <span class="mi">30</span>
</span><span class='line'>
</span><span class='line'><span class="n">working_directory</span> <span class="s2">&quot;/home/deployer/myapp_com/current&quot;</span>
</span><span class='line'><span class="n">listen</span> <span class="s2">&quot;/tmp/app.socket&quot;</span><span class="p">,</span> <span class="ss">:backlog</span> <span class="o">=&gt;</span> <span class="mi">64</span>
</span><span class='line'>
</span><span class='line'><span class="n">pid</span> <span class="s2">&quot;/home/deployer/myapp_com/current/pids/unicorn.pid&quot;</span>
</span><span class='line'><span class="n">stderr_path</span> <span class="s2">&quot;/home/deployer/myapp_com/current/log/unicorn.stderr.log&quot;</span>
</span><span class='line'><span class="n">stdout_path</span> <span class="s2">&quot;/home/deployer/myapp_com/current/log/unicorn.stdout.log&quot;</span>
</span></code></pre></td></tr></table></div></figure>


<p>The <code>deploy.rb</code> file must be adjusted to load rbenv into the shell that Capistrano uses.
We also want Bundler to generate binstubs and honor the <code>.rbenv-version</code> file and use the project-specified Ruby version.
This allows us to switch versions of Ruby by pushing a new <code>.rbenv-version</code> file.</p>

<p>Add these lines to Capistrano <code>deploy.rb</code>:</p>

<figure class='code'><figcaption><span>config/deploy.rb  </span></figcaption>
 <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
</pre></td><td class='code'><pre><code class='rb'><span class='line'><span class="n">set</span> <span class="ss">:default_environment</span><span class="p">,</span> <span class="p">{</span> <span class="s1">&#39;PATH&#39;</span> <span class="o">=&gt;</span> <span class="s2">&quot;/home/deployer/.rbenv/shims:/home/deployer/.rbenv/bin:$PATH&quot;</span> <span class="p">}</span>
</span><span class='line'><span class="n">set</span> <span class="ss">:bundle_flags</span><span class="p">,</span> <span class="s2">&quot;--deployment --quiet --binstubs --shebang ruby-local-exec&quot;</span>
</span></code></pre></td></tr></table></div></figure>


<p>Deploy the application:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='sh'><span class='line'>cap deploy
</span></code></pre></td></tr></table></div></figure>


<h3>Server Setup</h3>

<p>On the server we need to create a Nginx Virtual Host file for <code>myapp</code>.</p>

<p>Requests that cannot be handled by Nginx web server are passed on to the Unicorn application server.
Beacuse they are on the same machine the best communication method is through a Unix domain socket.</p>

<figure class='code'><figcaption><span>/etc/nginx/sites-available/myapp_com  </span></figcaption>
 <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
<span class='line-number'>14</span>
<span class='line-number'>15</span>
<span class='line-number'>16</span>
<span class='line-number'>17</span>
<span class='line-number'>18</span>
<span class='line-number'>19</span>
<span class='line-number'>20</span>
<span class='line-number'>21</span>
<span class='line-number'>22</span>
<span class='line-number'>23</span>
<span class='line-number'>24</span>
<span class='line-number'>25</span>
</pre></td><td class='code'><pre><code class='nginx'><span class='line'><span class="k">upstream</span> <span class="s">myapp_com</span> <span class="p">{</span>
</span><span class='line'>  <span class="kn">server</span> <span class="s">unix:/tmp/myapp_com.socket</span> <span class="s">fail_timeout=0</span><span class="p">;</span>
</span><span class='line'><span class="p">}</span>
</span><span class='line'>
</span><span class='line'><span class="k">server</span> <span class="p">{</span>
</span><span class='line'>  <span class="kn">server_name</span> <span class="s">www.myapp.com</span><span class="p">;</span>
</span><span class='line'>  <span class="kn">rewrite</span> <span class="s">^</span> <span class="s">http://myapp.com</span><span class="nv">$uri</span> <span class="s">permanent</span><span class="p">;</span>
</span><span class='line'><span class="p">}</span>
</span><span class='line'>
</span><span class='line'><span class="k">server</span> <span class="p">{</span>
</span><span class='line'>  <span class="kn">server_name</span> <span class="s">myapp.com</span><span class="p">;</span>
</span><span class='line'>  <span class="kn">root</span> <span class="s">/home/deployer/myapp_com/current/public</span><span class="p">;</span>
</span><span class='line'>
</span><span class='line'>  <span class="kn">location</span> <span class="s">/</span> <span class="p">{</span>
</span><span class='line'>    <span class="kn">proxy_set_header</span> <span class="s">X-Forwarded-For</span> <span class="nv">$proxy_add_x_forwarded_for</span><span class="p">;</span>
</span><span class='line'>    <span class="kn">proxy_set_header</span> <span class="s">Host</span> <span class="nv">$http_host</span><span class="p">;</span>
</span><span class='line'>    <span class="kn">include</span> <span class="s">proxy_params</span><span class="p">;</span>
</span><span class='line'>    <span class="kn">proxy_redirect</span> <span class="no">off</span><span class="p">;</span>
</span><span class='line'>
</span><span class='line'>    <span class="kn">if</span> <span class="s">(!-f</span> <span class="nv">$request_filename</span><span class="s">)</span> <span class="p">{</span>
</span><span class='line'>      <span class="kn">proxy_pass</span> <span class="s">http://myapp_com</span><span class="p">;</span>
</span><span class='line'>      <span class="kn">break</span><span class="p">;</span>
</span><span class='line'>    <span class="p">}</span>
</span><span class='line'>  <span class="p">}</span>
</span><span class='line'><span class="p">}</span>
</span></code></pre></td></tr></table></div></figure>


<p>Enable the site by creating a symbolic link in <code>sites-enabled</code> and restart nginx:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
</pre></td><td class='code'><pre><code class='sh'><span class='line'><span class="nb">cd</span> /etc/nginx/sites-enabled
</span><span class='line'>ln -s ../sites-available/myapp_com
</span><span class='line'>service nginx restart
</span></code></pre></td></tr></table></div></figure>


<p>We also need an init file to startup the <code>myapp</code> Unicorn instance:</p>

<figure class='code'><figcaption><span>/etc/init.d/unicorn_myapp_com  </span></figcaption>
 <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
<span class='line-number'>14</span>
<span class='line-number'>15</span>
<span class='line-number'>16</span>
<span class='line-number'>17</span>
<span class='line-number'>18</span>
<span class='line-number'>19</span>
<span class='line-number'>20</span>
<span class='line-number'>21</span>
<span class='line-number'>22</span>
<span class='line-number'>23</span>
<span class='line-number'>24</span>
<span class='line-number'>25</span>
<span class='line-number'>26</span>
<span class='line-number'>27</span>
<span class='line-number'>28</span>
<span class='line-number'>29</span>
<span class='line-number'>30</span>
<span class='line-number'>31</span>
<span class='line-number'>32</span>
<span class='line-number'>33</span>
<span class='line-number'>34</span>
<span class='line-number'>35</span>
<span class='line-number'>36</span>
<span class='line-number'>37</span>
<span class='line-number'>38</span>
<span class='line-number'>39</span>
<span class='line-number'>40</span>
<span class='line-number'>41</span>
<span class='line-number'>42</span>
<span class='line-number'>43</span>
<span class='line-number'>44</span>
<span class='line-number'>45</span>
<span class='line-number'>46</span>
<span class='line-number'>47</span>
<span class='line-number'>48</span>
<span class='line-number'>49</span>
</pre></td><td class='code'><pre><code class='sh'><span class='line'><span class="c">#! /bin/sh</span>
</span><span class='line'>
</span><span class='line'><span class="c">### BEGIN INIT INFO</span>
</span><span class='line'><span class="c"># Provides:          unicorn</span>
</span><span class='line'><span class="c"># Required-Start:    $local_fs $remote_fs $network $syslog</span>
</span><span class='line'><span class="c"># Required-Stop:     $local_fs $remote_fs $network $syslog</span>
</span><span class='line'><span class="c"># Default-Start:     2 3 4 5</span>
</span><span class='line'><span class="c"># Default-Stop:      0 1 6</span>
</span><span class='line'><span class="c"># Short-Description: starts the unicorn web server</span>
</span><span class='line'><span class="c"># Description:       starts unicorn</span>
</span><span class='line'><span class="c">### END INIT INFO</span>
</span><span class='line'>
</span><span class='line'><span class="nv">PATH</span><span class="o">=</span>/home/deployer/.rbenv/bin:/home/deployer/.rbenv/shims:<span class="nv">$PATH</span>
</span><span class='line'><span class="nv">DAEMON</span><span class="o">=</span>/home/deployer/myapp_com/current/bin/unicorn
</span><span class='line'><span class="nv">DAEMON_OPTS</span><span class="o">=</span><span class="s2">&quot;-c /home/deployer/myapp_com/current/config/unicorn.rb -E production -D&quot;</span>
</span><span class='line'><span class="nv">NAME</span><span class="o">=</span>unicorn
</span><span class='line'><span class="nv">DESC</span><span class="o">=</span>unicorn
</span><span class='line'><span class="nv">PID</span><span class="o">=</span>/home/deployer/myapp_com/shared/pids/unicorn.pid
</span><span class='line'>
</span><span class='line'><span class="k">case</span> <span class="s2">&quot;$1&quot;</span> in
</span><span class='line'>  start<span class="o">)</span>
</span><span class='line'>  <span class="nb">echo</span> -n <span class="s2">&quot;Starting $DESC: &quot;</span>
</span><span class='line'>  <span class="nv">$DAEMON</span> <span class="nv">$DAEMON_OPTS</span>
</span><span class='line'>  <span class="nb">echo</span> <span class="s2">&quot;$NAME.&quot;</span>
</span><span class='line'>  ;;
</span><span class='line'>  stop<span class="o">)</span>
</span><span class='line'>  <span class="nb">echo</span> -n <span class="s2">&quot;Stopping $DESC: &quot;</span>
</span><span class='line'>        <span class="nb">kill</span> -QUIT <span class="sb">`</span>cat <span class="nv">$PID</span><span class="sb">`</span>
</span><span class='line'>  <span class="nb">echo</span> <span class="s2">&quot;$NAME.&quot;</span>
</span><span class='line'>  ;;
</span><span class='line'>  restart<span class="o">)</span>
</span><span class='line'>  <span class="nb">echo</span> -n <span class="s2">&quot;Restarting $DESC: &quot;</span>
</span><span class='line'>        <span class="nb">kill</span> -QUIT <span class="sb">`</span>cat <span class="nv">$PID</span><span class="sb">`</span>
</span><span class='line'>  sleep 1
</span><span class='line'>  <span class="nv">$DAEMON</span> <span class="nv">$DAEMON_OPTS</span>
</span><span class='line'>  <span class="nb">echo</span> <span class="s2">&quot;$NAME.&quot;</span>
</span><span class='line'>  ;;
</span><span class='line'>  reload<span class="o">)</span>
</span><span class='line'>        <span class="nb">echo</span> -n <span class="s2">&quot;Reloading $DESC configuration: &quot;</span>
</span><span class='line'>        <span class="nb">kill</span> -HUP <span class="sb">`</span>cat <span class="nv">$PID</span><span class="sb">`</span>
</span><span class='line'>        <span class="nb">echo</span> <span class="s2">&quot;$NAME.&quot;</span>
</span><span class='line'>        ;;
</span><span class='line'>  *<span class="o">)</span>
</span><span class='line'>  <span class="nb">echo</span> <span class="s2">&quot;Usage: $NAME {start|stop|restart|reload}&quot;</span> &gt;&amp;2
</span><span class='line'>  <span class="nb">exit </span>1
</span><span class='line'>  ;;
</span><span class='line'><span class="k">esac</span>
</span><span class='line'>
</span><span class='line'><span class="nb">exit </span>0
</span></code></pre></td></tr></table></div></figure>


<p>Make the init script executable and then start the application:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
</pre></td><td class='code'><pre><code class='sh'><span class='line'>chmod +x unicorn_myapp_com
</span><span class='line'>service unicorn_myapp_com start
</span><span class='line'>
</span><span class='line'>update-rc.d unicorn_myapp_com defaults <span class="c"># start application on server boot</span>
</span></code></pre></td></tr></table></div></figure>


<p>Provided that your application has been successfully deployed and available at <code>/home/deployer/myapp_com/current/</code> the Unicorn application should start.
If the application fails to start please make sure the PID path exists.</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='sh'><span class='line'>/home/deployer/myapp_com/shared/pids/
</span></code></pre></td></tr></table></div></figure>


<p><strong>Done!</strong></p>
]]></content>
  </entry>
  
</feed>

