<?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>ScottSchulz.us &#187; Computers</title>
	<atom:link href="http://scottschulz.us/category/computers/feed/" rel="self" type="application/rss+xml" />
	<link>http://scottschulz.us</link>
	<description>One Geek, One Adventure</description>
	<lastBuildDate>Sun, 13 Jun 2010 19:09:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<atom:link rel='hub' href='http://scottschulz.us/?pushpress=hub'/>
		<item>
		<title>Ubuntu: Ten Minute Apache mod_authn_yubikey Install</title>
		<link>http://scottschulz.us/2009/09/18/ubuntu-ten-minute-apache-mod_authn_yubikey-install/</link>
		<comments>http://scottschulz.us/2009/09/18/ubuntu-ten-minute-apache-mod_authn_yubikey-install/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 01:56:23 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://scottschulz.us/?p=401</guid>
		<description><![CDATA[
The YubiKey, from Yubico is a small USB device which is about the size of a small flash drive, and which emits OTP strings when the button is depressed.   The device can also be reprogrammed to offer static passwords and the new 2.0 version has a very handy management application available.  The device is compatible [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.yubico.com"><img title="YubiKey 2.0" src="http://s3.scottschulz.us/images/YubiKey_2.0_black_small.jpg" alt="YubiKey" width="100" height="80" align="right" /></a></p>
<p>The YubiKey, from <a title="Yubico" href="http://www.yubico.com/" target="_blank">Yubico</a> is a small USB device which is about the size of a small flash drive, and which emits OTP strings when the button is depressed.   The device can also be reprogrammed to offer static passwords and the new 2.0 version has a very handy management application available.  The device is compatible with most recent *nix and Solaris installations, as well as MacOS and Windows.</p>
<p>Since receiving mine, I have tested it via several available PHP implementations, and other interfaces, e.g. the Wordpress plugin and the <a title="LastPass" href="http://www.lastpass.com" target="_blank">LastPass</a> integration.  Last night, I found a <a title="mod_authn_yubikey" href="http://mod_authn_yubikey.coffeecrew.org/" target="_blank">site</a> which offers an <a title="Apache HTTP Server" href="http://httpd.apache.org/" target="_blank">Apache HTTP Server</a> module for use with the usual Basic authentication.  Since I wanted to use it on a production server without build tools installed, I first compiled it on a test server, and then copied the necessary files to the production box.  The following are the steps I used to build and enable it.</p>
<p>Install the prerequisites (assuming build-essential is already installed)</p>
<div id="wpshdo_1" class="wp-synhighlighter-outer"><div id="wpshdt_1" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_1"></a><a id="wpshat_1" class="wp-synhighlighter-title" href="#codesyntax_1"  onClick="javascript:wpsh_toggleBlock(1)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_1" onClick="javascript:wpsh_code(1)" title="Show code only"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_1" onClick="javascript:wpsh_print(1)" title="Print code"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://scottschulz.us/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_1" class="wp-synhighlighter-inner" style="display: block;"><pre class="bash" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> apache2-threaded-dev libcurl3 libcurl4-openssl-dev</div></li></ol></pre></div></div>
<p>Download, unpack and build:</p>
<div id="wpshdo_2" class="wp-synhighlighter-outer"><div id="wpshdt_2" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_2"></a><a id="wpshat_2" class="wp-synhighlighter-title" href="#codesyntax_2"  onClick="javascript:wpsh_toggleBlock(2)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_2" onClick="javascript:wpsh_code(2)" title="Show code only"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_2" onClick="javascript:wpsh_print(2)" title="Print code"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://scottschulz.us/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_2" class="wp-synhighlighter-inner" style="display: block;"><pre class="bash" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">$ <span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>mod_authn_yubikey.coffeecrew.org<span style="color: #000000; font-weight: bold;">/</span>authn_yubikey.tar.bz2</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">$ <span style="color: #c20cb9; font-weight: bold;">tar</span> jxf authn_yubikey.tar.bz2</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">$ <span style="color: #7a0874; font-weight: bold;">cd</span> authn_yubikey<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">$ apxs2 \</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">-DYK_PACKAGE=\\<span style="color: #000000; font-weight: bold;">\&quot;</span>mod_authn_yubikey\\<span style="color: #000000; font-weight: bold;">\&quot;</span> \</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">-DYK_PACKAGE_VERSION=\\<span style="color: #000000; font-weight: bold;">\&quot;</span><span style="color: #000000;">0.1</span>\\<span style="color: #000000; font-weight: bold;">\&quot;</span> \</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">-I. <span style="color: #660033;">-Wc</span> <span style="color: #660033;">-c</span> <span style="color: #660033;">-lcurl</span> mod_authn_yubikey.c libykclient.c libykclient.slo mod_authn_yubikey.slo</div></li></ol></pre></div></div>
<p>If all has gone according to plan, the module object now exists in the .lib (dot lib) directory.  If necessary, scp it to your server and continue.</p>
<p>Note: The following layouts are based on an Ubuntu installation, you may need to put the library where your system expects to find it.</p>
<p>Copy module to required directory:</p>
<div id="wpshdo_3" class="wp-synhighlighter-outer"><div id="wpshdt_3" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_3"></a><a id="wpshat_3" class="wp-synhighlighter-title" href="#codesyntax_3"  onClick="javascript:wpsh_toggleBlock(3)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_3" onClick="javascript:wpsh_code(3)" title="Show code only"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_3" onClick="javascript:wpsh_print(3)" title="Print code"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://scottschulz.us/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_3" class="wp-synhighlighter-inner" style="display: block;"><pre class="bash" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">cp</span> .lib<span style="color: #000000; font-weight: bold;">/</span>mod_authn_yubikey.so <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span></div></li></ol></pre></div></div>
<p>Create the basic files to allow the module to be enabled/disabled using the normal Ubuntu functionality:</p>
<p>Module load file (/etc/apache2/mods-available/authn_yubikey.load)</p>
<div id="wpshdo_4" class="wp-synhighlighter-outer"><div id="wpshdt_4" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_4"></a><a id="wpshat_4" class="wp-synhighlighter-title" href="#codesyntax_4"  onClick="javascript:wpsh_toggleBlock(4)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_4" onClick="javascript:wpsh_code(4)" title="Show code only"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_4" onClick="javascript:wpsh_print(4)" title="Print code"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://scottschulz.us/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_4" class="wp-synhighlighter-inner" style="display: block;"><pre class="apache" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #adadad; font-style: italic;"># /etc/apache2/mods-available/authn_yubikey.load</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #00007f;">LoadFile</span> /usr/lib/libcurl.so.4</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #00007f;">LoadModule</span> authn_yubikey_module /usr/lib/apache2/modules/mod_authn_yubikey.so</div></li></ol></pre></div></div>
<p>Basic module config file:</p>
<div id="wpshdo_5" class="wp-synhighlighter-outer"><div id="wpshdt_5" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_5"></a><a id="wpshat_5" class="wp-synhighlighter-title" href="#codesyntax_5"  onClick="javascript:wpsh_toggleBlock(5)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_5" onClick="javascript:wpsh_code(5)" title="Show code only"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_5" onClick="javascript:wpsh_print(5)" title="Print code"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://scottschulz.us/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_5" class="wp-synhighlighter-inner" style="display: block;"><pre class="apache" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #adadad; font-style: italic;"># /etc/apache2/mods-available/modules/authn_yubikey.conf</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;<span style="color: #000000; font-weight:bold;">IfModule</span> mod_authn_yubikey.c&gt;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">AuthYubiKeyRequireSecure <span style="color: #0000ff;">Off</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;/<span style="color: #000000; font-weight:bold;">IfModule</span>&gt;</div></li></ol></pre></div></div>
<p>Since this module works in a similar manner to the standard Apache Auth packages, create a htpasswd file, adding a user with key id &#8216;abcdeffedcba&#8217; (first 12 characters emitted by the YubiKey), username &#8216;jsmith&#8217; and password &#8216;mypass&#8217;.  The &#8216;-s&#8217; uses SHA instead of crypt():</p>
<div id="wpshdo_6" class="wp-synhighlighter-outer"><div id="wpshdt_6" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_6"></a><a id="wpshat_6" class="wp-synhighlighter-title" href="#codesyntax_6"  onClick="javascript:wpsh_toggleBlock(6)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_6" onClick="javascript:wpsh_code(6)" title="Show code only"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_6" onClick="javascript:wpsh_print(6)" title="Print code"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://scottschulz.us/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_6" class="wp-synhighlighter-inner" style="display: block;"><pre class="bash" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">$ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">$ <span style="color: #c20cb9; font-weight: bold;">mkdir</span> conf</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">$ <span style="color: #7a0874; font-weight: bold;">cd</span> conf</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">$ htpasswd <span style="color: #660033;">-csb</span> conf<span style="color: #000000; font-weight: bold;">/</span>ykUserDb abcdeffedcba jsmith:mypass</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">$ <span style="color: #c20cb9; font-weight: bold;">touch</span> conf<span style="color: #000000; font-weight: bold;">/</span>ykTmpDb <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">chown</span> www-data conf<span style="color: #000000; font-weight: bold;">/</span>ykTmpDb</div></li></ol></pre></div></div>
<p>Now just pick a directory or location to protect, and add a basic config section to the appropriate Apache config file:</p>
<div id="wpshdo_7" class="wp-synhighlighter-outer"><div id="wpshdt_7" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_7"></a><a id="wpshat_7" class="wp-synhighlighter-title" href="#codesyntax_7"  onClick="javascript:wpsh_toggleBlock(7)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_7" onClick="javascript:wpsh_code(7)" title="Show code only"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_7" onClick="javascript:wpsh_print(7)" title="Print code"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://scottschulz.us/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_7" class="wp-synhighlighter-inner" style="display: block;"><pre class="apache" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;<span style="color: #000000; font-weight:bold;">Location</span> /supersekret&gt;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #00007f;">AuthType</span> Basic</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #00007f;">AuthBasicProvider</span> yubikey</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #00007f;">AuthName</span> <span style="color: #7f007f;">&quot;Please log in using your YubiKey&quot;</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">AuthYubiKeyTimeout 30</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">AuthYubiKeyTmpFile conf/ykTmpDb</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">AuthYubiKeyUserFile conf/ykUserDb</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">AuthYubiKeyRequireSecure <span style="color: #0000ff;">On</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">AuthYubiKeyExternalErrorPage <span style="color: #0000ff;">Off</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #00007f;">Require</span> valid-<span style="color: #00007f;">user</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;/<span style="color: #000000; font-weight:bold;">Location</span>&gt;</div></li></ol></pre></div></div>
<p>Note: The &#8216;AuthYubiKeyRequireSecure On&#8217; ensures the only SSL (https) connections are allowed.  Turn that off to use standard http.</p>
<p>That&#8217;s it, now just enable the module and restart Apache:</p>
<div id="wpshdo_8" class="wp-synhighlighter-outer"><div id="wpshdt_8" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_8"></a><a id="wpshat_8" class="wp-synhighlighter-title" href="#codesyntax_8"  onClick="javascript:wpsh_toggleBlock(8)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_8" onClick="javascript:wpsh_code(8)" title="Show code only"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_8" onClick="javascript:wpsh_print(8)" title="Print code"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://scottschulz.us/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://scottschulz.us/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_8" class="wp-synhighlighter-inner" style="display: block;"><pre class="bash" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> a2enmod authn_yubikey</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>apache2 restart</div></li></ol></pre></div></div>
<p>For additional information regarding the use and configuration of the module, please check the the mod_authn_yubikey website &#8211; <a href="http://mod_authn_yubikey.coffeecrew.org/">http://mod_authn_yubikey.coffeecrew.org/</a>.</p>
<p>Many thanks to Jens Frey, the author of the plugin for his quick response to my request for clarification on a few points.</p>
]]></content:encoded>
			<wfw:commentRss>http://scottschulz.us/2009/09/18/ubuntu-ten-minute-apache-mod_authn_yubikey-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter + ttytter + perl + Prowl = iPhone Push Goodness</title>
		<link>http://scottschulz.us/2009/08/01/twitter-ttytter-perl-prowl-iphone-push-goodness/</link>
		<comments>http://scottschulz.us/2009/08/01/twitter-ttytter-perl-prowl-iphone-push-goodness/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 16:54:52 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://scottschulz.us/?p=381</guid>
		<description><![CDATA[Version 3.0 of the Apple iPhone OS now allows push notifications.  However, for security reasons (presumably), Apple requires that push notifications must flow through their server, and are only allowed to be delivered to native applications.  
Prowl is a new application which allows notifications to be pushed to the iPhone from applications like Growl for [...]]]></description>
			<content:encoded><![CDATA[<p>Version 3.0 of the <a title="Apple" href="http://www.apple.com">Apple</a> iPhone OS now allows push notifications.  However, for security reasons (presumably), Apple requires that push notifications must flow through their server, and are only allowed to be delivered to native applications.  <a title="Prowl" href="http://prowl.weks.net/"></a></p>
<p><a title="Prowl" href="http://prowl.weks.net/">Prowl</a> is a new application which allows notifications to be pushed to the iPhone from applications like Growl for <a title="Growl for Windows" href="http://www.growlforwindows.com/">Windows</a> or <a title="Growl for Macintosh" href="http://growl.info/">Macs</a>.  Fortunately, the developer has also implemented an API so that one can easily submit push notifications from virtually any programming language which is able to talk to it via the web.</p>
<p>So what?  Well, as I am a big fan of Twitter, I follow enough people that I am often unable to keep up with the flow of tweets.  I had resorted to following the most important posters via RSS, but now I am able to follow their accounts and have any posts they submit pushed to my iPhone as a notification.</p>
<p><span id="more-381"></span></p>
<p><span style="text-decoration: underline;">Requirements</span></p>
<ol>
<li>The Prowl application for the iPhone</li>
<li>The <a title="ttytter" href="http://www.floodgap.com/software/ttytter/">ttytter</a> Twitter client, which runs anywhere Perl does (requires LWP::UserAgent)</li>
<li>A <a title="Twitter" href="http://www.twitter.com">Twitter</a> account &#8211; I use a secondary account which follows only those people from whom I want to receive push notifications</li>
<li>The perl script linked below, or one of your creation</li>
</ol>
<p><span style="text-decoration: underline;">Setup</span></p>
<p>As this uses Prowl, you must purchase that application and download it to your iPhone.  After installation, you can go to the Prowl website, log into your account, and grab a copy of your API key which will allow the script to post notifications to your phone.  As written, the script expects to find that API key in a file called <strong><em>.prowlkey</em></strong> in your <strong><em>home</em></strong> directory.  If you keep it somewhere else, edit the path on Line 27 of the script:</p>
<p>[cce]<br />
if (open(APIKEYFILE, $ENV{&#8216;HOME&#8217;} . &#8220;/.prowlkey&#8221;)) {<br />
[/cce]</p>
<p>Next, you must download and configure the ttytter Twitter client.  Usually, this is just a matter of creating a <em><strong>.ttytterrc</strong></em> file in your home directory.  Note, that if you configure it to use your primary Twitter account, it will forward every tweet you see to your iPhone.  For this reason, I created a secondary Twitter account and followed only a select few people.  Make sure you test this before continuing.</p>
<p>If ttytter is running as expected, Perl is properly installed, so the last prerequisite is to ensure that the Perl module LWP::UserAgent is installed.  From the command line, type or paste the following line.</p>
<p>[cce]perl -e &#8216;use LWP::UserAgent&#8217;[/cce]</p>
<p>If it simply returns a command prompt, your are set.  If you receive an error, then either use your distributions package manager or <a title="CPAN" href="http://www.cpan.org">CPAN</a> to install the libwww-perl module.</p>
<p>The last step is to copy the script to your computer.  You can view and copy the source code <a title="ttytter-prowl.pl" href="http://fearnaught.org/code/?q=ttytter-prowl">here</a> or download it directly from <a title="Direct Link" href="http://fearnaught.org/code/ttytter-prowl.pl">here</a>.  Put the script somewhere accessible to the ttytter application.  I placed both in $HOME/bin and simply named it ttytter-prowl.pl.</p>
<p><span style="text-decoration: underline;">Running</span></p>
<p>Now, to get everything working, simply start ttytter with the -lib=path/to/twitter-prowl.pl (and possibly the -daemon) arguments.  Using -lib will tell ttytter to process that script for each received tweet.  The -daemon argument tells ttytter to fork into the background and run as a daemon.  I tend to run mine in screen so I can check on it, but I intend to move it to daemon mode.</p>
<p>[cc lang="bash"]$ ttytter -lib=ttytter-prowl.pl[/cc]<br />
If everything has gone according to plan, you should soon start receiving tweets on your iPhone as pushes.</p>
<div id="attachment_398" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-398" title="Prowl" src="http://scottschulz.us/wp-content/uploads/2009/08/photo.jpg" alt="Sample Prowl Notification" width="320" height="480" /><p class="wp-caption-text">Sample Prowl Notification</p></div>
]]></content:encoded>
			<wfw:commentRss>http://scottschulz.us/2009/08/01/twitter-ttytter-perl-prowl-iphone-push-goodness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPv6 Difficulties</title>
		<link>http://scottschulz.us/2008/12/07/ipv6-difficulties/</link>
		<comments>http://scottschulz.us/2008/12/07/ipv6-difficulties/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 18:49:02 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[networking]]></category>

		<guid isPermaLink="false">http://scottschulz.us/?p=377</guid>
		<description><![CDATA[Until my VMware server machine crashed, I had a pair of IPv6 tunnels running for many months out of a pair of virtual machines.  One was Ubuntu Hardy with a tunnel to Sixxs.net, the other an OpenBSD machine with a tunnel to Hurricane Electric&#8217;s Tunnelbroker service.
Wanting to get back into the IPv6 address space, I [...]]]></description>
			<content:encoded><![CDATA[<p>Until my VMware server machine crashed, I had a pair of IPv6 tunnels running for many months out of a pair of virtual machines.  One was <a title="Ubuntu Linux" href="http://www.ubuntu.com" target="_blank">Ubuntu</a> Hardy with a tunnel to <a title="Sixxs " href="http://www.sixxs.net" target="_blank">Sixxs.net</a>, the other an <a title="OpenBSD" href="http://www.openbsd.org/" target="_blank">OpenBSD</a> machine with a tunnel to <a title="Hurrican Electric" href="http://www.he.net" target="_blank">Hurricane Electric</a>&#8217;s <a title="Hurricane Electric Tunnelbroker Service" href="http://www.tunnelbroker.net" target="_blank">Tunnelbroker</a> service.</p>
<p>Wanting to get back into the IPv6 address space, I installed the aiccu client on another server and configured it for my Sixxs tunnel.  This worked out of the box, but within about 36 hours it stopped working.  Most frustrating was the lack of any errors in any logs and restarting the service had no effect.  The tunnel interface was created with the correct IP, route showed all the correct routes, and I could ping the IPv4 address of my assigned PoP (uschi02).  Then, strangely, about two hours later things started working again.  Until this morning&#8230;</p>
<p>I awoke to find that the tunnel had again dropped overnight, and as before, nothing I do seems to be able to get the tunnel working again.  The Sixxs website indicates that the PoP is up and talking to other PoPs.</p>
<p>So, since I also have a tunnel from Hurricane, I gave another machine a static IP and added the necessary information to /etc/network/interfaces:</p>
<blockquote><pre>#  Hurrican Electric IPv6 Tunnel
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
endpoint &lt;your_assigned_IPv4_server_endpoint&gt;
address &lt;local_IPv6_tunnel_endpoint&gt;
netmask 64
mtu 1480
up ip -6 route add 2000::/3 dev he-ipv6</pre>
</blockquote>
<p>From this point, I restarted the network service:</p>
<blockquote><pre>sudo /etc/init.d/networking restart</pre>
</blockquote>
<p>et voila!  The tunnel was up and pingable.  So I guess I will stick with the HE service for now, though if anyone has any ideas as to what the issue with Sixxs might be (when using Ubuntu Intrepid and aiccu / AYIYA), please let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://scottschulz.us/2008/12/07/ipv6-difficulties/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ubuntu Hardy: The 10 Minute git Install</title>
		<link>http://scottschulz.us/2008/06/07/ubuntu-hardy-the-10-minute-git-install/</link>
		<comments>http://scottschulz.us/2008/06/07/ubuntu-hardy-the-10-minute-git-install/#comments</comments>
		<pubDate>Sat, 07 Jun 2008 04:05:21 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[scm]]></category>

		<guid isPermaLink="false">http://scottschulz.us/?p=361</guid>
		<description><![CDATA[Since updating my laptop to Hardy Heron I had not yet installed an update git, so I thought it would be a good time for that:
Install the usual prerequisites:
sudo apt-get install curl libcurl4-openssl-dev libexpat1-dev
Fetch, unpack, and build:
wget http://kernel.org/pub/software/scm/git/git-1.5.5.3.tar.bz2
tar jxf git-1.5.5.3.tar.bz2
cd git-1.5.5.3
make prefix=/usr all
Unfortunately, at this point I got an error I had not seen on [...]]]></description>
			<content:encoded><![CDATA[<p>Since updating my laptop to <a title="Ubuntu Hardy Heron" href="http://www.ubuntu.com" target="_blank">Hardy Heron</a> I had not yet installed an update <a title="git" href="http://git.or.cz" target="_blank">git</a>, so I thought it would be a good time for that:</p>
<p>Install the usual prerequisites:</p>
<blockquote><p>sudo apt-get install curl libcurl4-openssl-dev libexpat1-dev</p></blockquote>
<p>Fetch, unpack, and build:</p>
<blockquote><p>wget http://kernel.org/pub/software/scm/git/git-1.5.5.3.tar.bz2</p>
<p>tar jxf git-1.5.5.3.tar.bz2</p>
<p>cd git-1.5.5.3</p>
<p>make prefix=/usr all</p></blockquote>
<p>Unfortunately, at this point I got an error I had not seen on prior installs:</p>
<blockquote><p>* tclsh failed; using unoptimized loading<br />
MSGFMT    po/de.msg make[1]: *** [po/de.msg] Error 127<br />
make: *** [all] Error 2</p></blockquote>
<p>A little snooping brought me to <a title="Chris Olsen: Installing Git on Ubuntu" href="http://chrisolsen.org/2008/03/10/installing-git-on-ubuntu/" target="_blank">this site</a>.  While I&#8217;m sure that his method works, it seems a bit extreme to hand-build all of the listed packages.  Fortunately the answer to my problem was there:</p>
<blockquote><p>sudo apt-get install gettext</p></blockquote>
<p>After installing gettext, re-running &#8216;make prefix=/usr&#8217; completed as expected.  After it is built, it is a simple matter to install all of the new goodness:</p>
<blockquote><p>sudo make prefix=/usr install</p></blockquote>
<p>Running &#8216;git version&#8217; should return the newly installed version.  If you want to track the development version, you can now use this installed version of git to check out the devel repository and build it using the same steps.</p>
]]></content:encoded>
			<wfw:commentRss>http://scottschulz.us/2008/06/07/ubuntu-hardy-the-10-minute-git-install/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Twhirl&#8217;ing on Linux</title>
		<link>http://scottschulz.us/2008/05/07/twhirling-on-linux/</link>
		<comments>http://scottschulz.us/2008/05/07/twhirling-on-linux/#comments</comments>
		<pubDate>Wed, 07 May 2008 22:38:45 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[adobeair]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://scottschulz.us/?p=359</guid>
		<description><![CDATA[I&#8217;m not a huge fan of some of the things Adobe has released over the last couple years, e.g. the uber-bloated Acrobat Reader, but I do like their Air product.  Sadly, until a couple weeks ago it was unavailable for linux&#8230;  but that has now changed!
Adobe Labs have released an alpha of Adobe [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not a huge fan of some of the things <a href="http://www.adobe.com">Adobe</a> has released over the last couple years, e.g. the uber-bloated Acrobat Reader, but I do like their Air product.  Sadly, until a couple weeks ago it was unavailable for linux&#8230;  but that has now changed!</p>
<p>Adobe Labs have released an alpha of <a href="http://labs.adobe.com/technologies/air/">Adobe Air</a> for linux, and tonight I finally remembered about it and downloaded it.  It is closed source, but I find it useful, so I installed it.  Installation is as easy as 1) download the bin file, 2) give it execute perms, and 3) run it as root so it can install systemwide.</p>
<p>I then proceeded to the <a href="http://www.twhirl.org/">Twhirl</a> website, and while that site&#8217;s easy download button did not yet realize that Air was available for linux, there is a direct download <a href="http://www.twhirl.org/project/twhirl">link</a>, which <a href="http://www.mozilla.com/firefox/">Firefox</a> opened properly with Air and installed (it asked for my password again to install as root).</p>
<p>From there, simply click on the icon, enter your <a href="http://www.twitter.com">Twitter</a> username and password, and away you go!</p>
<p>

			    <a href="http://s3.scottschulz.us/images/TwhirlLinux_1024.jpg" class="highslide"  onclick="return hs.expand(this, {captionId: 'caption-for-P3590'})"> 
                <img src="http://s3.scottschulz.us/images/TwhirlLinux_400-250.jpg" alt="Twhirl 0.8 on Ubuntu Linux" border="0" id="P3590" title="Twhirl 0.8 on Ubuntu Linux" /></a> 
								<div class='highslide-caption' id='caption-for-P3590'>
			       		
	     				    	<a href="#" onclick="hs.close(this)" class="highslide-close">Close</a>   	
				<div style="clear:both">Twhirl 0.8 on Ubuntu Linux - Gutsy</div>
	
			    </div>

</p>
]]></content:encoded>
			<wfw:commentRss>http://scottschulz.us/2008/05/07/twhirling-on-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Critical VMware Security Issue on Windows Hosts</title>
		<link>http://scottschulz.us/2008/02/24/critical-vmware-security-issue-on-windows-hosts/</link>
		<comments>http://scottschulz.us/2008/02/24/critical-vmware-security-issue-on-windows-hosts/#comments</comments>
		<pubDate>Sun, 24 Feb 2008 13:44:43 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Vulnerability]]></category>

		<guid isPermaLink="false">http://scottschulz.us/2008/02/24/critical-vmware-security-issue-on-windows-hosts/</guid>
		<description><![CDATA[SANS are reporting today that Core Security have uncovered a critical security issue with some VMware products when the base OS is Windows.  When running the VMware product versions listed below with a host-shared folders enabled (and at least one configured), it is possible for malware in the virtual machines to access the full filesystem [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sans.org" title="SANS" target="_blank">SANS</a> are reporting today that <a href="http://www.coresecurity.com" title="Core Security" target="_blank">Core Security</a> have uncovered a critical security issue with some VMware products when the base OS is Windows.  When running the VMware product versions listed below with a host-shared folders enabled (and at least one configured), it is possible for malware in the virtual machines to access the full filesystem of the host OS.  This leaves open the possibility of infection or data destruction on the host machine.   And while most production VMware servers are running other versions, e.g. VMware Server, ESX, etc., many of us do run Player or Workstation on test machines.</p>
<p>The affected versions:</p>
<ul>
<li> VMware Workstation 6.0.2 and earlier, AND 5.5.4 and earlier</li>
<li>VMware Player 2.0.2 and earlier, AND 1.0.4 and earlier</li>
<li> VMware ACE 2.0.2 and earlier, AND 1.0.2 and earlier</li>
</ul>
<p>Source:  <a href="http://isc.sans.org/diary.html?storyid=4018" title="VMware Player / Workstation Vulnerability Story" target="_blank">http://isc.sans.org/diary.html?storyid=4018</a></p>
]]></content:encoded>
			<wfw:commentRss>http://scottschulz.us/2008/02/24/critical-vmware-security-issue-on-windows-hosts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu Gutsy: The 10 Minute VMware Server Install</title>
		<link>http://scottschulz.us/2008/02/09/ubuntu-gutsy-the-10-minute-vmware-server-install/</link>
		<comments>http://scottschulz.us/2008/02/09/ubuntu-gutsy-the-10-minute-vmware-server-install/#comments</comments>
		<pubDate>Sun, 10 Feb 2008 00:46:30 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://scottschulz.us/2008/02/09/ubuntu-gutsy-the-10-minute-vmware-server-install/</guid>
		<description><![CDATA[While there may be packages available for this, I&#8217;ve been using the following to install VMware Server and the Management Interface on my Ubuntu Gutsy boxes.  The following steps take place immediately after a clean Gutsy Server install.
Step 1:  Download the software
Go to http://www.vmware.com and follow the links to download the free VMware [...]]]></description>
			<content:encoded><![CDATA[<p>While there may be packages available for this, I&#8217;ve been using the following to install <a href="http://www.vmware.com">VMware</a> Server and the Management Interface on my <a href="http://www.ubuntu.com">Ubuntu</a> Gutsy boxes.  The following steps take place immediately after a clean Gutsy Server install.</p>
<p><strong>Step 1:  Download the software</strong></p>
<p>Go to http://www.vmware.com and follow the links to download the free VMware Server software.  You will need to register for a free license key and then you can download the software packages.<br />
<strong>Step 2:  Install a few prerequisites</strong></p>
<blockquote><p>$ sudo aptitude install linux-headers-`uname -r` build-essential xinetd</p>
<p>$ sudo aptitude install libxtst6 libxt6 libxrender1 libxi-dev</p></blockquote>
<p>If you are not going to install the Management Interface (a web based management console), I believe you need only install the prerequisites on the first line above.</p>
<p><strong>Step 3:  Install VMware Server</strong></p>
<p>I keep all my virtual machines in /opt/vmware, so I create that directory before running the following.  There is a default directory and if you would prefer to keep yours there, then simply allow the script to create it during the install process.</p>
<blockquote><p> $ sudo mkdir /opt/vmware</p>
<p>$ sudo chown sws. /opt/vmware</p>
<p>$ tar zxf VMware-server-1.0.4-56528.tar.gz</p>
<p>$ cd vmware-server-distrib</p>
<p>$ sudo ./vmware-install.pl</p></blockquote>
<p>With the exception of the path mentioned above, I use the defaults for all other options.</p>
<p><strong>Step 4:  Install the VMware Management Interface (vmware-mui)</strong></p>
<blockquote><p>$ cd ..</p>
<p>$ tar zxf VMware-mui-1.0.4-56528.tar.gz</p>
<p>$ cd vmware-mui-distrib</p>
<p>$ sudo ./vmware-install.pl</p></blockquote>
<p><strong>Step 5: Fix the MUI startup script<br />
</strong><br />
At the end of step 4, the vmware-mui install script tries to start the new apache server (httpd.vmware), but that usually fails as #!/bin/sh is not an alias for bash.  To fix that, simply edit /etc/init.d/httpd.vmware and change the first line from #!/bin/sh to #!/bin/bash.</p>
<p>After saving the file, you should be able to start it:</p>
<blockquote><p>$ sudo /etc/init.d/httpd.vmware start</p></blockquote>
<p>If everything worked, you should be able to now browse to either http://yourvmwareserver:8222 or https://yourvmwareserver:8333 from another machine on your network.  Log in with a user account on the VMware server machine.</p>
]]></content:encoded>
			<wfw:commentRss>http://scottschulz.us/2008/02/09/ubuntu-gutsy-the-10-minute-vmware-server-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Miro and Sun Java Plugin errors on Gutsy</title>
		<link>http://scottschulz.us/2007/11/24/miro-and-sun-java-plugin-errors-on-gutsy/</link>
		<comments>http://scottschulz.us/2007/11/24/miro-and-sun-java-plugin-errors-on-gutsy/#comments</comments>
		<pubDate>Sun, 25 Nov 2007 00:45:50 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://scottschulz.us/2007/11/24/miro-and-sun-java-plugin-errors-on-gutsy/</guid>
		<description><![CDATA[I installed Miro the new Democracy player on my Gutsy laptop today.  Unfortunately, when I fired it up, it spewed a long list of errors ending in
 /usr/bin/python: symbol lookup error: /opt/sun-jdk-1.6.0.03/jre/plugin/i386/ns7/libjavaplugin_oji.so: undefined symbol:  PR_NewMonitor
Googling led me to this forum post, which references this bug report.  All of which seem to point [...]]]></description>
			<content:encoded><![CDATA[<p>I installed <a href="http://www.getmiro.com" title="Miro" target="_blank">Miro</a> the new Democracy player on my Gutsy laptop today.<code></code>  Unfortunately, when I fired it up, it spewed a long list of errors ending in</p>
<blockquote><p><code> /usr/bin/python: symbol lookup error: /opt/sun-jdk-1.6.0.03/jre/plugin/i386/ns7/libjavaplugin_oji.so: undefined symbol:  PR_NewMonitor</code></p></blockquote>
<p>Googling led me to <a href="http://www.getmiro.com/forum/comments.php?DiscussionID=363&amp;page=1#Item_0" title="Miro error " target="_blank">this</a> forum post, which references <a href="http://bugzilla.pculture.org/show_bug.cgi?id=9064" title="Bugtracker Link" target="_blank">this</a> bug report.  All of which seem to point at the  <a href="http://www.sun.com" title="Sun Computers" target="_blank">Sun</a> <a href="http://java.sun.com" title="Sun Java plugin" target="_blank">Java</a> plugin as the culprit, so I tried removing it:</p>
<blockquote><p> $ sudo apt-get remove sun-java6-plugin</p></blockquote>
<p>I can verify that removing the plugin cured the problem, and I am now happily subscribed to Hubblecast, TekZilla and several other HD videocasts.  Unfortunately, now it is just a matter of time until I find a website where I will need Java enabled in the browser.</p>
<p>

			    <a href="http://s3.scottschulz.us/images/miro_screenshot.jpg" class="highslide"  onclick="return hs.expand(this, {captionId: 'caption-for-P3490'})"> 
                <img src="http://s3.scottschulz.us/images/miro_screenshot_th.jpg" alt="Miro Screenshot" border="0" id="P3490" title="Miro Screenshot" /></a> 
								<div class='highslide-caption' id='caption-for-P3490'>
			       		
	     				    	<a href="#" onclick="hs.close(this)" class="highslide-close">Close</a>   	
				<div style="clear:both">Watching YouTube videos (and my brother's clownfish) via Miro</div>
	
			    </div>

</highslide></p>
]]></content:encoded>
			<wfw:commentRss>http://scottschulz.us/2007/11/24/miro-and-sun-java-plugin-errors-on-gutsy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VLC Broken on Gutsy Upgrade</title>
		<link>http://scottschulz.us/2007/11/11/vlc-broken-on-gutsy-upgrade/</link>
		<comments>http://scottschulz.us/2007/11/11/vlc-broken-on-gutsy-upgrade/#comments</comments>
		<pubDate>Sun, 11 Nov 2007 13:30:25 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://scottschulz.us/2007/11/11/vlc-broken-on-gutsy-upgrade/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>Since I upgraded from Ubuntu Feisty to Gutsy on my laptop, <a href="http://www.videolan.org">VLC</a> has refused to run.  Trying to run it from the command line yielded an impressive (!) list of errors.  In doing some snooping aroung Googlespace yesterday I came across <a href="http://ubuntuforums.org/showthread.php?t=473027">this thread </a> over on the Ubuntu forums.  The bug seems to be related to the new glib memory allocation routines but, fortunately, the fix is simply a matter of setting an environment variable before calling vlc.</p>
<p>For me, calling vlc in the following way fixed my problems:</p>
<blockquote><p>G_SLICE=always-malloc vlc</p></blockquote>
<p>I&#8217;m sure a more permanent fix is in the works.</p>
]]></content:encoded>
			<wfw:commentRss>http://scottschulz.us/2007/11/11/vlc-broken-on-gutsy-upgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Openfire Jabber Server on Ubuntu</title>
		<link>http://scottschulz.us/2007/08/26/openfire-jabber-server-on-ubuntu/</link>
		<comments>http://scottschulz.us/2007/08/26/openfire-jabber-server-on-ubuntu/#comments</comments>
		<pubDate>Sun, 26 Aug 2007 13:15:16 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://scottschulz.us/2007/08/26/openfire-jabber-server-on-ubuntu/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>Finally got around to moving my <a href="http://www.igniterealtime.org/projects/openfire/index.jsp">Openfire</a> installation from CentOS to Ubuntu Server last night.  While their installation directions work out of the box, if you want to use the included openfired script to start the server out of /etc/init.d several minor changes need to be made;</p>
<blockquote><pre>
--- bin/extra/openfired 2007-06-22 15:24:32.000000000 -0400
+++ /etc/init.d/openfired       2007-08-26 08:30:48.000000000 -0400
@@ -47,10 +47,10 @@
fi

-function execCommand() {
+execCommand() {
OLD_PWD=`pwd`
cd $OPENFIRE_HOME/bin
-       CMD="./openfire.sh $1"
+       CMD="./openfire $1"
su -c "$CMD" $OPENFIRE_USER &#038;
sleep 1 # allows prompt to return
cd $OLD_PWD
</pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://scottschulz.us/2007/08/26/openfire-jabber-server-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
