<?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>I swore I wouldn&#039;t &#187; Host</title>
	<atom:link href="http://www.wontblog.com/category/host/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wontblog.com</link>
	<description>Oh no, I&#039;m blogging now?</description>
	<lastBuildDate>Wed, 23 Feb 2011 20:06:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Code Igniter was fun, sort of</title>
		<link>http://www.wontblog.com/2010/07/16/code-igniter-was-fun-sort-of/</link>
		<comments>http://www.wontblog.com/2010/07/16/code-igniter-was-fun-sort-of/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 19:03:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Host]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://www.wontblog.com/?p=57</guid>
		<description><![CDATA[My time with CodeIgniter was fun, but it&#8217;s time to switch back to Rails. I enjoyed the ability to really get in and handle some of the code the way that I preferred, but overall I found that I missed a lot of the automagical things that happen with Rails. The biggest shortcoming for me [...]]]></description>
			<content:encoded><![CDATA[<p>My time with CodeIgniter was fun, but it&#8217;s time to switch back to Rails.  I enjoyed the ability to really get in and handle some of the code the way that I preferred, but overall I found that I missed a lot of the automagical things that happen with Rails.  The biggest shortcoming for me was the lack of a real ActiveRecord model.  I might give it a shot where it seems appropriate in the future, but for now I&#8217;m going back to Rails.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wontblog.com/2010/07/16/code-igniter-was-fun-sort-of/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The change you wanted was rejected &#8211; Rails Problem</title>
		<link>http://www.wontblog.com/2010/07/15/the-change-you-wanted-was-rejected-rails-problem/</link>
		<comments>http://www.wontblog.com/2010/07/15/the-change-you-wanted-was-rejected-rails-problem/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 15:47:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Host]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://www.wontblog.com/?p=63</guid>
		<description><![CDATA[I received the error &#8220;The change you wanted was rejected&#8221; after I moved a rails app from one host to another. Looking into the log file, the following error appears: ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken): /usr/lib/ruby/1.8/mongrel/rails.rb:76:in `process' /usr/lib/ruby/1.8/mongrel/rails.rb:74:in `synchronize' /usr/lib/ruby/1.8/mongrel/rails.rb:74:in `process' /usr/lib/ruby/1.8/mongrel.rb:159:in `process_client' /usr/lib/ruby/1.8/mongrel.rb:158:in `each' /usr/lib/ruby/1.8/mongrel.rb:158:in `process_client' /usr/lib/ruby/1.8/mongrel.rb:285:in `run' /usr/lib/ruby/1.8/mongrel.rb:285:in `initialize' /usr/lib/ruby/1.8/mongrel.rb:285:in `new' /usr/lib/ruby/1.8/mongrel.rb:285:in `run' /usr/lib/ruby/1.8/mongrel.rb:268:in `initialize' /usr/lib/ruby/1.8/mongrel.rb:268:in [...]]]></description>
			<content:encoded><![CDATA[<div class="diggbutton"><script type="text/javascript">digg_url = 'http://www.wontblog.com/2010/07/15/the-change-you-wanted-was-rejected-rails-problem/';digg_title = 'The change you wanted was rejected &#8211; Rails Problem';</script><script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div>
<p><img class="alignnone" title="The change I wanted was rejected?" src="http://img.skitch.com/20100715-bk5gad84u3ts11x9b7ctdndhb6.png" alt="" width="413" height="214" /></p>
<p>I received the error &#8220;The change you wanted was rejected&#8221; after I moved a rails app from one host to another.</p>
<p>Looking into the log file, the following error appears:</p>
<p><code> </code></p>
<p><code>ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):<br />
/usr/lib/ruby/1.8/mongrel/rails.rb:76:in `process'<br />
/usr/lib/ruby/1.8/mongrel/rails.rb:74:in `synchronize'<br />
/usr/lib/ruby/1.8/mongrel/rails.rb:74:in `process'<br />
/usr/lib/ruby/1.8/mongrel.rb:159:in `process_client'<br />
/usr/lib/ruby/1.8/mongrel.rb:158:in `each'<br />
/usr/lib/ruby/1.8/mongrel.rb:158:in `process_client'<br />
/usr/lib/ruby/1.8/mongrel.rb:285:in `run'<br />
/usr/lib/ruby/1.8/mongrel.rb:285:in `initialize'<br />
/usr/lib/ruby/1.8/mongrel.rb:285:in `new'<br />
/usr/lib/ruby/1.8/mongrel.rb:285:in `run'<br />
/usr/lib/ruby/1.8/mongrel.rb:268:in `initialize'<br />
/usr/lib/ruby/1.8/mongrel.rb:268:in `new'<br />
/usr/lib/ruby/1.8/mongrel.rb:268:in `run'<br />
/usr/lib/ruby/1.8/mongrel/configurator.rb:282:in `run'<br />
/usr/lib/ruby/1.8/mongrel/configurator.rb:281:in `each'<br />
/usr/lib/ruby/1.8/mongrel/configurator.rb:281:in `run'<br />
/usr/lib/ruby/1.8/mongrel/command.rb:212:in `run'</p>
<p></code></p>
<p><code>Rendering /vol/sites/site/public/422.html (422 Unprocessable Entity)<br />
</code></p>
<p>Some further investigation revealed that there was an issue with how rails 2.3.8 was handling cookies.  I stumbled upon the following fix at https://rails.lighthouseapp.com/projects/8994/tickets/4690.</p>
<p>I used Ken Collins&#8217; fix of adding his mongrel.rb (<a href="http://gist.github.com/471663">http://gist.github.com/471663</a>) to config/initializers and now all is well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wontblog.com/2010/07/15/the-change-you-wanted-was-rejected-rails-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First Impressions of Code Igniter</title>
		<link>http://www.wontblog.com/2010/06/05/first-impressions-of-code-igniter/</link>
		<comments>http://www.wontblog.com/2010/06/05/first-impressions-of-code-igniter/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 12:28:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Host]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://www.wontblog.com/?p=56</guid>
		<description><![CDATA[Last night I was forced to start working with CodeIgniter, a PHP web-framework, and I have to say that so far I am enjoying the experience. CodeIgniter provides a simple framework that allows you to quickly get an application up and running.  The learning curve (so far) has been very low.  I like web-frameworks for [...]]]></description>
			<content:encoded><![CDATA[<p><!--digg--><br />
<img class="alignright" title="Code Igniter" src="http://img.skitch.com/20100605-xpp9a9s6win5rjkq6dwd2g93qw.jpg" alt="Code Igniter" width="288" height="220" /> Last night I was forced to start working with <a href="http://www.codeigniter.com/" target="_BLANK">CodeIgniter</a>, a PHP web-framework, and I have to say that so far I am enjoying the experience.</p>
<p>CodeIgniter provides a simple framework that allows you to quickly get an application up and running.  The learning curve (so far) has been very low.  I like web-frameworks for projects.  I have done a number of projects in Ruby on Rails, and I have dabbled in Django.  Those have been pleasant experiences, but I prefer PHP as my preferred development language for most projects due to a number of reasons (not interested in jumping into that holy war right now.)</p>
<p>Up to this point, if I wanted to use a PHP framework, my choices were Zend and CakePHP.  Zend is a monster.  I&#8217;m sorry, I know a lot of developers swear by Zend, but I&#8217;m not one of them.  Nobody &#8220;quickly&#8221; picks up Zend.  Zend is so incredibly dense/bloated/abstracted that debugging something becomes an exercise that is more time consuming than the original problem that you were trying to solve.  CakePHP felt too much like I was pretending to be Ruby on Rails, and there were so many hoops to jump through.  And it was frequently a little &#8220;too magical.&#8221;</p>
<p>After exploring these different options, I wrote my own framework that took the parts of Ruby on Rails that I enjoyed, but kept the flexibility and familiarity of PHP.  I have been using this for over a year now and it has served me well.  I was pleased to find that the structure of CodeIgniter was <em>almost identical</em> to the structure of my own framework.  This has made it a very easy switch for me.</p>
<p><span id="more-56"></span></p>
<p>The only problem that I have run into so far was briefly not understanding how to get to a GET parameter in a fashion that didn&#8217;t make me feel dirty.</p>
<p><em>Tangent about accessing GET parameters coming&#8230;</em><br />
CodeIgniter obscures the $_GET parameters by default, you can enable them within your configuration, but I am working on one page of an existing site as a favor for a friend.  The CodeIgniter documentation suggests that you retrieve the parameters based on &#8220;segments&#8221; so if you wanted to pass in</p>
<blockquote><p>http://www.mysite.com/events.php?start=25&amp;state=VA&amp;count=50</p></blockquote>
<p>CodeIgniter suggests that you would generate the url</p>
<blockquote><p>http://www.mysite.com/events/index/25/VA/50</p></blockquote>
<p>And then retrieve your parameters based on which &#8220;segment&#8221; they were.<br />
<code><br />
segment(3) =&gt; 25 // the 'start' value<br />
segment(4) =&gt; VA // the 'state' value<br />
segment(5) =&gt; 50 // the 'count' value<br />
</code><br />
This makes me cringe for many reasons.  What if, for example, the user can click a link to change the count to 25, but it defaults to 50.  Most of the time this isn&#8217;t going to happen, so would I ALWAYS assume that I&#8217;m passing in the first segment as the start param, even when it&#8217;s typically not going to be used?</p>
<p><strong>uri_to_assoc to the rescue</strong><br />
The solution to this &#8220;issue&#8221; (it&#8217;s more of my own issue than an actual problem) was the function uri_to_assoc.<br />
Using uri_to_assoc means that I could format my urls as:</p>
<blockquote><p>http://www.mysite.com/events/index/start/25/state/VA/count/50</p></blockquote>
<p>and then in my code use:<br />
<code><br />
$params = $this-&gt;uri-&gt;uri_to_assoc(3);</code></p>
<p><code> </code></p>
<p><code>/* I now have the array $params with:<br />
* $params['state'] = 'VA'<br />
* $params['state'] = 25<br />
* $params['count'] = 50<br />
*/<br />
</code><br />
This makes me much more comfortable, as it means that it doesn&#8217;t matter where in the URI that my parameters are positioned.<br />
<em>Tangent finished</em><br />
I plan to continue using CodeIgniter for a while, to see if it&#8217;s the right fit.  I have some small projects that it would likely be quite appropriate for, and it will get me out of the business of supporting my own framework.  <img src='http://www.wontblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.wontblog.com/2010/06/05/first-impressions-of-code-igniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing MySQL gem on OS X</title>
		<link>http://www.wontblog.com/2010/04/26/installing-mysql-gem-on-os-x/</link>
		<comments>http://www.wontblog.com/2010/04/26/installing-mysql-gem-on-os-x/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 15:49:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Host]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://www.wontblog.com/?p=54</guid>
		<description><![CDATA[I encountered the following error when installing the mysql gem on a shiny new Macbook Pro running OS X Leopard. Note: I have ~/.gem set as my GEM_HOME and GEM_PATH to avoid needing to sudo &#62; gem install mysql Building native extensions. This could take a while... ERROR: Error installing mysql: ERROR: Failed to build [...]]]></description>
			<content:encoded><![CDATA[<p><!--digg--><br />
<img class="alignleft" title="RoR" src="http://img.skitch.com/20100426-mugukqdh7hp8fhhy6t476u3ued.png" alt="" width="173" height="178" />I encountered the following error when installing the mysql gem on a shiny new Macbook Pro running OS X Leopard.</p>
<p><em>Note: I have ~/.gem set as my GEM_HOME and GEM_PATH to avoid needing to sudo</em></p>
<p><code><br />
&gt;  gem install mysql<br />
Building native extensions.  This could take a while...<br />
ERROR:  Error installing mysql:<br />
ERROR: Failed to build gem native extension.</code></p>
<p><code>/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb<br />
checking for mysql_query() in -lmysqlclient... no<br />
checking for main() in -lm... yes<br />
checking for mysql_query() in -lmysqlclient... no<br />
checking for main() in -lz... yes<br />
checking for mysql_query() in -lmysqlclient... no<br />
checking for main() in -lsocket... no<br />
checking for mysql_query() in -lmysqlclient... no<br />
checking for main() in -lnsl... no<br />
checking for mysql_query() in -lmysqlclient... no<br />
checking for main() in -lmygcc... no<br />
checking for mysql_query() in -lmysqlclient... no<br />
*** extconf.rb failed ***<br />
Could not create Makefile due to some reason, probably lack of<br />
necessary libraries and/or headers.  Check the mkmf.log file for more<br />
details.  You may need configuration options.<br />
</code></p>
<p>The workaround was fairly simple.  Since I had <a href="http://www.wontblog.com/2010/04/19/installing-mysql-from-source-on-os-x/">installed MySQL from source</a> the situation was resolved with a few command line options:</p>
<p><code><br />
&gt; export ARCHFLAGS="-arch x86_64"<br />
&gt; gem install mysql -- \<br />
--with-mysql-dir=/usr/local/mysql \<br />
--with-mysql-lib=/usr/local/mysql/lib \<br />
--with-mysql-include=/usr/local/mysql/include \<br />
--with-mysql-config=/usr/local/mysql/bin/mysql_config </code></p>
<p><code> </code></p>
<p><code>Building native extensions.  This could take a while...<br />
Successfully installed mysql-2.8.1<br />
1 gem installed<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wontblog.com/2010/04/26/installing-mysql-gem-on-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing MySQL from source on OS X</title>
		<link>http://www.wontblog.com/2010/04/19/installing-mysql-from-source-on-os-x/</link>
		<comments>http://www.wontblog.com/2010/04/19/installing-mysql-from-source-on-os-x/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 18:38:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Host]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.wontblog.com/?p=42</guid>
		<description><![CDATA[While MAMP has proven to be very convenient for doing local development, not having the MySQL header files around sometimes causes difficulty when it comes time to install/compile something that needs those header files to be in place. Getting Ready I always set up a src directory under my user account for these installations. &#62; [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="MySQL on OS X" src="http://img.skitch.com/20100419-crtd938d279aqnig138thifa8x.png" alt="" width="256" height="256" />While <a href="http://www.mamp.info/" target="_blank">MAMP</a> has proven to be very convenient for doing local development, not having the MySQL header files around sometimes causes difficulty when it comes time to install/compile something that needs those header files to be in place.</p>
<p><strong>Getting Ready</strong><br />
I always set up a src directory under my user account for these installations.<br />
<code><br />
&gt; cd ~<br />
&gt; mkdir src<br />
&gt; cd src<br />
</code></p>
<p><strong><span style="font-weight: normal;"> </span> </strong></p>
<p><strong>Download MySQL Community Edition</strong><br />
At the time of this writing, it could be found at http://mysql.mirrors.hoobly.com/Downloads/MySQL-5.1/mysql-5.1.45.tar.gz</p>
<p>Download this file into your src directory.<br />
<code><br />
&gt; curl -O http://mysql.mirrors.hoobly.com/Downloads/MySQL-5.1/mysql-5.1.45.tar.gz<br />
</code></p>
<p><strong>Untar, configure, and install</strong><br />
<code><br />
&gt; tar -xvzf mysql-5.1.45.tar.gz<br />
&gt; cd mysql-5.1.45<br />
&gt; ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex \<br />
--enable-thread-safe-client --enable-local-infile --enable-shared \<br />
--with-plugins=innobase</code></p>
<p><code>&gt; make<br />
&gt; sudo make install</code></p>
<p><code> </code></p>
<p><code>&gt; cd /usr/local/mysql<br />
&gt; sudo ./bin/mysql_install_db --user=mysql<br />
&gt; sudo chown -R mysql ./var<br />
&gt; cd ..<br />
</code></p>
<p><em>MAMP specific issue</em></p>
<p>Given that I had installed MAMP previously, I had modified my /etc/my.cnf to specify that the mysql.sock was located in /Applications/MAMP/tmp/mysql/mysql.sock.  I modified this line to point to /usr/local/mysql/var/mysql.sock, and then set the sticky bit on the var directory.<br />
<code><br />
&gt; chmod 1777 /usr/local/mysql/var<br />
</code></p>
<p>There are other steps that can be added so that mysqld launches on startup, but I prefer to start it manually when it is needed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wontblog.com/2010/04/19/installing-mysql-from-source-on-os-x/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dealing with a trojan virus on dreamhost</title>
		<link>http://www.wontblog.com/2010/04/18/dealing-with-a-trojan-virus-on-dreamhost/</link>
		<comments>http://www.wontblog.com/2010/04/18/dealing-with-a-trojan-virus-on-dreamhost/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 17:10:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Host]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[jerks]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.wontblog.com/?p=41</guid>
		<description><![CDATA[I host a lot of simple sites on Dreamhost.  Imagine my surprise when I went to log into my control panel and was informed that google had listed one of my sites as being a suspected malware site. The site that it referenced was a very rarely used site, that only housed a custom built [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="The anger sharks are circling" src="http://img.skitch.com/20100418-pbbujcjnmq12umy92a99a15sxk.png" alt="" width="323" height="275" />I host a lot of simple sites on Dreamhost.  Imagine my surprise when I went to log into my control panel and was informed that google had listed one of my sites as being a suspected malware site.</p>
<p>The site that it referenced was a very rarely used site, that only housed a custom built app (more of a script than an actual app) so I was puzzled as to how this site could have become infected.</p>
<p>I logged into the host, and did a quick check of the directory structure, and immediately noticed some suspicious things.<span id="more-41"></span></p>
<p><code><br />
-rw-r--r--   1 rgardner pg1704804     18716 2010-04-17 13:07 rargq.php<br />
drwxr-xr-x  13 rgardner pg1704804      4096 2010-04-17 13:07 .<br />
drwxr-xr-x   2 rgardner pg1704804     36864 2010-04-17 23:30 .files<br />
</code></p>
<p>I had never placed these here, so it was obvious that these were the culprits.  I quickly chmod&#8217;d the file so I could investigate it further, and then looked at the contents of the .files diectory.  This directory contained 692 static html files, all with the same general format/content:</p>
<p><code><br />
-rw-r--r--  1 rgardner pg1704804 10874 2010-04-17 23:17 kelly pavlik boxrec.html<br />
-rw-r--r--  1 rgardner pg1704804 11016 2010-04-17 23:17 mayhem miller twitter.html<br />
-rw-r--r--  1 rgardner pg1704804  9987 2010-04-17 23:17 the good shepherd cast.html<br />
-rw-r--r--  1 rgardner pg1704804 10456 2010-04-17 23:18 edison miranda.html<br />
-rw-r--r--  1 rgardner pg1704804 11071 2010-04-17 23:18 mayhem miller vs gsp.html<br />
-rw-r--r--  1 rgardner pg1704804 11297 2010-04-17 23:19 the good shepherd quotes.html<br />
-rw-r--r--  1 rgardner pg1704804 11949 2010-04-17 23:19 mayhem miller next fight.html<br />
-rw-r--r--  1 rgardner pg1704804 10394 2010-04-17 23:19 the good shepherd trailer.html<br />
-rw-r--r--  1 rgardner pg1704804 11427 2010-04-17 23:21 mayhem miller ninja warrior.html<br />
-rw-r--r--  1 rgardner pg1704804 10769 2010-04-17 23:21 kelly pavlik record.html<br />
-rw-r--r--  1 rgardner pg1704804  6261 2010-04-17 23:30 mayhem miller wiki.html<br />
</code></p>
<p>To identify where these were coming from, i looked at the apache access log for the time right around 2010-04-17 13:07 (the rarqp.php timestamp.)</p>
<p>I found the following lines from logs/access.log to be of interest:</p>
<p><code><br />
69.89.31.119 - - [17/Apr/2010:13:07:49 -0700] "POST /images/moselle_sorcha.php HTTP/1.1" 200 275 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.2; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)"<br />
69.89.31.119 - - [17/Apr/2010:13:07:49 -0700] "GET /rargq.php?m=test HTTP/1.1" 200 10259 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)"<br />
</code></p>
<p>Somebody had managed to place a PHP script in my images directory, and then posted to that script, which then kicked off thousands upon thousands of requests like the following:</p>
<p><code><br />
67.195.112.60 - - [17/Apr/2010:13:16:12 -0700] "GET /robots.txt HTTP/1.0" 200 305 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)"<br />
67.195.112.60 - - [17/Apr/2010:13:16:12 -0700] "GET /rargq.php?m=prom%20hairstyles%202010%20down%20dos HTTP/1.0" 200 5472 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)"<br />
67.195.112.60 - - [17/Apr/2010:13:17:02 -0700] "GET /rargq.php?m=norfolk%20island%20pine%20poisonous%20to%20cats HTTP/1.0" 200 3954 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)"<br />
67.195.112.60 - - [17/Apr/2010:13:17:08 -0700] "GET /rargq.php?m=lawrence%20wilson%20md HTTP/1.0" 200 4491 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)"<br />
67.195.112.60 - - [17/Apr/2010:13:17:17 -0700] "GET /rargq.php?m=salt%20lake%20city%20marathon%20reviews HTTP/1.0" 200 4661 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)"<br />
67.195.112.60 - - [17/Apr/2010:13:17:25 -0700] "GET /rargq.php?m=toyota.ca HTTP/1.0" 200 4470 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)"<br />
67.195.112.60 - - [17/Apr/2010:13:17:37 -0700] "GET /rargq.php?m=sweetwater%20420%20fest HTTP/1.0" 200 4029 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)"<br />
67.195.112.60 - - [17/Apr/2010:13:17:42 -0700] "GET /rargq.php?m=tx%20lottery%20live HTTP/1.0" 200 3809 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)"<br />
</code></p>
<p>I found the file and saw that it had been placed on the server several months ago:<br />
<code><br />
-rw-r--r--  1 rgardner pg1704804 28116 2009-11-26 13:09 moselle_sorcha.php<br />
</code></p>
<p>Around this time, a client that I was hosting a blog for was notified that the blog software she was using was outdated and had a known vulnerability.  Apparently, I was now a victim of her vulnerable software.</p>
<p>Interested to see if there were other scripts, I ran the following:<br />
<code><br />
&gt; find -type f -wholename "*/images/*.php" | wc -l<br />
30<br />
</code></p>
<p>This meant that there were 30 of these files that had been placed on my server.  I removed the files with another command:</p>
<p><code><br />
&gt; find -type f -wholename "*/images/*.php" -mtime -150  -exec rm  {} \;<br />
</code><br />
<small><em>I added the mtime switch to exclude some known php scripts that I wanted to exclude</em></small><br />
<strong>Morals of the story</strong></p>
<ol>
<li>People are jerks</li>
<li>Potentially vulnerable software should be quarantined to reduce the impact of situations like this</li>
<li>Access logs should be routinely analyzed to watch for things like this</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.wontblog.com/2010/04/18/dealing-with-a-trojan-virus-on-dreamhost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing django with MySQL on OS X</title>
		<link>http://www.wontblog.com/2010/04/16/installing-django-on-os-x/</link>
		<comments>http://www.wontblog.com/2010/04/16/installing-django-on-os-x/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 15:16:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Host]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[developer tools]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.wontblog.com/?p=39</guid>
		<description><![CDATA[I am experimenting with the django web-framework for a few projects at work.  I do the majority of my work in PHP or Java, but occasionally I like to play with Ruby on Rails, and decided that django deserved to have a look as well. The first step in this process is to get django [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="Installing django" src="http://img.skitch.com/20100416-qs9itxb2iftngkeduru395cm6g.png" alt="" width="279" height="211" /></p>
<p>I am experimenting with the django web-framework for a few projects at work.  I do the majority of my work in PHP or Java, but occasionally I like to play with Ruby on Rails, and decided that django deserved to have a look as well.</p>
<p>The first step in this process is to get django and the various components installed.</p>
<ul>
<li>Python</li>
<li>EasyTools</li>
<li>MySql</li>
<li>MySqlDB</li>
<li>Django</li>
</ul>
<p><strong><span id="more-39"></span>Python</strong> &#8211; I do my development from a relatively new Macbook Pro, and as such, Python 2.6.1 is already installed.  This is confirmed by typing &#8216;python&#8217; from a terminal window.</p>
<blockquote><p>&gt; python</p>
<div id="_mcePaste">Python 2.6.1 (r261:67515, Jul  7 2009, 23:51:51)</div>
<div id="_mcePaste">[GCC 4.2.1 (Apple Inc. build 5646)] on darwin</div>
<div id="_mcePaste">Type &#8220;help&#8221;, &#8220;copyright&#8221;, &#8220;credits&#8221; or &#8220;license&#8221; for more information.</div>
<div id="_mcePaste">&gt;&gt;&gt; ^D</div>
</blockquote>
<p><strong>EasyTools</strong> &#8211; Download the OS X of setup tools from <a href="http://pypi.python.org/pypi/setuptools#files">http://pypi.python.org/pypi/setuptools#files</a>, then run the .egg file as if it were an executable:</p>
<blockquote><p>sh setuptools-0.6c9-py2.4.egg</p></blockquote>
<p><strong>MySql </strong>- <span style="text-decoration: line-through;">I use MAMP (</span><a href="http://www.mamp.info" target="_blank"><span style="text-decoration: line-through;">http://www.mamp.info</span></a><span style="text-decoration: line-through;">) for my local PHP development (not sure how anybody could live without MAMP running locally.) MAMP provides a drop-in MySQL installation that I use for all of my local development purposes.  The one caveat to this is that it is not uncommon to run into scenarios where something is looking for a mysql_* executable that isn&#8217;t being found in the default location.</span></p>
<p>I previously was using MAMP for these installations, but found that at times, header files were needed for other installations, and MAMP isn&#8217;t really intended for this type of usage.  I still think MAMP is a great tool, but in this case, I needed to <a href="http://www.wontblog.com/2010/04/19/installing-mysql-from-source-on-os-x/" target="_blank">Install Mysql from source</a>.</p>
<p>Next, add the path to the mysql_* executables to your PATH.</p>
<blockquote><p>&gt; export PATH=/usr/local/mysql/bin:$PATH</p></blockquote>
<p><strong>MySqlDB</strong> &#8211; In order for python/django to be able to talk with MySQL, the MySQL DB driver needs to be installed.  This is an area that caused me a little bit of delay, as the installation of MySQL-python 1.2.3c1 was complaining about my lack of gcc.  I encountered a few posts that described how to get around this limitation with earlier versions of MySQL-python, but given that I do a lot of development, it felt like the right thing to do would be to install the Mac OSX Developer Tools.</p>
<blockquote><p>&gt; curl -O http://pypi.python.org/packages/2.6/M/MySQL-python/MySQL_python-1.2.3c1-py2.6-linux-i686.egg<br />
&gt; sudo easy_install MySQL_python-1.2.3c1-py2.6-linux-i686.egg</p></blockquote>
<p>If you receive errors about mysql, or gcc, then you need to re-visit your environment setup.</p>
<p><strong>Django</strong> &#8211; Once these pieces were in place, installing the actual django source code was trivial.</p>
<blockquote><p>&gt; svn co http://code.djangoproject.com/svn/django/trunk/ django-trunk</p></blockquote>
<p>Next, make sure that the Python interpreter can load Django&#8217;s code. There are various ways of accomplishing this. One of the most convenient, on Linux, Mac OSX or other Unix-like systems, is to use a symbolic link:</p>
<blockquote><p>&gt; ln -s `pwd`/django-trunk/django SITE-PACKAGES-DIR/django</p></blockquote>
<p><em>Finding SITE-PACKAGES-DIR</em> -<br />
To find the location of the SITE-PACKAGES-DIR on your system, execute the following command from the command line:</p>
<blockquote><p>&gt; python -c &#8220;from distutils.sysconfig import get_python_lib; print get_python_lib()&#8221;</p></blockquote>
<p><strong>Add Django commands to PATH</strong> &#8211; I find it helpful to add the django bin directory to my PATH environment variable so that I have convenient access to the framework&#8217;s various commands:</p>
<blockquote><p>&gt; export PATH=SITE-PACKAGES-DIR/django/bin:$PATH</p></blockquote>
<p><strong>Earn $$$</strong> &#8211; Now that these pieces are in place, you can create your first django project by issuing the command:</p>
<blockquote><p>&gt; django-admin.py startproject mysite</p></blockquote>
<p>Overall the installation was a snap, on par with a Ruby on Rails installation.  Over the next few weeks, I will start developing some simple django projects and write a post describing the experience.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wontblog.com/2010/04/16/installing-django-on-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alfresco installer won&#039;t launch</title>
		<link>http://www.wontblog.com/2010/03/30/alfresco-%e2%80%a2-cant-start-the-linux-community-installer-in-ubuntu-9-10-b6/</link>
		<comments>http://www.wontblog.com/2010/03/30/alfresco-%e2%80%a2-cant-start-the-linux-community-installer-in-ubuntu-9-10-b6/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 15:44:53 +0000</pubDate>
		<dc:creator>Rick</dc:creator>
				<category><![CDATA[Host]]></category>
		<category><![CDATA[alfresco]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://wontblog.com/?p=17</guid>
		<description><![CDATA[Struggled to find this answer when I installed Alfresco on our dev server.  We are running a 64 bit ubuntu installation, and when we try to launch the Alfresco installer, it does nothing.  There is no error, it doesn&#8217;t act like it&#8217;s working, nothing.  Searching around, I found the following forum that briefly mentions the [...]]]></description>
			<content:encoded><![CDATA[<div class="diggbutton"><script type="text/javascript">digg_url = 'http://www.wontblog.com/2010/03/30/alfresco-%e2%80%a2-cant-start-the-linux-community-installer-in-ubuntu-9-10-b6/';digg_title = 'Alfresco installer won&#039;t launch';</script><script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div>
<p> Struggled to find this answer when I installed Alfresco on our dev server.  We are running a 64 bit ubuntu installation, and when we try to launch the Alfresco installer, it does nothing.  There is no error, it doesn&#8217;t act like it&#8217;s working, nothing.  Searching around, I found the following forum that briefly mentions the need for <strong>ia32-libs.</strong></p>
<p><a href="http://forums.alfresco.com/en/viewtopic.php?f=8&amp;t=22346#p73637">Alfresco • View topic &#8211; Can&#8217;t start the linux community installer in Ubuntu 9.10-b6</a>.</p>
<p>&gt; sudo apt-get install ia32-libs</p>
<p>The problem is now solved.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wontblog.com/2010/03/30/alfresco-%e2%80%a2-cant-start-the-linux-community-installer-in-ubuntu-9-10-b6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I &lt;3 Capistrano</title>
		<link>http://www.wontblog.com/2009/01/04/i/</link>
		<comments>http://www.wontblog.com/2009/01/04/i/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 08:43:59 +0000</pubDate>
		<dc:creator>Rick</dc:creator>
				<category><![CDATA[Host]]></category>
		<category><![CDATA[capistrano]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ror]]></category>
		<category><![CDATA[stuff i wish i would have known about years ago]]></category>

		<guid isPermaLink="false">http://wontblog.com/?p=3</guid>
		<description><![CDATA[I first heard about Capistrano when I was starting out with Ruby on Rails development.  At the time I did almost all of my work directly on the server and didn&#8217;t really need a way to deploy my application from dev to production.  Recently, however, I got tired of doing everything through Transmit+TextMate.  (I love [...]]]></description>
			<content:encoded><![CDATA[<p>I first heard about Capistrano when I was starting out with Ruby on Rails development.  At the time I did almost all of my work directly on the server and didn&#8217;t really need a way to deploy my application from dev to production.  Recently, however, I got tired of doing everything through Transmit+TextMate.  (I love both of these projects, but prefer to take full advantage of opening projects in TextMate.)  So I started doing my development locally and figured it was time to take advantage of Capistrano.<span id="more-24"></span></p>
<p>A quick google search yields more than a few sites that can help with getting this set up.  I turned to the excellent resource on the <a title="Dreamhost Wiki" href="http://wiki.dreamhost.com/index.php/Capistrano" target="_blank">Dreamhost Wiki</a>.</p>
<p>The whole process took less than 20 minutes to get set up and running, and now I feel much better about the Rails projects that I now have leveraging this deployment strategy.</p>
<p><strong>That&#8217;s all fine and well for sheep, but what are we to do?</strong></p>
<p>After such an easy setup with my Rails projects, I immediately became envious on behalf of my PHP projects.  Another quick google search yielded a great walk through of a Capistrano recipe for php projects at <a href="http://www.lengelzigich.com/posts/how-to-php-deployment-with-capistrano">Clayton Lengel-Zigich&#8217;s blog.</a> I heartily recommend giving it a try if you have php applications to develop and you enjoy doing your dev work locally.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wontblog.com/2009/01/04/i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

