<?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>Common Media, Inc.</title>
	<atom:link href="http://www.commonmediainc.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.commonmediainc.com</link>
	<description>Online Communities and Web Development</description>
	<lastBuildDate>Fri, 19 Feb 2010 19:33:05 +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>Rejecting mail for valid local users</title>
		<link>http://www.commonmediainc.com/2010/02/19/rejecting-mail-for-valid-local-users/</link>
		<comments>http://www.commonmediainc.com/2010/02/19/rejecting-mail-for-valid-local-users/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 19:33:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[System Administration]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=153</guid>
		<description><![CDATA[Several months ago we mentioned that certain Linux distributions will, if they are running an SMTP server and accepting mail for local users, accumulate spam for &#8220;role&#8221; users who will never read their mail, e.g. mail, uucp, news, etc.
I finished by suggesting,
The best shortcut here is to bounce any email destined for the role users. [...]]]></description>
			<content:encoded><![CDATA[<p>Several months ago we mentioned that certain Linux distributions will, if they are running an SMTP server and accepting mail for local users, <a href="http://www.commonmediainc.com/2009/09/14/clean-out-role-user-mailboxes/">accumulate spam for &#8220;role&#8221; users</a> who will never read their mail, e.g. <code>mail</code>, <code>uucp</code>, <code>news</code>, etc.</p>
<p>I finished by suggesting,</p>
<blockquote><p>The best shortcut here is to bounce any email destined for the role users. This will vary depending on your MTA, so I won’t detail it here.</p></blockquote>
<p>It&#8217;s true that it varies by MTA, but it turns out it&#8217;s really hard to find this information. MTAs aren&#8217;t set up to reject mail from specific addresses; they want a specific list of valid addresses and they&#8217;ll reject everything else.</p>
<p>It turns out that there&#8217;s a faster and cleaner method which is MTA-independent: lock the mailboxes for those users.</p>
<p>This could be as simple as putting an empty file in <code>/var/spool/mail/uucp</code> (for example) which is owned by <code>root</code> with 600 permissions, but that&#8217;s going to generate a bunch of error messages when your local delivery agent tries to write to a file it doesn&#8217;t have permissions for. A more elegant solution is to symlink those paths to <code>/dev/null</code>:</p>
<pre>ln -s /dev/null /var/spool/mail/uucp</pre>
<p>Now make sure the symlink has the correct ownership&#8230;</p>
<pre>chown -h uucp:mail /var/spool/mail/uucp</pre>
<p>Now all that spam will be silently delivered to the bit-bucket.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2010/02/19/rejecting-mail-for-valid-local-users/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Client Site: TABBForum</title>
		<link>http://www.commonmediainc.com/2010/01/26/new-client-site-tabbforum/</link>
		<comments>http://www.commonmediainc.com/2010/01/26/new-client-site-tabbforum/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 19:27:50 +0000</pubDate>
		<dc:creator>noah</dc:creator>
				<category><![CDATA[Clients]]></category>
		<category><![CDATA[Deploying sites]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=138</guid>
		<description><![CDATA[If you&#8217;re interested in capital markets, check out our newest client site, Tabb Forum.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://tabbforum.com"><img class="alignright size-full wp-image-139" title="Tabb Forum" src="http://www.commonmediainc.com/blog/wp-content/uploads/2010/01/tabb-u.jpg" alt="Tabb Forum" width="73" height="73" /></a>If you&#8217;re interested in capital markets, check out our newest client site, <a href="http://tabbforum.com">Tabb Forum</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2010/01/26/new-client-site-tabbforum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Streamlining Drupal updates</title>
		<link>http://www.commonmediainc.com/2010/01/10/streamlining-drupal-updates/</link>
		<comments>http://www.commonmediainc.com/2010/01/10/streamlining-drupal-updates/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 02:05:49 +0000</pubDate>
		<dc:creator>pjmorse</dc:creator>
				<category><![CDATA[Deploying sites]]></category>
		<category><![CDATA[Drupal]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=135</guid>
		<description><![CDATA[I simplified my process for upgrading Drupal sites by moving site-specific files out of the deploy path and using symlinks.]]></description>
			<content:encoded><![CDATA[<p>We don&#8217;t run many <a href="http://drupal.org/">Drupal</a> sites, but there are enough of them. I wish the upgrade path for Drupal was as easy as <a href="http://codex.wordpress.org/Installing/Updating_WordPress_with_Subversion">Wordpress&#8217;s svn-based upgrades</a>, but I&#8217;ve borrowed some ideas from <a href="http://rubyonrails.org/">Rails</a> and <a href="http://www.capify.org/">Capistrano</a> to make my process a little quicker than it might be otherwise.</p>
<p>Each Drupal upgrade provides a zip file (unless you&#8217;re working with CVS and frankly I&#8217;d rather not). Each of our Drupal sites has its own user, and the site root lives in the home directory of that user (e.g. <code>~/public_html</code> or <code>~/www</code>.) I started by unzipping each version of Drupal independently in the home directories (e.g. <code>~/drupal-6.14</code>, <code>~/drupal-6.15</code>.) Then I would make <code>public_html</code> a symbolic link to that directory. This meant I could &#8220;flip the switch&#8221; between versions with one command:</p>
<pre>
$ rm public_html &#038;&#038; ln -s drupal-6.15 public_html
</pre>
<p>Still, I needed to copy a bunch of site-dependent files (e.g. the <code>drupal/sites/*</code> files, among others) between the old versions and the new, and that was getting tedious. So finally I created a shared directory, <code>~/shared/</code> with all the site-dependent files. This served to take those files out of the &#8220;deploy path&#8221;. Now I can use symlinks to install them in each new version in turn:</p>
<pre>
$ cd ~/drupal-6.15/sites/all/ &#038;&#038; ln -s ~/shared/sites/all/* ./
$ cd ~/drupal-6.15/sites/default &#038;&#038; ln -s ~/shared/sites/default/* ./
$ cd ~/drupal-6.15/themes &#038;&#038; ln -s ~/shared/themes/* ./
</pre>
<p>Undoubtedly someone has already scripted this stuff, but I was pretty proud of it so maybe it will be useful to someone else. (There&#8217;s always <a href="http://jystewart.net/process/2008/07/deploying-a-drupal-site-with-capistrano-2/">Deploying Drupal with Capistrano</a>, but I think that&#8217;s solving a slightly different problem.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2010/01/10/streamlining-drupal-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python package trouble? Check your python</title>
		<link>http://www.commonmediainc.com/2009/12/19/python-package-trouble-check-your-python/</link>
		<comments>http://www.commonmediainc.com/2009/12/19/python-package-trouble-check-your-python/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 20:45:36 +0000</pubDate>
		<dc:creator>pjmorse</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=133</guid>
		<description><![CDATA[This is exactly the sort of low-level stuff you&#8217;d think everyone should know, but I searched an error message today and didn&#8217;t get a useful answer. I found one, so here it is for the next searcher.
If you&#8217;re trying to build a Python package (in my case, the ReportLab toolkit), and your build fails with [...]]]></description>
			<content:encoded><![CDATA[<p>This is exactly the sort of low-level stuff you&#8217;d think everyone should know, but I searched an error message today and didn&#8217;t get a useful answer. I found one, so here it is for the next searcher.</p>
<p>If you&#8217;re trying to build a Python package (in my case, <a title="Reportlab Toolkit (in Python)" href="http://www.reportlab.org/oss/rl-toolkit/">the ReportLab toolkit</a>), and your build fails with a string of error messages starting with <code>Python.h: No such file or directory</code>, the problem is that the package includes some amount of code which is written in C. The build is trying to compile that code, and the C compiler is looking for the Python C headers, and for most Linux users (I ran in to this on an Ubuntu system) the C headers aren&#8217;t part of the core Python package. You need the <code>python-dev</code> package. Try this:</p>
<p><code>sudo apt-get install python-dev</code></p>
<p>Then try your build again; I bet it will work.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2009/12/19/python-package-trouble-check-your-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YouthBuild Providence launches!</title>
		<link>http://www.commonmediainc.com/2009/11/13/youthbuild/</link>
		<comments>http://www.commonmediainc.com/2009/11/13/youthbuild/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 14:29:39 +0000</pubDate>
		<dc:creator>noah</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Clients]]></category>
		<category><![CDATA[Site Launch]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=129</guid>
		<description><![CDATA[In conjunction with the fabulous design team at PopKitchen, we&#8217;re delighted to announce the debut of YouthBuild Providence&#8217;s brand new website!
It&#8217;s always fun to be on board from kick-off to launch, and this was no exception.
]]></description>
			<content:encoded><![CDATA[<div id="attachment_128" class="wp-caption alignleft" style="width: 310px"><a href="http://youthbuildprov.org"><img class="size-medium wp-image-128" title="YouthBuild" src="http://www.commonmediainc.com/blog/wp-content/uploads/2009/11/Picture-21-300x227.png" alt="YouthBuild Home Page" width="300" height="227" /></a><p class="wp-caption-text">YouthBuild Home Page</p></div>
<p>In conjunction with the fabulous design team at <a href="http://popkitchen.net" target="_blank">PopKitchen</a>, we&#8217;re delighted to announce the debut of YouthBuild Providence&#8217;s <a href="http://youthbuildprov.org" target="_blank">brand new website</a>!</p>
<p>It&#8217;s always fun to be on board from kick-off to launch, and this was no exception.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2009/11/13/youthbuild/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Set 3 Breakpoints at org.spring.EyeOfNewt&#8230;</title>
		<link>http://www.commonmediainc.com/2009/10/19/set-3-breakpoints-at-org-spring-eyeofnewt/</link>
		<comments>http://www.commonmediainc.com/2009/10/19/set-3-breakpoints-at-org-spring-eyeofnewt/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 19:05:28 +0000</pubDate>
		<dc:creator>rafe</dc:creator>
				<category><![CDATA[JavaEE]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[spring]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=123</guid>
		<description><![CDATA[It&#8217;s kind of a cryptic procedure, but this method really works for debugging the mysterious &#8220;SEVERE: Error listenerStart&#8221; I&#8217;ve been getting when a Spring app fails to load.
]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s kind of a cryptic procedure, but <a href="http://forum.springsource.org/showthread.php?t=27967">this method</a> really works for debugging the mysterious &#8220;SEVERE: Error listenerStart&#8221; I&#8217;ve been getting when a Spring app fails to load.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2009/10/19/set-3-breakpoints-at-org-spring-eyeofnewt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Physical addresses and SEO</title>
		<link>http://www.commonmediainc.com/2009/09/15/physical-addresses-and-seo/</link>
		<comments>http://www.commonmediainc.com/2009/09/15/physical-addresses-and-seo/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 15:09:25 +0000</pubDate>
		<dc:creator>pjmorse</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=121</guid>
		<description><![CDATA[We only have our tongue a little bit in cheek when we say if you really want to improve your search engine results, you might want to consider relocating.
By way of example, let&#8217;s consider what happens when you search for &#8220;web development&#8221; near Amherst, MA. Google Maps shows results ordered by proximity to the center [...]]]></description>
			<content:encoded><![CDATA[<p>We only have our tongue a <em>little bit</em> in cheek when we say if you really want to improve your search engine results, you might want to consider relocating.</p>
<p>By way of example, let&#8217;s consider what happens when you <a href="http://maps.google.com/maps?near=Amherst,+Massachusetts&amp;geocode=&amp;q=web+development&amp;f=l&amp;sll=42.34038,-72.496819&amp;sspn=0.183983,0.284958&amp;ie=UTF8&amp;ll=42.365393,-72.477837&amp;spn=0.088784,0.142479&amp;t=h&amp;z=13&amp;iwloc=lyrftr:w2t.106,0x89e6cdf10b70c4b1:0x91a8d3031042b4ac,42.374905,-72.511997">search for &#8220;web development&#8221; near Amherst, MA</a>. Google Maps shows results ordered by proximity to the center of town, and guess which web development company has an office closest to the center of Amherst?</p>
<p>When the Amherst College development offices move on-campus, there will be some closer-to-the-center addresses available, just in case you thought geography was irrelevant in today&#8217;s virtual world.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2009/09/15/physical-addresses-and-seo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clean out role-user mailboxes</title>
		<link>http://www.commonmediainc.com/2009/09/14/clean-out-role-user-mailboxes/</link>
		<comments>http://www.commonmediainc.com/2009/09/14/clean-out-role-user-mailboxes/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 14:11:11 +0000</pubDate>
		<dc:creator>pjmorse</dc:creator>
				<category><![CDATA[System Administration]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=119</guid>
		<description><![CDATA[I suppose the subtitle to this post could be, &#8220;why you don&#8217;t want to be a mail administrator.&#8221; The fact is, spam has made running a host which accepts email a pretty unpleasant task all around, and we strongly suggest clients we host domains for run email for that domain through Google Apps rather than [...]]]></description>
			<content:encoded><![CDATA[<p>I suppose the subtitle to this post could be, &#8220;why you don&#8217;t want to be a mail administrator.&#8221; The fact is, spam has made running a host which accepts email a pretty unpleasant task all around, and we strongly suggest clients we host domains for run email for that domain through <a href="http://www.google.com/apps/">Google Apps</a> rather than relying on POP/IMAP through our host.</p>
<p>We do still have a box which accepts incoming SMTP, though, and that means putting up with a certain amount of unsolicited commercial overhead. Every Linux box has a certain number of no-shell users set up to run daemons with limited privilege, e.g. the <code>apache</code> user. Oddly, some spammers either run the same username scans as the brute-force ssh hackers, or they think the <code>apache</code> user is actually reading its email. I found 44MB of unread email, about 5,000 messages, waiting in that inbox. <code>uucp</code> had the next biggest collection; <code>mail</code> and <code>news</code> were right up there as well.</p>
<p>That&#8217;s a lot of disk space. After a cursory glance to ensure there was nothing actually important in there, I simply used <code>sudo cp /dev/null /var/spool/mail/apache</code> to take out the trash.</p>
<p>If you are root or have appropriate <code>sudo</code> privileges, you can check another user&#8217;s mail using <code>mutt</code> or a similar command-line mail client. Just use the <code>-f</code> flag to feed mutt a mailbox path as an argument. In this case, I could check the <code>apache</code> mailbox using <code>sudo mutt -f /var/spool/mail/apache</code> . Naturally, you would want to have a talk with your company ethicist before doing this on a mailbox belonging to an actual user.</p>
<p>The best shortcut here is to bounce any email destined for the role users. This will vary depending on your MTA, so I won&#8217;t detail it here.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2009/09/14/clean-out-role-user-mailboxes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>XSL namespaces for HTML output</title>
		<link>http://www.commonmediainc.com/2009/07/15/xsl-namespaces-for-html-output/</link>
		<comments>http://www.commonmediainc.com/2009/07/15/xsl-namespaces-for-html-output/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 20:30:08 +0000</pubDate>
		<dc:creator>pjmorse</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[namespaces]]></category>
		<category><![CDATA[xhtml]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xsl]]></category>
		<category><![CDATA[xslt]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=114</guid>
		<description><![CDATA[One of our current projects involves an application where certain PHP scripts request XML from a SOAP service, then use XSL templates combined with parameters set by the PHP script to generate XHTML from that XML.  (Follow that? If not, you may be able to safely skip this.) We haven&#8217;t had to cope with setting [...]]]></description>
			<content:encoded><![CDATA[<p>One of our current projects involves an application where certain <abbr title="Hypertext PreProcessor">PHP</abbr> scripts request <abbr title="eXtensible Markup Language">XML</abbr> from a <abbr title="ahh, whatever">SOAP</abbr> service, then use <abbr title="XML Style Language">XSL</abbr> templates combined with parameters set by the PHP script to generate <abbr title="HyperText Markup Language">XHTML</abbr> from that XML.  (Follow that? If not, you may be able to safely skip this.) We haven&#8217;t had to cope with setting up this system, but we did have to update the HTML produced by the <abbr title="XSL Transformation">XSLT</abbr>, if that&#8217;s the proper verb.</p>
<p>The problem we ran in to was getting around Internet Explorer&#8217;s <a href="http://www.quirksmode.org/css/quirksmode.html">quirks mode</a>. The original XSL templates use a bare <code>xsl:output</code> tag with few options, and a bare <code>html</code> tag to start the output code as well, like this:</p>
<pre>&lt;xsl:output method="html" indent="yes"/&gt;
&lt;html&gt;</pre>
<p>This produces HTML with no document type and no <a href="http://www.xml.com/pub/a/2001/04/04/trxml/index.html">XML namespace</a>, which means IE is going to go to Quirks Mode, which we don&#8217;t want because it hurts our carefully-crafted <abbr title="Cascading Style Sheets">CSS</abbr>. We want something more like this:</p>
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;</pre>
<p>First, we tried just adding the <code>xmlns</code> attributes to our <code>html</code> tag. This didn&#8217;t really help: it added extraneous <code>xmlns=""</code> attributes to many of the child tags in the output document, which quirkified <abbr title="Internet Explorer">IE</abbr> just as much as not having the tag.</p>
<p>Solving the second part of the first problem (<a href="http://www.xml.com/pub/a/2002/09/04/xslt.html?page=2">producing a document type tag</a>) turned out to also be the solution to the second problem (extraneous <code>xmlns</code> attributes). XSLT will add a document type tag automatically if the appropriate attributes are given to the <code>xsl:output</code> tag. Specifically, we wound up with this:</p>
<pre>&lt;xsl:output method="html" indent="yes" encoding="utf-8"
    doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" /&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;</pre>
<p>Notice the bonus <code>encoding</code>, <code>doctype-public</code> and <code>doctype-system</code> attributes. That got us the <code>DOCTYPE</code> tag shown above, and bailed us out of IE Quirks Mode.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2009/07/15/xsl-namespaces-for-html-output/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Passenger, Paperclip, and Permissions (another route)</title>
		<link>http://www.commonmediainc.com/2009/06/09/passenger-paperclip-and-permissions-another-route/</link>
		<comments>http://www.commonmediainc.com/2009/06/09/passenger-paperclip-and-permissions-another-route/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 15:41:28 +0000</pubDate>
		<dc:creator>pjmorse</dc:creator>
				<category><![CDATA[Phusion Passenger]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[amazon s3]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[gems]]></category>
		<category><![CDATA[paperclip]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=112</guid>
		<description><![CDATA[We had issues with file uploads recently on a site using Paperclip to handle uploads and served with Passenger. The site worked fine in development, but in production the uploads would fail. Checking the production log showed that Paperclip was producing the following error:
[paperclip] An error was received while processing: #&#60;Paperclip::NotIdentifiedByImageMagickError: /tmp/passenger.1358/var/stream.25635.1 is not recognized [...]]]></description>
			<content:encoded><![CDATA[<p>We had issues with file uploads recently on a site using <a href="http://www.thoughtbot.com/projects/paperclip">Paperclip</a> to handle uploads and served with <a href="http://www.modrails.com">Passenger</a>. The site worked fine in development, but in production the uploads would fail. Checking the production log showed that Paperclip was producing the following error:</p>
<pre>[paperclip] An error was received while processing: #&lt;Paperclip::NotIdentifiedByImageMagickError: /tmp/passenger.1358/var/stream.25635.1 is not recognized by the 'identify' command.&gt;</pre>
<p>A web search produced <a href="http://railsforum.com/viewtopic.php?id=18627">this railsforum thread</a> with some helpful advice, specifically to set</p>
<pre>Paperclip.options[:command_path] = "/usr/local/bin"</pre>
<p>in an initializer for Paperclip. Our problem was environment-specific, though, so we put it in the <code>config/environment/production.rb</code> file instead. No luck.</p>
<p>So I checked the Apache logs to see what error Passenger was producing. It wasn&#8217;t throwing an error of its own; instead we were seeing a lot of</p>
<pre>[DEPRECATION] S3 support through RightAWS is deprecated. S3 support will be changed to AWS::S3 in a future version.</pre>
<p>&#8230;in the Apache error log. It turned out that our development boxes were all using <a href="http://amazon.rubyforge.org/">the <code>aws-s3</code> gem</a>, and the production box was still on <a href="http://rightaws.rubyforge.org/"><code>RightAWS</code></a>. When we installed <code>aws-s3</code> on the server, the problem was solved.</p>
<p>So if you&#8217;re having Passenger and Paperclip problems, make sure you&#8217;re using the right interface with s3 as part of your troubleshooting process.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2009/06/09/passenger-paperclip-and-permissions-another-route/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
