<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Synap Software comments on Making of a Web App: Part 11 - Technical Interlude</title>
    <link>http://synapsoftware.com/blogit/</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Synap Software comments</description>
    <item>
      <title>"Making of a Web App: Part 11 - Technical Interlude": comment by Barry Hess</title>
      <description>&lt;p&gt;The big problem I ran into was that I wanted to keep repositories at Dreamhost.  Seemed like a good option, with its oodles of bandwidth and space available.  Unfortunately, Dreamhost&amp;#8217;s shared environment does not allow the security necessary to automate repository creation.&lt;/p&gt;</description>
      <pubDate>Sun,  8 Jul 2007 14:51:15 EDT</pubDate>
      <guid>http://synapsoftware.com/blogit/articles/2007/07/03/making-of-a-web-app-part-11-technical-interlude#comment-569</guid>
      <link>http://synapsoftware.com/blogit/articles/2007/07/03/making-of-a-web-app-part-11-technical-interlude#comment-569</link>
    </item>
    <item>
      <title>"Making of a Web App: Part 11 - Technical Interlude": comment by Scott Meade</title>
      <description>&lt;p&gt;Barry &amp;#8211; that&amp;#8217;s right, for now.  I wanted to have a fresh start on this project and there is no one using it in &amp;#8220;production&amp;#8221; yet, so I took the easy way out by letting deprec create a new repository as well.  (But it is super easy to just create a repository somewhere else and have deprec use it.)&lt;/p&gt;


	&lt;p&gt;Other readers: With svn installed, to create a repository somewhere else is super easy:
svnadmin create  REPOS _PATH&lt;/p&gt;


	&lt;p&gt;See &lt;a href="http://svnbook.red-bean.com/en/1.0/re29.html"&gt;here&lt;/a&gt; and the svn &lt;a href="http://svnbook.red-bean.com"&gt;manual&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;To use any repository with deprec:&lt;/p&gt;


	&lt;p&gt;set :repository, &lt;em&gt;your repos&lt;/em&gt;&lt;/p&gt;</description>
      <pubDate>Sun,  8 Jul 2007 11:41:46 EDT</pubDate>
      <guid>http://synapsoftware.com/blogit/articles/2007/07/03/making-of-a-web-app-part-11-technical-interlude#comment-568</guid>
      <link>http://synapsoftware.com/blogit/articles/2007/07/03/making-of-a-web-app-part-11-technical-interlude#comment-568</link>
    </item>
    <item>
      <title>"Making of a Web App: Part 11 - Technical Interlude": comment by Barry Hess</title>
      <description>&lt;p&gt;Judging by the commands you are executing, I take it you&amp;#8217;re not too concerned about keeping your repositories and apps on the same server?&lt;/p&gt;</description>
      <pubDate>Sun,  8 Jul 2007 11:14:20 EDT</pubDate>
      <guid>http://synapsoftware.com/blogit/articles/2007/07/03/making-of-a-web-app-part-11-technical-interlude#comment-567</guid>
      <link>http://synapsoftware.com/blogit/articles/2007/07/03/making-of-a-web-app-part-11-technical-interlude#comment-567</link>
    </item>
    <item>
      <title>"Making of a Web App: Part 11 - Technical Interlude": comment by Scott Meade</title>
      <description>&lt;p&gt;Barry,&lt;/p&gt;


	&lt;p&gt;Like you, I basically followed the Slicehost &lt;a href="http://wiki.slicehost.com/doku.php?id=automated_rails_install_and_deployment_with_deprec_capistrano"&gt;wiki&lt;/a&gt; entry for using deprec to install the full Rails stack.  I changed a couple steps based on updates at the &lt;a href="http://www.deprec.org/trac.cgi/wiki/DeprecSvnTrac"&gt;deprec&lt;/a&gt; site.  For example, there are these new handy commands:&lt;/p&gt;


	&lt;p&gt;cap install_rails_stack svn_install trac_install&lt;/p&gt;


	&lt;p&gt;cap svn_setup&lt;/p&gt;


	&lt;p&gt;cap trac_setup&lt;/p&gt;


	&lt;p&gt;cap trac_start&lt;/p&gt;


	&lt;p&gt;I also found that I needed to make sure to have the Rails gems as part of my project (i.e. needed to freeze Rails) or the migrations would fail.&lt;/p&gt;


	&lt;p&gt;scott-meades-computer:~/rails/new_app smeade$ rake rails:freeze:gems&lt;/p&gt;</description>
      <pubDate>Wed,  4 Jul 2007 10:02:56 EDT</pubDate>
      <guid>http://synapsoftware.com/blogit/articles/2007/07/03/making-of-a-web-app-part-11-technical-interlude#comment-566</guid>
      <link>http://synapsoftware.com/blogit/articles/2007/07/03/making-of-a-web-app-part-11-technical-interlude#comment-566</link>
    </item>
    <item>
      <title>"Making of a Web App: Part 11 - Technical Interlude": comment by Barry Hess</title>
      <description>&lt;p&gt;Scott,&lt;/p&gt;


	&lt;p&gt;Interesting to see you&amp;#8217;re using Slicehost.  I&amp;#8217;m in the process of moving some apps over to Slicehost as well.  My biggest decision point right now is whether I should bring the  SVN  archives over to Slicehost.  Currently they are on Dreamhost, but there are hurdles at Dreamhost that don&amp;#8217;t allow quite the automation that I&amp;#8217;d like.&lt;/p&gt;


	&lt;p&gt;While I&amp;#8217;m concerned about putting everything on the same box/with the same host, I&amp;#8217;m leaning toward going full-on with Slicehost.  If I become more successful, I can always dedicate a slice just to  SVN  and other low-level things.  And I&amp;#8217;ll have things backed up locally just in case.&lt;/p&gt;


	&lt;p&gt;I more or less followed the &lt;a href="http://wiki.slicehost.com/doku.php?id=automated_rails_install_and_deployment_with_deprec_capistrano"&gt;wiki&lt;/a&gt; for setup.  Not being a server guru, it took a bit of time for me to get out of my own way.  But I think I have things down reasonably well now.  It wouldn&amp;#8217;t hurt to see what you&amp;#8217;ve done, though&amp;#8230;&lt;/p&gt;</description>
      <pubDate>Wed,  4 Jul 2007 01:04:44 EDT</pubDate>
      <guid>http://synapsoftware.com/blogit/articles/2007/07/03/making-of-a-web-app-part-11-technical-interlude#comment-565</guid>
      <link>http://synapsoftware.com/blogit/articles/2007/07/03/making-of-a-web-app-part-11-technical-interlude#comment-565</link>
    </item>
    <item>
      <title>"Making of a Web App: Part 11 - Technical Interlude": comment by Scott Meade</title>
      <description>&lt;p&gt;Nathan &amp;#8211; I&amp;#8217;ll email them to you.  I&amp;#8217;ll also post them here as a followon comment.&lt;/p&gt;</description>
      <pubDate>Wed,  4 Jul 2007 00:57:02 EDT</pubDate>
      <guid>http://synapsoftware.com/blogit/articles/2007/07/03/making-of-a-web-app-part-11-technical-interlude#comment-564</guid>
      <link>http://synapsoftware.com/blogit/articles/2007/07/03/making-of-a-web-app-part-11-technical-interlude#comment-564</link>
    </item>
    <item>
      <title>"Making of a Web App: Part 11 - Technical Interlude": comment by nathanc</title>
      <description>&lt;p&gt;I would like your step by step for setting up on slice host please. nathanclark80@gmail.com&lt;/p&gt;</description>
      <pubDate>Tue,  3 Jul 2007 23:29:33 EDT</pubDate>
      <guid>http://synapsoftware.com/blogit/articles/2007/07/03/making-of-a-web-app-part-11-technical-interlude#comment-563</guid>
      <link>http://synapsoftware.com/blogit/articles/2007/07/03/making-of-a-web-app-part-11-technical-interlude#comment-563</link>
    </item>
    <item>
      <title>"Making of a Web App: Part 11 - Technical Interlude" by smeade</title>
      <description>&lt;p&gt;For people with an interest in the technical side of &lt;a href="http://synapsoftware.com/blogit/articles/2007/06/06/making-of-a-web-app-introduction"&gt;the project&lt;/a&gt;, here are notes on the configuration of our development, test, and production environments.&lt;/p&gt;


	&lt;p&gt;For those who couldn&amp;#8217;t care less if &lt;a href="http://playbookiq.com"&gt;PlaybookIQ&lt;/a&gt; is powered by mongrels or mice &amp;#8211; don&amp;#8217;t run away yet. Later this week, I will have the beginnings of actual product on the &amp;#8220;production&amp;#8221; server where anyone interested can follow along in real-time as updates are made throughout each development day.  I would love ongoing feedback from the &amp;#8220;live&amp;#8221; site.  Stay tuned because some real stuff is starting to happen.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Environments and Tools&lt;/b&gt;&lt;/p&gt;


	&lt;p&gt;My environments look like this:&lt;/p&gt;


Development and Testing Platform
	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.apple.com/macbookpro/"&gt;MacBook Pro&lt;/a&gt; running &lt;a href="http://www.apple.com/macosx/leopard/"&gt;&lt;span class="caps"&gt;OS X&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://macromates.com/"&gt;TextMate&lt;/a&gt; editor&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.ruby-lang.org/en/"&gt;Ruby v1.8.6&lt;/a&gt; programming language&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.rubyonrails.org/"&gt;Ruby on Rails&lt;/a&gt; v1.2.2 open source web framework&lt;/li&gt;
		&lt;li&gt;&lt;a href=" com=""&gt;mySQL&lt;/a&gt; open source database&lt;/li&gt;
		&lt;li&gt;web-brick web server&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt; version control system&lt;/li&gt;
		&lt;li&gt;net-ssh for password-less connectivity to remote server&lt;/li&gt;
		&lt;li&gt;Dreamweaver and Fireworks for working with html and graphics&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://macrabbit.com/cssedit/"&gt;CSSEdit&lt;/a&gt; for working with .css&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://manuals.rubyonrails.com/read/book/17"&gt;Capistrano&lt;/a&gt; to automate deployment&lt;/li&gt;
		&lt;li&gt;a few other little goodies&lt;/li&gt;
	&lt;/ul&gt;


Remote Host
	&lt;ul&gt;
	&lt;li&gt;&lt;span class="caps"&gt;VPS&lt;/span&gt; slices at &lt;a href="http://slicehost.com/"&gt;Slicehost.com&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt; Unix&lt;/li&gt;
		&lt;li&gt;Rails v1.2.2&lt;/li&gt;
		&lt;li&gt;mySQL database&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://httpd.apache.org/"&gt;Apache2&lt;/a&gt; web server&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://mongrel.rubyforge.org/"&gt;mongrel&lt;/a&gt; cluster as an http load balancer&lt;/li&gt;
		&lt;li&gt;svn server for source code control&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://trac.edgewall.org/"&gt;trac&lt;/a&gt; for project management and source code management&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;The local environment setup was actually done some time ago.  The great news for Mac fans is that when &lt;span class="caps"&gt;OS X &lt;/span&gt;Leopard is released in October you will be able to write and deploy Rails apps &amp;#8220;out of the box&amp;#8221; with Rails, Mongrel and Capistrano pre-bundled into &lt;span class="caps"&gt;OS X 10&lt;/span&gt;.5.  Awesome.&lt;/p&gt;


	&lt;p&gt;&lt;b&gt;Deprec&lt;/b&gt;&lt;/p&gt;


	&lt;p&gt;Once the local install of Ruby and Rails was complete, the rest was easily configured and deployed using &lt;a href="http://www.deprec.org/"&gt;deprec&lt;/a&gt;, deployment recipes for Capistrano.  I first read through the info from the deprec &lt;a href="http://trac.deprecated.org/"&gt;site&lt;/a&gt;, then followed a combination of instructions from &lt;a href="http://wiki.slicehost.com/doku.php?id=automated_rails_install_and_deployment_with_deprec_capistrano"&gt;here&lt;/a&gt;, &lt;a href="http://topfunky.com/clients/peepcode/free-episodes/peepcode-free-deprec.mov"&gt;here&lt;/a&gt;, and &lt;a href="http://www.deprec.org/trac.cgi/wiki/DeprecSvnTrac"&gt;here&lt;/a&gt; and now can easily deploy updates using these few commands and without manually logging into the server.&lt;/p&gt;


&lt;pre&gt;
&lt;code&gt;
svn commit -m 'new update'
cap disable_web
cap deploy_with_migrations
cap enable_web
&lt;/code&gt;
&lt;/pre&gt;

	&lt;p&gt;Anyone running Rails on &lt;a href="http://slicehost.com"&gt;Slicehost&lt;/a&gt;, drop me a line and I can send you the step-by-step details of what worked for me to get the complete stack setup with deprec.&lt;/p&gt;


	&lt;p&gt;&lt;b&gt;&lt;span class="caps"&gt;SSL&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;


	&lt;p&gt;All PlaybookIQ users will have &lt;span class="caps"&gt;SSL&lt;/span&gt;, so I wanted to get that built out from the start so that all code would handle it properly.  While the setup of all other components was straightforward thanks to deprec, configuring Apache, mongrel, and the Rails app to use &lt;span class="caps"&gt;SSL&lt;/span&gt; took way too much time.  The key to anyone looking to use &lt;span class="caps"&gt;SSL&lt;/span&gt; with Apache is to understand VirtualHosts.  More details on the exact steps I took to deploy &lt;span class="caps"&gt;SSL&lt;/span&gt; on Rails and Apache will be in a future post.&lt;/p&gt;</description>
      <pubDate>Tue,  3 Jul 2007 19:03:00 EDT</pubDate>
      <guid>&lt;a href="/blogit/articles/2007/07/03/making-of-a-web-app-part-11-technical-interlude"&gt;Making of a Web App: Part 11 - Technical Interlude&lt;/a&gt;</guid>
      <link>&lt;a href="/blogit/articles/2007/07/03/making-of-a-web-app-part-11-technical-interlude"&gt;Making of a Web App: Part 11 - Technical Interlude&lt;/a&gt;</link>
    </item>
  </channel>
</rss>
