<?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>Webdevelopment at huuah.com</title>
	<atom:link href="http://huuah.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://huuah.com</link>
	<description>webdevelopment, cms, php, javascript etc</description>
	<lastBuildDate>Sun, 20 Nov 2011 20:30:03 +0000</lastBuildDate>
	<language>da-DK</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5</generator>
		<item>
		<title>feuserreg released on TER at typo3.org</title>
		<link>http://huuah.com/feuserreg-release-on-ter-at-typo3-org/</link>
		<comments>http://huuah.com/feuserreg-release-on-ter-at-typo3-org/#comments</comments>
		<pubDate>Sun, 20 Nov 2011 20:23:43 +0000</pubDate>
		<dc:creator>js - huuah</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://huuah.com/?p=807</guid>
		<description><![CDATA[<p>Today was the day where I finally released the new extension <code>feuserreg</code> to Typo3 Extension Repository (TER). The extension is developed as an easy, quick and flexible solution to implement Front End User registration on any TYPO3 webpage.</p>
<p>The extension is based on a template, where one can customize the &#8230;</p>]]></description>
				<content:encoded><![CDATA[<p>Today was the day where I finally released the new extension <code>feuserreg</code> to Typo3 Extension Repository (TER). The extension is developed as an easy, quick and flexible solution to implement Front End User registration on any TYPO3 webpage.</p>
<p>The extension is based on a template, where one can customize the layout and input fields as required for the current solution. Simply add a the set of input fields, that you require. The only rule is, that the name of the field, must reflect the names from the <code>fe_users</code> table.</p>
<p>When this is done, you can enter a list of mandatory fields, that the front end user must fill out. It is furthermore possible to enter a list of options, which will be set for any new user as default. All this is done from the template configuration for your site.</p>
<p>The feuserreg extension is available from TER as of today. At the moment is has been released without any manual. The options can be viewed from the Template Analyzer and from within the HTML template.</p>
<p>feusereg is available from this address: <a href="http://typo3.org/extensions/repository/view/feuserreg/current/" title="http://typo3.org/extensions/repository/view/feuserreg/current/">http://typo3.org/extensions/repository/view/feuserreg/current/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://huuah.com/feuserreg-release-on-ter-at-typo3-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to make tabs bookmarkable with jQuery</title>
		<link>http://huuah.com/how-to-make-tabs-bookmarkable-with-jquery/</link>
		<comments>http://huuah.com/how-to-make-tabs-bookmarkable-with-jquery/#comments</comments>
		<pubDate>Mon, 22 Nov 2010 20:20:41 +0000</pubDate>
		<dc:creator>js - huuah</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://huuah.com/?p=787</guid>
		<description><![CDATA[<p>There it was. A web layout with tabs. Everything is loaded when on first page load or when needed. This is great for the user experience and it minimizes the page load time. Super.</p>
<a name="Tabs+are+not+good+for+bookmarking"></a>Tabs are not good for bookmarking
<p>HOWEVER &#8211; the content is not than userfriendly is you &#8230;</p>]]></description>
				<content:encoded><![CDATA[<p>There it was. A web layout with tabs. Everything is loaded when on first page load or when needed. This is great for the user experience and it minimizes the page load time. Super.</p>
<a name="Tabs+are+not+good+for+bookmarking"></a><h1>Tabs are not good for bookmarking</h1>
<p>HOWEVER &#8211; the content is not than userfriendly is you would like the users to bookmark the page. When a page is bookmarked you would expect the bookmark would lead you to the same content as when it was bookmarked. So what to do, when a tab is loaded on the fly or if is just a div or something else, being changed from hidden to visible?</p>
<p>Layout:</p>
<div class="tablayout">
<div class="tabs">
<div class="tab1">Tab 1</div>
<div class="tab2">Tab 2</div>
<div class="tab3">Tab 3</div>
</p></div>
<div class="tabcontent">
<div class="tab1">Tab content 1</div>
<div class="tab2">Tab content 2</div>
<div class="tab3">Tab content 3</div>
</p></div>
</div>
<p>HTML code:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div class=&quot;tablayout&quot;&gt;
  &lt;div class=&quot;tabs&quot;&gt;
    &lt;div class=&quot;tab1&quot;&gt;Tab 1&lt;/div&gt;
    &lt;div class=&quot;tab2&quot;&gt;Tab 2&lt;/div&gt;
    &lt;div class=&quot;tab3&quot;&gt;Tab 3&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;tabcontent&quot;&gt;
    &lt;div class=&quot;tab1&quot;&gt;Tab content 1&lt;/div&gt;
    &lt;div class=&quot;tab2&quot;&gt;Tab content 2&lt;/div&gt;
    &lt;div class=&quot;tab3&quot;&gt;Tab content 3&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
</pre>
<p>jQuery tab code:</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {

    $(&quot;.tab1&quot;).click( function() {
        $(&quot;.tabs div&quot;).removeClass(&quot;selectedtab&quot;);
        $(this).addClass(&quot;selectedtab&quot;);
        $(&quot;.tabcontent div&quot;).hide();
        $(&quot;.tabcontent .tab1&quot;).show();
        $(&quot;.tabcontent .tab1&quot;).addClass(&quot;selectedtab&quot;);
    });
    $(&quot;.tab2&quot;).click( function() {
        $(&quot;.tabs div&quot;).removeClass(&quot;selectedtab&quot;);
        $(this).addClass(&quot;selectedtab&quot;);
        $(&quot;.tabcontent div&quot;).hide();
        $(&quot;.tabcontent .tab2&quot;).show();
        $(&quot;.tabcontent .tab2&quot;).addClass(&quot;selectedtab&quot;);
    });
    $(&quot;.tab3&quot;).click( function() {
        $(&quot;.tabs div&quot;).removeClass(&quot;selectedtab&quot;);
        $(this).addClass(&quot;selectedtab&quot;);
        $(&quot;.tabcontent div&quot;).hide();
        $(&quot;.tabcontent .tab3&quot;).show();
        $(&quot;.tabcontent .tab3&quot;).addClass(&quot;selectedtab&quot;);
    });

    $(&quot;.tabs .tab1&quot;).click();
});
</pre>
<p>I know the layout is ugly. I know the tab function can be done better and smarter. This is not what this post is about.</p>
<p>The example shows one way of making a tab function and this is all nice and great. But it does not allow the user to bookmark the page and expect the page to show to correct tab when returning at a later time.</p>
<a name="Tabs+that+are+cool+and+ready+for+the+archive"></a><h1>Tabs that are cool and ready for the archive</h1>
<p>This is where we can use the BBQ plugin by Ben Alman (URL: <a href="http://benalman.com/projects/jquery-bbq-plugin/">http://benalman.com/projects/jquery-bbq-plugin/</a>).<br />
Download it and include it on your page and you are ready to got. Well. Almost.</p>
<p>Bookmarkable tabs with jQuery and the nice and juicy BBQ plugin:</p>
<div class="tablayoutbbq">
<div class="tabs">
<div class="tab1"><a href="#tab1">Tab 1</a></div>
<div class="tab2"><a href="#tab2">Tab 2</a></div>
<div class="tab3"><a href="#tab3">Tab 3</a></div>
</p></div>
<div class="tabcontent">
<div class="tab1">Tab content 1</div>
<div class="tab2">Tab content 2</div>
<div class="tab3">Tab content 3</div>
</p></div>
</div>
<p>HTML Code:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div class=&quot;tablayoutbbq&quot;&gt;
  &lt;div class=&quot;tabs&quot;&gt;
    &lt;div class=&quot;tab1&quot;&gt;&lt;a href=&quot;#tab1&quot;&gt;Tab 1&lt;/a&gt;&lt;/div&gt;
    &lt;div class=&quot;tab2&quot;&gt;&lt;a href=&quot;#tab2&quot;&gt;Tab 2&lt;/a&gt;&lt;/div&gt;
    &lt;div class=&quot;tab3&quot;&gt;&lt;a href=&quot;#tab3&quot;&gt;Tab 3&lt;/a&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;tabcontent&quot;&gt;
    &lt;div class=&quot;tab1&quot;&gt;Tab content 1&lt;/div&gt;
    &lt;div class=&quot;tab2&quot;&gt;Tab content 2&lt;/div&gt;
    &lt;div class=&quot;tab3&quot;&gt;Tab content 3&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
</pre>
<p>As you can see the HTML code is almost the same. Only thing changed is that there is added a link to the tabs. This links add the hash-value to the URL and this is the value we can use. When a user bookmarks the page with a hash-value in the url, all we have to do is read the value and &#8220;click&#8221; the matching tab.</p>
<p>jQuery code</p>
<pre class="brush: jscript; title: ; notranslate">
    $(window).bind( 'hashchange', function(e) {
        var url = $.param.fragment();
        $(&quot;.tablayoutbbq .tabs .&quot;+url).click();
    });

    $(window).trigger( 'hashchange' );
</pre>
<a name="The+end"></a><h1>The end</h1>
<p>There you go. Tabs that can be bookmarked.</p>
<p>Over and out. Comment if you like.</p>
<p>Thanks to <a href="http://benalman.com/">Ben Alman</a> for the great BBQ-plugin.</p>
]]></content:encoded>
			<wfw:commentRss>http://huuah.com/how-to-make-tabs-bookmarkable-with-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Choose which google to use in Firefox and Internet Explorer</title>
		<link>http://huuah.com/choose-which-google-to-use-in-firefox-and-internet-explorer/</link>
		<comments>http://huuah.com/choose-which-google-to-use-in-firefox-and-internet-explorer/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 21:36:09 +0000</pubDate>
		<dc:creator>js - huuah</dc:creator>
				<category><![CDATA[howto]]></category>

		<guid isPermaLink="false">http://huuah.com/?p=743</guid>
		<description><![CDATA[<a name="3+Step+guide+into+installing+a+new+Google+search+engine+in+your+Firefox+or+Internet+Explorer+browser."></a>3 Step guide into installing a new Google search engine in your Firefox or Internet Explorer browser.
<p>I am using Firefox as my primary browser for many different reasons. I think it is doing a good job and I like the way it is possible to extent its features by &#8230;</p>]]></description>
				<content:encoded><![CDATA[<a name="3+Step+guide+into+installing+a+new+Google+search+engine+in+your+Firefox+or+Internet+Explorer+browser."></a><h1>3 Step guide into installing a new Google search engine in your Firefox or Internet Explorer browser.</h1>
<p>I am using Firefox as my primary browser for many different reasons. I think it is doing a good job and I like the way it is possible to extent its features by installing new plugins.</p>
<p>However &#8211; there is one thing, that has bothered me for a long time now. There is no simple way (as far as I have found) to change which country the internal google search uses. The default is google.com and there is no obvious way of changing this.</p>
<p>The only way I have found to do this, is either by editing some xml configuration files, but this does not seem like &#8220;the right way&#8221; to do this.</p>
<p>So I decided to make my own search engine thingy and have afterwards made this small tool below for easier updating.</p>
<p>There is 3 steps into installing a new google search engine.<br />
<strong><br />
Step 1 &#8211; Choose which google engine to install<br />
Step 2 &#8211; Install the new search engine in the top search field<br />
Step 3 &#8211; Select the new search engine<br />
</strong></p>
<a name="Step+1%3A"></a><h1>Step 1:</h1>
<p>If you would like to define your own search parameters sent to google, simply copy/paste your search url below:<br />
<input class="userdefinedgoogle" type="text" value="http://www.google.com/#sclient=psy&amp;hl=en&amp;q=huuah&amp;aq=f&amp;aqi=g1g-o1&amp;aql=&amp;oq=&amp;gs_rfai=&amp;pbx=1" /><br />
<button class="saveuserdefined">Update search options</button></p>
<a name="Step+2%3A"></a><h1>Step 2:</h1>
<p>Go to the google toolbar in your browser (this is tested with Firefox and Internet Explorer) and there will be an option, where it is possible to install the new search engine:<br />
<img src="/images/step2google.png" alt="step 2 google search engine" /><br />
I&#8217;m currently browsing from a Firefox with Danish localization, but it will of course say &#8220;Add&#8221; or something similiar in the language you are running.</p>
<p>Click the install section and we are ready to go.</p>
<a name="Step+3%3A"></a><h1>Step 3:</h1>
<p>The final step is to select the newly installed search engine.<br />
<img src="/images/step3google.png" alt="step 3 google search engine" /></p>
<a name="That%26%238217%3Bs+it"></a><h1>That&#8217;s it</h1>
<p>I hope this small tool is usefull to you. Please post a comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://huuah.com/choose-which-google-to-use-in-firefox-and-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery shake / attention plugin</title>
		<link>http://huuah.com/jquery-shake-attention/</link>
		<comments>http://huuah.com/jquery-shake-attention/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 20:17:37 +0000</pubDate>
		<dc:creator>js - huuah</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://huuah.com/?p=726</guid>
		<description><![CDATA[<p>Getting peoples attention is sometimes needed, although it is often quite annoying when other people does it. You know. Shakes things on their webpages. Almost as annoying as webpages with background music.</p>
<p>In some situations it can actually be useful, if the user interface can take it. It&#8217;s all up &#8230;</p>]]></description>
				<content:encoded><![CDATA[<p>Getting peoples attention is sometimes needed, although it is often quite annoying when other people does it. You know. Shakes things on their webpages. Almost as annoying as webpages with background music.</p>
<p>In some situations it can actually be useful, if the user interface can take it. It&#8217;s all up to you.</p>
<a name="Shake+and+attention+plugin+for+jQuery"></a><h1>Shake and attention plugin for jQuery</h1>
<p>The shake and attention plugin for jQuery is easy to use and should be available on all selectable elements within jQuery.</p>
<p>This is the first version that gets published, so I would really appreciate all the feedback I can get.</p>
<a name="What+can+it+do"></a><h1>What can it do</h1>
<p>It can shake things left and right and right and left.<br />
<button class="shake shakethisbutton">Shake this as default</button></p>
<pre class="brush: java; title: ; notranslate">
  $(&quot;.shakethisbutton&quot;).shake();
</pre>
<a name="Another+shake%3A"></a><h2>Another shake:</h2>
<p><button class="shake shakethisbutton1">Shake this with more speed</button></p>
<pre class="brush: java; title: ; notranslate">
    $(&quot;.shakethisbutton1&quot;).click( function() {
        $(this).shake({
            shake_speed: 70,
            shake_repeats: 10
            });
    });
</pre>
<a name="Yet+another+shake"></a><h2>Yet another shake</h2>
<p><button class="shake shakethisbutton2">Shake this with random moves</button></p>
<pre class="brush: java; title: ; notranslate">
    $(&quot;.shakethisbutton2&quot;).click( function() {
        $(this).shake({
            shake_random_length: 'yes',
            shake_repeats: 10
            });
    });

</pre>
<a name="Options"></a><h1>Options</h1>
<p>The complete list of settings for the Shake and Attention jQuery plugin is:</p>
<pre class="brush: java; title: ; notranslate">
            shake_random_length: 'no',      // should we shake all the way every time or random shakes. 'yes'/'no' 
            shake_random_direction: 'no',   // should the direction be left-right-left etc. or random. 'yes'/'no'
            shake_left: 30,                 // how many pixels can we move to the left
            shake_right: 30,                // how many pixels can we move to the right
            shake_speed: 100,               // how fast to shake
            shake_repeats: 1,               // how many repetition
            shake_easing: 'linear'          // 'linear' or 'swing'
</pre>
<a name="Support+this"></a><h1>Support this</h1>
<p>If you like this plugin please post a comment or perhaps make a small PayPal donation to support further development.</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick"><br />
<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----MIIHRwYJKoZIhvcNAQcEoIIHODCCBzQCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYC29XSfy3qd4soO6EcUfPWar/M7Nt2lS1f3baOWvgUhFZv+f7LX9tHNpZElh425pTbzB8+4SGm8s9L6ofZu3H4l5O/jw3lpLKozaIE2kN0+BqEEifNq9lAwirmmbel0Q37BK8lZ9inBw2EVWBtaZMnxd1ICKHu2nEgpeA+KcGBNXTELMAkGBSsOAwIaBQAwgcQGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQI4/J51WxDCLmAgaBvkdS0ET6AFhv3Dv0kyjWmQ1+syQdSnjjNi9i7fjHnkEZi5gg9V9oINeEcNAyOCa/7Ym1tsuVLTCsVvpqZh38Ze6tbmurGbRIKCbUu0iE2kudMRxh4p+FxXSkdz9VrR+mXPrleUUXlfrZext92k4e0+dx2ODJVmQRpjTqMb+Rpqwa7hNxv4mm5SkKK5hS/YZ1/faCkYfef/AkKvr1/Bf+yoIIDhzCCA4MwggLsoAMCAQICAQAwDQYJKoZIhvcNAQEFBQAwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tMB4XDTA0MDIxMzEwMTMxNVoXDTM1MDIxMzEwMTMxNVowgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDBR07d/ETMS1ycjtkpkvjXZe9k+6CieLuLsPumsJ7QC1odNz3sJiCbs2wC0nLE0uLGaEtXynIgRqIddYCHx88pb5HTXv4SZeuv0Rqq4+axW9PLAAATU8w04qqjaSXgbGLP3NmohqM6bV9kZZwZLR/klDaQGo1u9uDb9lr4Yn+rBQIDAQABo4HuMIHrMB0GA1UdDgQWBBSWn3y7xm8XvVk/UtcKG+wQ1mSUazCBuwYDVR0jBIGzMIGwgBSWn3y7xm8XvVk/UtcKG+wQ1mSUa6GBlKSBkTCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb22CAQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQCBXzpWmoBa5e9fo6ujionW1hUhPkOBakTr3YCDjbYfvJEiv/2P+IobhOGJr85+XHhN0v4gUkEDI8r2/rNk1m0GA8HKddvTjyGw/XqXa+LSTlDYkqI8OwR8GEYj4efEtcRpRYBxV8KxAW93YDWzFGvruKnnLbDAF6VR5w/cCMn5hzGCAZowggGWAgEBMIGUMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbQIBADAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTAxMTE3MjAxNDExWjAjBgkqhkiG9w0BCQQxFgQUtuhtN8l8kQlRNHlorWo3Aic6TaQwDQYJKoZIhvcNAQEBBQAEgYBTvy04plIASFyNKMpZuVLLuC3e1XVx3tLSxnQzJDwkvgXhg9Mg796RVsZp48BblCuMKRhhP9mYknK8L3CwcV7Jk0Faf11hDSvpDKTRZ+lpJ9VITyqIJgDhwWlYKLbDR6cKn0XlyZ4WT7kUNn1NE9aeec6qesPzN6y7ZKDYReIfsw==-----END PKCS7-----"><br />
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"><br />
<img alt="" border="0" src="https://www.paypal.com/da_DK/i/scr/pixel.gif" width="1" height="1"><br />
</form>
<a name="Download"></a><h1>Download</h1>
<p><a href="/files/shake-0.8.js">Download shake-0.8.js here &#8211; download</a></p>
<a name="Something+is+missing"></a><h1>Something is missing</h1>
<p>Please post a comment if you have any comments for this jQuery plugin.</p>
]]></content:encoded>
			<wfw:commentRss>http://huuah.com/jquery-shake-attention/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>itsplanned.com source code ready for download</title>
		<link>http://huuah.com/itsplanned-com-source-code-ready-for-download/</link>
		<comments>http://huuah.com/itsplanned-com-source-code-ready-for-download/#comments</comments>
		<pubDate>Sat, 04 Sep 2010 22:55:27 +0000</pubDate>
		<dc:creator>js - huuah</dc:creator>
				<category><![CDATA[itsplanned.com]]></category>

		<guid isPermaLink="false">http://huuah.com/?p=720</guid>
		<description><![CDATA[<p>The source code for <a href="http://github.com/johnny-s/itsplanned.com">itsplanned.com has been released to github</a> today and is also available as <a href="http://itsplanned.com">download directly from itsplanned.com</a>.</p>
<p>Itsplanned.com is released under the GPL license and any feedback will be highly appreciated.&#8230;</p>]]></description>
				<content:encoded><![CDATA[<p>The source code for <a href="http://github.com/johnny-s/itsplanned.com">itsplanned.com has been released to github</a> today and is also available as <a href="http://itsplanned.com">download directly from itsplanned.com</a>.</p>
<p>Itsplanned.com is released under the GPL license and any feedback will be highly appreciated.</p>
]]></content:encoded>
			<wfw:commentRss>http://huuah.com/itsplanned-com-source-code-ready-for-download/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>itsplanned.com just launched</title>
		<link>http://huuah.com/itsplanned-com-just-launched/</link>
		<comments>http://huuah.com/itsplanned-com-just-launched/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 21:28:51 +0000</pubDate>
		<dc:creator>js - huuah</dc:creator>
				<category><![CDATA[itsplanned.com]]></category>

		<guid isPermaLink="false">http://huuah.com/?p=711</guid>
		<description><![CDATA[<p>The new project management tool itsplanned.com has been launched today.</p>
<a name="Itsplanned.com"></a>Itsplanned.com
<p><a href="http://itsplanned.com">Itsplanned.com is created as an alternative</a> to the more advanced project management tools that already exists. It is built based on the goal that it should be very easy to use, with a simple set of functions that quickly &#8230;</p>]]></description>
				<content:encoded><![CDATA[<p>The new project management tool itsplanned.com has been launched today.</p>
<a name="Itsplanned.com"></a><h1>Itsplanned.com</h1>
<p><a href="http://itsplanned.com">Itsplanned.com is created as an alternative</a> to the more advanced project management tools that already exists. It is built based on the goal that it should be very easy to use, with a simple set of functions that quickly gives the user a clear and clean view of the tasks that are planned.</p>
<a name="Own+tasks"></a><h1>Own tasks</h1>
<p><a href="http://itsplanned.com">Itsplanned.com gives the use a set of tool</a>, where the users can create there own tasks or project, that they need to track. When the tasks are created, the user can sort and change priority of the tasks, simply by drag&#8217;n'drop the tasks up and down in the task overview.</p>
<a name="Groups+and+moves"></a><h1>Groups and moves</h1>
<p>Tasks can also be moved into another task, where it will be a subtask. <a href="http://itsplanned.com">Itsplanned.com opens for the possibility</a>, where every single tasks easily is movable among the other tasks.</p>
<a name="Overview+and+userability"></a><h1>Overview and userability</h1>
<p>The overview can quickly be changed from listing a task summary to be listing a more detailed output. The overview can both display or hide closed and finished tasks, by selecting a checkbox.</p>
<p>Task descriptions are changed with the user friendly built-in HTML (WYSIWYG) editor.</p>
<p>When the first real-world tests have been completed, the source-code will be released to download.</p>
<p>More details and screenshots can be found at <a href="http://itsplanned.com">itsplanned.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://huuah.com/itsplanned-com-just-launched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Autofs and NFS on Ubuntu 10.04</title>
		<link>http://huuah.com/autofs-and-nfs-on-ubuntu-10-04/</link>
		<comments>http://huuah.com/autofs-and-nfs-on-ubuntu-10-04/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 19:38:27 +0000</pubDate>
		<dc:creator>js - huuah</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[autofs]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[nfs]]></category>

		<guid isPermaLink="false">http://huuah.com/?p=703</guid>
		<description><![CDATA[<p>I&#8217;ve been messing around with some weird behavior on the Ubuntu 10.04 while setting up Autofs to auto mount some NFS shares from a remote server.</p>
<a name="My+setup"></a>My setup
<p>Server:<br />
Debian Lenny (IP 192.168.1.123)<br />
Standard NFS-server<br />
A simple export setup (1 share) /mnt/storage</p>
<p>Client:<br />
Ubuntu 10.04<br />
Autofs 5.0.4-3.1ubuntu5<br />
Autofs5 5.0.4-3.1ubuntu5</p>
<a name="Autofs+configuration">&#8230;</a>Autofs]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been messing around with some weird behavior on the Ubuntu 10.04 while setting up Autofs to auto mount some NFS shares from a remote server.</p>
<a name="My+setup"></a><h1>My setup</h1>
<p>Server:<br />
Debian Lenny (IP 192.168.1.123)<br />
Standard NFS-server<br />
A simple export setup (1 share) /mnt/storage</p>
<p>Client:<br />
Ubuntu 10.04<br />
Autofs 5.0.4-3.1ubuntu5<br />
Autofs5 5.0.4-3.1ubuntu5</p>
<a name="Autofs+configuration"></a><h1>Autofs configuration</h1>
<p>The first problem is this:</p>
<pre class="brush: plain; title: ; notranslate">
syntax error in nsswitch config near [ syntax error ]
</pre>
<p>This error message appears in my message log file on my client after installing Autofs. No configuration has yet been changed. So this is by default not working.<br />
There are, as far as I have tested, two workarounds:<br />
1: outcomment the line with &#8216;+auto.master&#8217; at the bottom of the /etc/auto.master<br />
2: insert a line with &#8216;automount:files&#8217; in the /etc/nsswitch.conf</p>
<p>Now &#8211; restart autofs and verify that the error message is gone:</p>
<pre class="brush: plain; title: ; notranslate">
#sudo service autofs restart
</pre>
<a name="The+Autofs+setup+step+1"></a><h1>The Autofs setup step 1</h1>
<p>Edit /etc/auto.master and add a line like this:</p>
<pre class="brush: plain; title: ; notranslate">
/media/nfsshares /etc/auto.nfs
</pre>
<p>This will tell autofs to create a folder named nfsshares inside the /media/ folder and that there are further configuration entries in the file /etc/auto.nfs</p>
<a name="The+Autofs+setup+step+2"></a><h1>The Autofs setup step 2</h1>
<p>Create a file called auto.nfs in the /etc/ folder and edit it with your favorite editor:</p>
<pre class="brush: plain; title: ; notranslate">
# vim /etc/auto.nfs
</pre>
<p>Enter one or more shares like this:</p>
<pre class="brush: plain; title: ; notranslate">
myservershare 192.168.1.123:/mnt/storage
</pre>
<p>Save the file and we are done.</p>
<a name="Starting+and+testing+Autofs"></a><h1>Starting and testing Autofs</h1>
<p>All options are now created, so lets (re)start Autofs and move on:</p>
<pre class="brush: plain; title: ; notranslate">
# service autofs restart
</pre>
<p>The Autofs is now running and we should see a newly created folder inside your /media directory:</p>
<pre class="brush: plain; title: ; notranslate">
# cd /media

# ls -al
...
drwxr-xr-x  3 root root     0 2010-07-15 21:22 nfsshares
...
</pre>
<p>Try to change directory to the nfsshares folder:</p>
<pre class="brush: plain; title: ; notranslate">
# cd nfsshares

# ls -al
</pre>
<p>What the &#8230;. It&#8217;s empty. Where is the myservershare folder? Don&#8217;t worry, just try and cd&#8217;e into the folder:</p>
<pre class="brush: plain; title: ; notranslate">
# cd myservershare
</pre>
<p>Well well well. The directory is now accessible and visible.</p>
<p>If you would like the directory structure to be visible at all times &#8211; even at first entry &#8211; add the ghost parameter to the auto.master like this:</p>
<pre class="brush: plain; title: ; notranslate">
/media/nfsshares /etc/auto.nfs --ghost
</pre>
<p>The Autofs is now up and running.</p>
]]></content:encoded>
			<wfw:commentRss>http://huuah.com/autofs-and-nfs-on-ubuntu-10-04/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Restore Debian / (root) from backup and boot it.</title>
		<link>http://huuah.com/restore-debian-root-from-backup-and-boot-it/</link>
		<comments>http://huuah.com/restore-debian-root-from-backup-and-boot-it/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 14:33:49 +0000</pubDate>
		<dc:creator>js - huuah</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[dump]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[restore]]></category>

		<guid isPermaLink="false">http://huuah.com/?p=691</guid>
		<description><![CDATA[<p>A failing hard drive is something everybody fears. Are all data lost forever or can they be restored from a backup? Hopefully the latter.</p>
<p>I have a setup, where I with the dump/restore utilities on my Debian box are running a set of scheduled backup jobs. To make it short, &#8230;</p>]]></description>
				<content:encoded><![CDATA[<p>A failing hard drive is something everybody fears. Are all data lost forever or can they be restored from a backup? Hopefully the latter.</p>
<p>I have a setup, where I with the dump/restore utilities on my Debian box are running a set of scheduled backup jobs. To make it short, I use the dump utility to backup the different mount points on my system. </p>
<a name="How+to+backup+with+dump"></a><h1>How to backup with dump</h1>
<p>To backup the root (/) partition I run a command like this:</p>
<pre class="brush: plain; title: ; notranslate">
dump -0 -u -f - / | gzip &gt; /mnt/backup/root-gziped.gz
</pre>
<p>This runs the dump utility with a set of options (please referrer to the man page for further options). -0 means a level 0 backup, -u updated a log file with the date of the last update and -f outputs everything to standard output. Afterwards the gzip command will pack the dump data and store it in a file.<br />
This is the way <em><strong>I</strong> do it</em>. Feel free to use other options.</p>
<div class="ww">
<div class="am">
<a href="http://www.amazon.co.uk/gp/product/0596102461?ie=UTF8&#038;tag=huuah-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=0596102461"><img border="0" src="/512JK9LIecL._SL110_.jpg"></a><img src="http://www.assoc-amazon.co.uk/e/ir?t=huuah-21&#038;l=as2&#038;o=2&#038;a=0596102461" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<div class="am">
<a href="http://www.amazon.co.uk/gp/product/0131480049?ie=UTF8&#038;tag=huuah-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=0131480049"><img border="0" src="/51VdpnUFGGL._SL110_.jpg"></a><img src="http://www.assoc-amazon.co.uk/e/ir?t=huuah-21&#038;l=as2&#038;o=2&#038;a=0131480049" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<div class="am">
<a href="http://www.amazon.co.uk/gp/product/0470485051?ie=UTF8&#038;tag=huuah-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=0470485051"><img border="0" src="/51VGcZojAOL._SL110_.jpg"></a><img src="http://www.assoc-amazon.co.uk/e/ir?t=huuah-21&#038;l=as2&#038;o=2&#038;a=0470485051" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<div class="am">
<a href="http://www.amazon.co.uk/gp/product/2212125054?ie=UTF8&#038;tag=huuah-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=2212125054"><img border="0" src="/51Xyt7CY3pL._SL110_.jpg"></a><img src="http://www.assoc-amazon.co.uk/e/ir?t=huuah-21&#038;l=as2&#038;o=2&#038;a=2212125054" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<div class="am">
<a href="http://www.amazon.co.uk/gp/product/2212124430?ie=UTF8&#038;tag=huuah-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=2212124430"><img border="0" src="/51TKbXg8ojL._SL110_.jpg"></a><img src="http://www.assoc-amazon.co.uk/e/ir?t=huuah-21&#038;l=as2&#038;o=2&#038;a=2212124430" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
</div>
<a name="How+to+restore+a+backup+made+with+dump"></a><h1>How to restore a backup made with dump</h1>
<p>If your hard drive is failing or perhaps running low on disk space and you need to upgrade it, one way is to do it by restoring from a backup.</p>
<p>What you need, is some kind of running Unix system where you can access the new hard drive and you also need access to the backup file. I have plugged my new drive in another Unix machine as a secondary drive. In this case I am using an Ubuntu 10.4 workstation, where I have installed the dump utility.</p>
<a name="Partitioning+the+new+hard+drive"></a><h2>Partitioning the new hard drive</h2>
<p>To get access to the new drive we need to partition it first. I am using the GParted program in my Ubuntu and have created a partition layout like this:<br />
<img src="/images/gparted.png" alt="GParted" /><br />
NB. This screenshot shows disk usage, because the screenshot it taken after a successful restore.</p>
<a name="Mounting+the+new+layout"></a><h2>Mounting the new layout</h2>
<p>Before we can start the restore, we need to mount the new partition. This is done from the console (terminal) like this:</p>
<pre class="brush: plain; title: ; notranslate">
#mkdir /media/root

#mount /dev/sdb1 /media/root
</pre>
<p>NB. Please note that I am using sdb (and not sda like the screenshot above shows). This is because the hard drive is not the system drive yet.</p>
<p>The hard drive is now mounted in the /media/root directory and we can begin the restore.</p>
<a name="Restoring+data"></a><h2>Restoring data</h2>
<p>I am using the restore command with the interactive shell to select the files and directories that I need to restore.</p>
<pre class="brush: plain; title: ; notranslate">
# gunzip root-gziped.tar.gz  | restore -ivf -
Verify tape and initialize maps
Input is from a local file/pipe
Input block size is 32
Dump   date: Thu Jul  8 21:35:37 2010
Dumped from: the epoch
Level 0 dump of / on myserver.mynetwork.com:/dev/sda1
Label: none
Extract directories from tape
Initialize symbol table.
restore &gt;
</pre>
<p>At the prompt it is possible to browse the media with the normally used &#8216;cd&#8217; and &#8216;ls&#8217; commands. When we have found what we need we can go ahead a add it to the queue. To help the restore utility getting the folder permissions correct I usually runs the command setmodes as the first thing.</p>
<pre class="brush: plain; title: ; notranslate">
restore &gt; setmodes
Set directory mode, owner, and times.
restore &gt; add boot
restore &gt; add bin
...
...
restore &gt; extract
</pre>
<p>The &#8216;add&#8217; command adds folders or files to the queue and the extract command will start the restoring process. </p>
<p>When this is finished you will be asked if you want to set folder permissions on &#8216;.&#8217;. Answer Yes here.</p>
<pre class="brush: plain; title: ; notranslate">
...
Add links
Set directory mode, owner, and times.
set owner/mode for '.'? [yn] y
restore &gt;
</pre>
<p>This is it. The files are now restored and the hard drive is almost ready to begin its new life.</p>
<div class="ww">
<div class="am">
<a href="http://www.amazon.co.uk/gp/product/2212124430?ie=UTF8&#038;tag=huuah-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=2212124430"><img border="0" src="/51TKbXg8ojL._SL110_.jpg"></a><img src="http://www.assoc-amazon.co.uk/e/ir?t=huuah-21&#038;l=as2&#038;o=2&#038;a=2212124430" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<div class="am">
<a href="http://www.amazon.co.uk/gp/product/0131480049?ie=UTF8&#038;tag=huuah-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=0131480049"><img border="0" src="/51VdpnUFGGL._SL110_.jpg"></a><img src="http://www.assoc-amazon.co.uk/e/ir?t=huuah-21&#038;l=as2&#038;o=2&#038;a=0131480049" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<div class="am">
<a href="http://www.amazon.co.uk/gp/product/0596102461?ie=UTF8&#038;tag=huuah-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=0596102461"><img border="0" src="/512JK9LIecL._SL110_.jpg"></a><img src="http://www.assoc-amazon.co.uk/e/ir?t=huuah-21&#038;l=as2&#038;o=2&#038;a=0596102461" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<div class="am">
<a href="http://www.amazon.co.uk/gp/product/2212125054?ie=UTF8&#038;tag=huuah-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=2212125054"><img border="0" src="/51Xyt7CY3pL._SL110_.jpg"></a><img src="http://www.assoc-amazon.co.uk/e/ir?t=huuah-21&#038;l=as2&#038;o=2&#038;a=2212125054" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<div class="am">
<a href="http://www.amazon.co.uk/gp/product/0470485051?ie=UTF8&#038;tag=huuah-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=0470485051"><img border="0" src="/51VGcZojAOL._SL110_.jpg"></a><img src="http://www.assoc-amazon.co.uk/e/ir?t=huuah-21&#038;l=as2&#038;o=2&#038;a=0470485051" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
</div>
<a name="Installing+grub+boot+loader"></a><h2>Installing grub boot loader</h2>
<p>Before the disk can boot up and start the operating system, it needs to have a boot manager. My previously system was using Grub, so I will just reinstall this on the new drive. For this job, we can use an Ubuntu Live cd-rom and boot this. </p>
<p>When this is done and the Ubuntu Live version has booted we need to get access to the new drive (now known as /dev/sda).</p>
<p>Open up a terminal window and enter:</p>
<pre class="brush: plain; title: ; notranslate">
#mkdir /mnt/root

#sudo mount /dev/sda1 /mnt/root

#sudo chroot /mnt/root /bin/bash

#grub-install /dev/sda
</pre>
<p>These commands will create a mount point, mount the new drive, get root access to the new content and install a grub boot loader on the new.</p>
<p>Power off the machine, pull out the hard drive and install it in the old server again.</p>
]]></content:encoded>
			<wfw:commentRss>http://huuah.com/restore-debian-root-from-backup-and-boot-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian NFS server &#8211; Ubuntu NFS client</title>
		<link>http://huuah.com/debian-nfs-server-ubuntu-nfs-client/</link>
		<comments>http://huuah.com/debian-nfs-server-ubuntu-nfs-client/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 18:50:18 +0000</pubDate>
		<dc:creator>js - huuah</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[nfs]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://huuah.com/?p=681</guid>
		<description><![CDATA[<p>NFS is a great way to share and get access to files across a network. The NFS system gives the option to mount a NFS from an external system and a local mount point on your locale system.</p>
<p>To get this working, you need two systems &#8211; a server and &#8230;</p>]]></description>
				<content:encoded><![CDATA[<p>NFS is a great way to share and get access to files across a network. The NFS system gives the option to mount a NFS from an external system and a local mount point on your locale system.</p>
<p>To get this working, you need two systems &#8211; a server and a client.</p>
<a name="Installing+the+NFS+Server"></a><h1>Installing the NFS Server</h1>
<p>I have en Debian server running, where I would like easy access to some of the folders from my workstation. To do this, I will install the nfs-kernel-server and the portmap packages like this:</p>
<pre class="brush: plain; title: ; notranslate">
# aptitute install nfs-kernel-server portmap
</pre>
<p>The NFS server and the portmap service is now installed and up and running.</p>
<a name="Which+folders+to+share"></a><h1>Which folders to share</h1>
<p>To defined which folder we want to share and to which client, we have to take a look at the /etc/exports file. So open /etc/exports in you favorite editor and insert a line like this:</p>
<pre class="brush: plain; title: ; notranslate">
/home/js 192.168.1.2(rw)
</pre>
<p>This tells the NFS service, that I want to share my home folder /home/js to the client at IP 192.168.1.2 with read-write (rw) access.</p>
<p>To reload the defined exports I have to run the exportfs command like this:</p>
<pre class="brush: plain; title: ; notranslate">
# exportfs -a
</pre>
<p>That&#8217;s it &#8211; we done here</p>
<div class="ww">
<div class="am">
<a href="http://www.amazon.co.uk/gp/product/1565925106?ie=UTF8&#038;tag=huuah-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=1565925106"><img border="0" src="/51YZES9223L._SL110_.jpg"></a><img src="http://www.assoc-amazon.co.uk/e/ir?t=huuah-21&#038;l=as2&#038;o=2&#038;a=1565925106" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<div class="am">
<a href="http://www.amazon.co.uk/gp/product/0672331098?ie=UTF8&#038;tag=huuah-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=0672331098"><img border="0" src="/51tgFc%2BW30L._SL110_.jpg"></a><img src="http://www.assoc-amazon.co.uk/e/ir?t=huuah-21&#038;l=as2&#038;o=2&#038;a=0672331098" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<div class="am">
<a href="http://www.amazon.co.uk/gp/product/274604076X?ie=UTF8&#038;tag=huuah-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=274604076X"><img border="0" src="/51NDdOyGPJL._SL110_.jpg"></a><img src="http://www.assoc-amazon.co.uk/e/ir?t=huuah-21&#038;l=as2&#038;o=2&#038;a=274604076X" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<div class="am">
<a href="http://www.amazon.co.uk/gp/product/0137081308?ie=UTF8&#038;tag=huuah-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=0137081308"><img border="0" src="/51yNUUHx3wL._SL110_.jpg"></a><img src="http://www.assoc-amazon.co.uk/e/ir?t=huuah-21&#038;l=as2&#038;o=2&#038;a=0137081308" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<div class="am">
<a href="http://www.amazon.co.uk/gp/product/0470431318?ie=UTF8&#038;tag=huuah-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=0470431318"><img border="0" src="/51pm4lubOjL._SL110_.jpg"></a><img src="http://www.assoc-amazon.co.uk/e/ir?t=huuah-21&#038;l=as2&#038;o=2&#038;a=0470431318" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
</div>
<a name="Access+the+NFS+share+from+an+Ubuntu+Client"></a><h1>Access the NFS share from an Ubuntu Client</h1>
<p>I am using Ubuntu 10.4 as my primary workstation, so I would like to access my home folder on my server. To do this, I have to install the nfs-common package, so I will select my System menu, goto Administration and click on Synaptic Package Manager. Here I will find the nfs-common package and install it as shown here:<br />
<img src="/images/nfsclient.png" alt="nfs-common in synaptic package manager" /></p>
<p>All that&#8217;s left is to mount the share. I will just enter the share to my fstab file and it will then be ready to mount (and automatically mounted on the startup). Again &#8211; use your favorite editor to add a line to the /etc/fstab:</p>
<pre class="brush: plain; title: ; notranslate">
192.168.1.1:/home/js /media/serverhome   nfs rw 0 0
</pre>
<p>This will let the system mount the /home/js share located on the server with the IP 192.168.1.1, into the local folder /media/serverhome with read-write (rw) access.</p>
<p>When this is done, we must create the folder /media/serverhome on the locale machine and then, either reboot the system or manually mount the share like this:</p>
<pre class="brush: plain; title: ; notranslate">
# mount /media/serverhome
</pre>
<p>And we are done.</p>
]]></content:encoded>
			<wfw:commentRss>http://huuah.com/debian-nfs-server-ubuntu-nfs-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing OpenQRM on Debian 5.0</title>
		<link>http://huuah.com/installing-openqrm-on-debian-5-0/</link>
		<comments>http://huuah.com/installing-openqrm-on-debian-5-0/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 09:37:09 +0000</pubDate>
		<dc:creator>js - huuah</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[openqrm]]></category>

		<guid isPermaLink="false">http://huuah.com/?p=668</guid>
		<description><![CDATA[<p>The OpenQRM installation is quite difficult if you ask me. I have tried installing on both Debian and Ubuntu with the precompiled .deb packages and directly from the Debian and Ubuntu repository. Everything seems to fail in one way or the other. But I finally got it working and here &#8230;</p>]]></description>
				<content:encoded><![CDATA[<p>The OpenQRM installation is quite difficult if you ask me. I have tried installing on both Debian and Ubuntu with the precompiled .deb packages and directly from the Debian and Ubuntu repository. Everything seems to fail in one way or the other. But I finally got it working and here is how I did it.</p>
<a name="Installing+a+fresh+Debian+5.0"></a><h1>Installing a fresh Debian 5.0</h1>
<p>I am using Virtual Box on my Ubuntu Workstation. This gives me the option to install the OpenQRM in a closed internal network, without having access to new hardware.</p>
<p>To start with I am doing a fresh installation of Debian 5.05 without any additions. No server software, no desktop software, nothing. Just like this:<br />
<img src="/images/openqrm1.png" alt="Debian Installation" /> </p>
<a name="Installing+the+basic+packages+for+building+the+OpenQRM+source"></a><h1>Installing the basic packages for building the OpenQRM source</h1>
<p>Now I have the most basic Debian installation. The OpenQRM will be installed from the svn repository, so I have to install the subversion and make programs. I will also install the mysql-server-5.0 and postfix manually before starting, as it seems something gets messed up if the OpenQRM installation handles these two:</p>
<pre class="brush: plain; title: ; notranslate">
root@openqrm:~# aptitude install subversion make postfix mysql-server-5.0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Reading extended state information      
Initializing package states... Done
Reading task descriptions... Done  
The following NEW packages will be installed:
  bsd-mailx{a} ca-certificates{a} file{a} libapr1{a} libaprutil1{a} libdb4.5{a} libdbd-mysql-perl{a} libdbi-perl{a} 
  libexpat1{a} libhtml-template-perl{a} libldap-2.4-2{a} liblockfile1{a} libmagic1{a} libmysqlclient15off{a} 
  libneon27-gnutls{a} libnet-daemon-perl{a} libplrpc-perl{a} libpq5{a} libserf-0-0{a} libsqlite3-0{a} libsvn1{a} 
  libterm-readkey-perl{a} libxml2{a} mailx{a} make mime-support{a} mysql-client-5.0{a} mysql-common{a} 
  mysql-server-5.0 openssl{a} openssl-blacklist{a} perl{a} perl-modules{a} postfix psmisc{a} python{a} 
  python-minimal{a} python2.5{a} python2.5-minimal{a} sgml-base{a} ssl-cert{a} subversion xml-core{a} 
0 packages upgraded, 43 newly installed, 0 to remove and 0 not upgraded.
Need to get 64,1MB of archives. After unpacking 189MB will be used.
Do you want to continue? [Y/n/?] Y
</pre>
<p>During the installation of mysql-server-5.0 you will be asked to type in a MySQL root user password. I am entering &#8216;openqrm&#8217; &#8211; you can choose whatever you like, as long as you can remember it later on.<br />
The postfix packages will ask how to deliver mail from the system. This depends on your setup, but I will select the &#8220;Internet Site&#8221; option, so that the server can delivery mail directly on the internet.</p>
<a name="Download+OpenQRM+from+the+svn+repository"></a><h1>Download OpenQRM from the svn repository</h1>
<p>When this is done, the next step is the fetch the newest version from the svn repository:</p>
<pre class="brush: plain; title: ; notranslate">
root@openqrm:~# svn co https://openqrm.svn.sourceforge.net/svnroot/openqrm openqrm
...
Checked out revision 1998.
</pre>
<p>This can take a few minutes and it finishes by displaying which revision I have checked out.</p>
<a name="Compiling+the+OpenQRM+source"></a><h1>Compiling the OpenQRM source</h1>
<p>Next step is to change to the src-folder and start the code compiling by running the &#8216;make&#8217; command:</p>
<pre class="brush: plain; title: ; notranslate">
openqrm:~# cd openqrm/trunk/src/
openqrm:~/openqrm/trunk/src# make
...
...
</pre>
<p>This will download and install all the needed Debian packages by itself.</p>
<a name="Installing+the+OpenQRM+source"></a><h1>Installing the OpenQRM source</h1>
<p>To install the OpenQRM software run the &#8216;make install&#8217; command, when the previously &#8216;make&#8217; command has finished:</p>
<pre class="brush: plain; title: ; notranslate">
openqrm:~/openqrm/trunk/src# make install
</pre>
<p>This will copy all files to the correct positions on the system.</p>
<a name="OpenQRM+system+scripts"></a><h1>OpenQRM system scripts</h1>
<p>The final installation step is to run the &#8216;start&#8217; command, which activates all startup scripts and installs the last required system software:</p>
<pre class="brush: plain; title: ; notranslate">
openqrm:~/openqrm/trunk/src# make start
...
</pre>
<a name="Accessing+the+Web+interface"></a><h1>Accessing the Web interface</h1>
<p>All software has now been installed and the final step is to prepare the MySQL-database.</p>
<p>This is done by accessing the OpenQRM website. My server has the IP address 192.168.1.26, so I will point my browser at http://192.168.1.26/openqrm/ and type in &#8216;openqrm&#8217; in the username and password prompt.</p>
<a name="Step+1"></a><h2>Step 1</h2>
<p>I am clicking &#8216;next&#8217;:<br />
<img src="/images/openqrm2.png" alt="OpenQRM Step 1" /> </p>
<a name="Step+2"></a><h2>Step 2</h2>
<p>I am selecting the MySQL option:<br />
<img src="/images/openqrm3.png" alt="OpenQRM Step 2" /></p>
<a name="Step+3"></a><h2>Step 3</h2>
<p>Now enter the password for the MySQL root user and click &#8216;Initialyze&#8217;<br />
<img src="/images/openqrm4.png" alt="OpenQRM Step 3" /></p>
<a name="All+done"></a><h2>All done</h2>
<p>The OpenQRM should now be installed without any errors:<br />
<img src="/images/openqrm5.png" alt="OpenQRM Step 4" /></p>
<p>The browser will now redirect to the main screen and we are ready to go.</p>
]]></content:encoded>
			<wfw:commentRss>http://huuah.com/installing-openqrm-on-debian-5-0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
