<?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>MartinLanner.com &#187; Operating Systems</title>
	<atom:link href="http://martinlanner.com/category/operating-systems/feed/" rel="self" type="application/rss+xml" />
	<link>http://martinlanner.com</link>
	<description></description>
	<lastBuildDate>Mon, 14 Nov 2011 19:16:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>How to Install OpenVPN Access Server on Proxmox VE</title>
		<link>http://martinlanner.com/2009/06/10/how-to-install-openvpn-access-server-on-proxmox-ve/</link>
		<comments>http://martinlanner.com/2009/06/10/how-to-install-openvpn-access-server-on-proxmox-ve/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 17:30:39 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[OpenVPN]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://martinlanner.com/?p=125</guid>
		<description><![CDATA[I thought OpenVPN Access Server, or OpenVPN AS, was going to be easy to install on Proxmox VE using an OpenVZ container, but it turned out to be a bit more complicated than I had anticipated. So, I decided to write it all up here for others to benefit from.]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-156" title="OpenVPN+Proxmox" src="http://martinlanner.com/wp-content/uploads/2009/06/openvpnproxmox.jpg" alt="OpenVPN+Proxmox" width="150" height="62" />I thought <a href="http://openvpn.net/" target="_blank">OpenVPN Access Server</a>, or OpenVPN AS, was going to be easy to install on <a href="http://pve.proxmox.com/wiki/Main_Page" target="_blank">Proxmox VE</a> using an <a href="http://wiki.openvz.org" target="_blank">OpenVZ</a> container, but it turned out to be a bit more complicated than I had anticipated. So, I decided to write it all up here for others to benefit from.</p>
<p><strong>CREDITS:</strong> I got a lot of assistance from various people on the <a href="https://www.proxmox.com/forum/index.php" target="_blank">Proxmox forums</a>, and specifically from one user, Marius.</p>
<h3>Prepare the Host Node</h3>
<p>There are a few things you will need to do up-front to prepare your &#8220;Host Node,&#8221; that is, your Proxmox VE host to allow for the TUN network interface that OpenVPN requires.  Log in to your Proxmox VE host and open:</p>
<p><code>nano /etc/vz/vz.conf</code></p>
<p>Then, scroll down to the section that says &#8220;## IPv4 iptables kernel modules&#8221; and load a few extra modules for iptables:</p>
<p><code>IPTABLES="ipt_REJECT ipt_tos ipt_TOS ipt_LOG ip_conntrack ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_state iptable_nat ip_nat_ftp"</code></p>
<p>You must restart VZ to load the new modules by running:</p>
<p><code>/etc/init.d/vz restart</code></p>
<p>(NOTE: This will shut down any running VMs.)  Now, you&#8217;re ready to install the OS.</p>
<h3>Install the OS</h3>
<p>First off, at least for the time being, OpenVPN AS needs a 64-bit OS. Currently there are pre-packaged installation files for Ubuntu and Fedora. Installation packages for 32-bit OSes and other distributions are supposedly in the works. Because Proxmox is based on Debian and there are several Debian and Ubuntu OpenVZ templates available already, I chose to use Ubuntu 8.04 LTS 64-bit. That particular template isn&#8217;t included in the &#8220;Appliance Templates&#8221; in Proxmox (at least not in my version), so I had to download it from the Proxmox repositories first.  Simply download the &#8220;ubuntu-8.0-standard_8.04-1_amd64.tar.gz&#8221; template to your Proxmox host. Go to the Proxmox repositories and find the template you want. In my case it was at ftp://download.proxmox.com/appliances/system/ubuntu-8.0-standard_8.04-1_amd64.tar.gz, so:</p>
<p><code>cd /var/lib/vz/template/cache/<br />
wget ftp://download.proxmox.com/appliances/system/ubuntu-8.0-standard_8.04-1_amd64.tar.gz</code></p>
<p>Once the template is downloaded, log in to the web interface of your Proxmox VE host.</p>
<h3>Creating the OpenVZ container</h3>
<p>Hopefully you already know how to create an OpenVZ container in Proxmox. If not, since it&#8217;s not really the focus of this how-to, head over to <a href="http://pve.proxmox.com/wiki/Category:Video_Tutorials" target="_blank">Proxmox Tutorials</a>. Moving on, for my VPN appliance I selected the following settings:</p>
<ul>
<li>Template: ubuntu-8.0-standard_8.04-1_amd64</li>
<li>Disk space (GB): 8</li>
<li>Memory (MB): 512</li>
<li>Swap (MB): 512</li>
<li>Network type: Bridged Ethernet (veth)</li>
</ul>
<p>IMPORTANT: You must select &#8216;Bridged Internet (veth).&#8217; &#8216;Virtual Network (venet)&#8217; will not work.</p>
<p>You should of course also fill out all the other stuff, like hostname, DNS domain, DNS servers, and so on.</p>
<p>Now, simply start the VM.</p>
<h3>Configuring and preparing the VM</h3>
<p>First things, first. Update your OS! Use the &#8220;Open VNC Console&#8221; located in the &#8216;Virtual Machine Configuration&#8217; settings for your VM and run:</p>
<p><code>apt-get update<br />
apt-get upgrade<br />
</code></p>
<p>You also need to configure the IP settings of the VM. Add the network config settings for your setup, like in the following example:</p>
<p><code># Primary network interface<br />
auto eth0<br />
iface eth0 inet static<br />
address 192.168.1.20<br />
netmask 255.255.255.0<br />
network 192.168.1.0<br />
broadcast 192.168.1.255<br />
gateway 192.168.1.1</code></p>
<p>Then, restart your networking, like so:</p>
<p><code>/etc/init.d/networking restart</code></p>
<h3>Install OpenVPN</h3>
<p>Obviously, first things first, so you&#8217;ll need to download the installation file from OpenVPN. To download it you need to first sign up for an account. Once you&#8217;ve signed up, find the URL to the download you want. In my case, using Ubuntu 8.04 LTS 64-bit, the latest available version was OpenVPN AS 1.1.0, so I picked the openvpn-as-1.1.0-Ubuntu8.amd_64.deb file.</p>
<p>That out of the way, last thing to do before you can start configuring your OpenVPN Access Server is to actually install it. This is fast. Log in via SSH or using Proxmox&#8217;s VNC Console. Then, do this:</p>
<p><code>cd /tmp<br />
wget http://path/to/openvpn-as/download/directory/openvpn-as-1.1.0-Ubuntu8.amd_64.deb</code></p>
<p>It&#8217;s a fairly small package, so it should download relatively quickly. Then issue:</p>
<p><code>dpkg -i openvpn-as-1.1.0-Ubuntu8.amd_64.deb</code></p>
<p>It should install everything. When the installation completes, to run initial configuration for your newly installed OpenVPN Access Server, issue the following command:</p>
<p><code>/usr/local/openvpn_as/bin/ovpn-init</code></p>
<p>Unless you have specific requirements, you can just accept the defaults during the configuration process.</p>
<p>I will not cover configuring OpenVPN for your specific needs here. OpenVPN has a good document outlining how to do that. It&#8217;s available to download from their website for people who already have OpenVPN accounts. Obviously, if you&#8217;ve already gotten this far, you should have an account.</p>
<p>That&#8217;s it. All it took in the end was a few &#8220;special&#8221; tweaks here and there to make OpenVPN run in an OpenVZ container, and overall it wasn&#8217;t that complicated once I figured out what those tweaks were. Of course, it would be more straight forward to install OpenVPN AS on a dedicated server, but that would cost you more. And if you already have spare capacity on a virtual host, why not use that?</p>
<p>I hope you enjoyed this how-to. Comments, corrections, feedback, and ideas below are greatly appreciated.</p>
]]></content:encoded>
			<wfw:commentRss>http://martinlanner.com/2009/06/10/how-to-install-openvpn-access-server-on-proxmox-ve/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>T-Mobile webConnect on Ubuntu 9.04</title>
		<link>http://martinlanner.com/2009/06/02/t-mobile-webconnect-on-ubuntu-904/</link>
		<comments>http://martinlanner.com/2009/06/02/t-mobile-webconnect-on-ubuntu-904/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 18:59:41 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Wireless]]></category>
		<category><![CDATA[WWAN]]></category>
		<category><![CDATA[Huawei]]></category>
		<category><![CDATA[T-Mobile]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://martinlanner.com/?p=118</guid>
		<description><![CDATA[I couldn't resist trying the T-Mobile (Huawei E181) HSDPA modem on my netbook running Ubuntu 9.04 Desktop. This is all I had to do to get it working ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-120" title="ubuntu_logo" src="http://martinlanner.com/wp-content/uploads/2009/06/ubuntu_logo.jpg" alt="ubuntu_logo" width="150" height="44" />I couldn&#8217;t resist trying the T-Mobile (Huawei E181) HSDPA modem on my netbook running Ubuntu 9.04 Desktop. This is all I had to do to get it working:</p>
<ol>
<li>Plugged in the USB modem.</li>
<li>Created a new &#8216;Mobile Broadband&#8217; profile using the connection wizard in Ubuntu&#8217;s (Gnome) Network Manager (which already had the T-Mobile USA &#8216;Internet&#8217; settings pre-configured).</li>
<li>Clicked connect on the newly created &#8216;T-Mobile (Internet)&#8217; profile.</li>
</ol>
<p>Wow, that was easy! Easier than on Windows or on a Mac.</p>
<p>Again, I tested my download speed &#8230; in the same physical location as I tested it on with my Mac &#8230; i.e. with somewhat limited coverage. I ran it a few times. I got download speeds of over 800 Kbps every time. Even faster than on my Mac.</p>
]]></content:encoded>
			<wfw:commentRss>http://martinlanner.com/2009/06/02/t-mobile-webconnect-on-ubuntu-904/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>OpenVPN Access Server</title>
		<link>http://martinlanner.com/2009/05/29/openvpn-access-server/</link>
		<comments>http://martinlanner.com/2009/05/29/openvpn-access-server/#comments</comments>
		<pubDate>Fri, 29 May 2009 16:32:45 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[LAN]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenVPN]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[WAN]]></category>

		<guid isPermaLink="false">http://martinlanner.com/?p=108</guid>
		<description><![CDATA[Yesterday OpenVPN Technologies, the company behind the OpenVPN open source project, announced the immediate availability of their new OpenVPN Access Server. OpenVPN Access Server, or OpenVPN AS, is a commercial product based on the open source version originally developed by James Yonan. OpenVPN AS lends itself perfectly to use either on an appliance-style server or [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-115" title="OpenVPN Technologies" src="http://martinlanner.com/wp-content/uploads/2009/05/ovpntech_logo_small.png" alt="OpenVPN Technologies" width="125" height="32" /></p>
<p>Yesterday <a href="http://openvpn.net" target="_blank">OpenVPN Technologies</a>, the company behind the OpenVPN open source project, announced the immediate availability of their new OpenVPN Access Server.</p>
<p>OpenVPN Access Server, or OpenVPN AS, is a commercial product based on the open source version originally developed by James Yonan. OpenVPN AS lends itself perfectly to use either on an appliance-style server or for running in a virtual machine. Installation is straight forward and the licensing agreement is too. The performance and scalability of running OpenVPN AS should be at least on par with most other commercial offerings, while no other, if any, commercial offerings comes even close in cost.</p>
<p>There are other reasons for using OpenVPN too. I won&#8217;t go into details about the architecture of OpenVPN and why it in many ways is superior to other VPN technologies. However, if you want to read more, you can read this thorough <a href="http://www.linux.com/archive/articles/48330" target="_blank">article on VPNs over at Linux.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://martinlanner.com/2009/05/29/openvpn-access-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Install T-Mobile webConnect on A Mac</title>
		<link>http://martinlanner.com/2009/05/28/how-to-install-t-mobile-webconnect-on-a-mac/</link>
		<comments>http://martinlanner.com/2009/05/28/how-to-install-t-mobile-webconnect-on-a-mac/#comments</comments>
		<pubDate>Thu, 28 May 2009 16:36:08 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Equipment]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Wireless]]></category>
		<category><![CDATA[WWAN]]></category>
		<category><![CDATA[Huawei]]></category>
		<category><![CDATA[T-Mobile]]></category>

		<guid isPermaLink="false">http://martinlanner.com/?p=66</guid>
		<description><![CDATA[The other day I was lucky enough to get a demo HSDPA modem from T-Mobile to try out. The modem is a re-branded Huawei E181. Since my main computer is a Mac and the box the modem came in said &#8220;System requirements &#8230; Windows XP, Vista &#8230; Mac OS support available soon,&#8221; I headed directly [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.t-mobile.com"><img class="alignleft size-full wp-image-90" title="T-Mobile" src="http://martinlanner.com/wp-content/uploads/2009/05/tmobile_logo.gif" alt="tmobile_logo" width="121" height="37" /></a>The other day I was lucky enough to get a demo <a href="http://www.t-mobile.com/shop/phones/Cell-Phone-Detail.aspx?cell-phone=T-Mobile-webConnect-USB-Laptop-Stick" target="_blank">HSDPA modem from T-Mobile</a> to try out. The modem is a re-branded Huawei E181. Since my main computer is a Mac and the box the modem came in said &#8220;System requirements &#8230; Windows XP, Vista &#8230; Mac OS support available soon,&#8221; I headed directly to the T-Mobile website hoping to find Mac OS drivers for the modem. However, the T-Mobile website stated the same thing as on the box.</p>
<p>Since I know most other Huawei modems work with Macs, I figured that the E181 must work with a Mac too. So, next I headed over to Huawei&#8217;s product support pages. I couldn&#8217;t find a download for the E181 specifically, but I did find one for the E180 <a href="http://www.huawei.com/mobileweb/en/doc/list.do?type=-1&amp;id=5600" target="_blank">here</a>. The E180 is essentially the same modem, just for other markets. My somewhat educated guess was that the E180 software would likely work for the E181 too. So, I took the chance and downloaded what appeared to include Mac OS drivers. Curiously, the file included an .exe file. Hmm &#8230; Well, I inserted the modem in a Windows machine and ran the newly downloaded application. It warned me that I was about to update the firmware of the modem. Sure. A few moments later I was prompted that the software update had been applied successfully.</p>
<p>Next I moved the modem to my Mac running OS X 10.5.7. It automatically detected the modem and popped up a window with a &#8220;Mobile Connect&#8221; application. I went ahead and installed the app. Once it was done, I opened up the Mobile Connect app and entered in T-Mobile&#8217;s APN details, as follows:</p>
<pre> Name:      T-Mobile USA (this could be named anything)
 Number:    *99***1#
 APN:       internet2.voicestream.com
 Username:  voicestream
 Password:  &lt;blank&gt;</pre>
<p></p>
<p>Then I hit connect &#8230; and voila &#8230; I was online. Sweet!</p>
<p>MobileConnect will create a new modem configuration called “HUAWEI Mobile” in your Mac’s Network Preferences. From now on, if you select the “Show modem status in menu bar,” you can use the modem icon in the menu bar to manage your T-Mobile WWAN connection.</p>
<p>Just out of curiosity I couldn&#8217;t help myself running a speed test. Although I only had one to two bars where I was at, I was able to get above 700 Kbps down and 250 Kbps up. Not too shabby, I&#8217;d say.</p>
<p>A small disclaimer:  The most expensive plan, about $60/month, does NOT include unlimited data. The $60 plan allows for 5GB/month of downloads. That&#8217;s probably enough for most people. But do yourself a favor, don&#8217;t watch YouTube or Hulu using your modem. It may end up costing you a lot in overage fees if you run over your 5GB/month.</p>
]]></content:encoded>
			<wfw:commentRss>http://martinlanner.com/2009/05/28/how-to-install-t-mobile-webconnect-on-a-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Proxmox Virtual Environment &#8211; Part 1</title>
		<link>http://martinlanner.com/2009/05/12/proxmox-virtual-environment-part-1/</link>
		<comments>http://martinlanner.com/2009/05/12/proxmox-virtual-environment-part-1/#comments</comments>
		<pubDate>Wed, 13 May 2009 06:11:55 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Proxmox]]></category>

		<guid isPermaLink="false">http://martinlanner.com/?p=50</guid>
		<description><![CDATA[For a few years now I&#8217;ve been using a bunch of different virtualization products. I&#8217;ve mainly used VMware, although I&#8217;ve tested a bunch of other alternatives. I&#8217;ve used Fusion on Macs, Player and Server on Windows, and Server on headless Linux machines. When it comes to data center equipment I&#8217;ve been working with VMware ESX. [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_104" class="wp-caption alignleft" style="width: 160px"><a href="http://www.proxmox.com"><img src="http://martinlanner.com/wp-content/uploads/2009/05/proxmox_logo.jpg" alt="Proxmox" title="Proxmox" width="150" height="24" class="size-full wp-image-104" /></a><p class="wp-caption-text">Proxmox</p></div>For a few years now I&#8217;ve been using a bunch of different virtualization products. I&#8217;ve mainly used VMware, although I&#8217;ve tested a bunch of other alternatives. I&#8217;ve used Fusion on Macs, Player and Server on Windows, and Server on headless Linux machines. When it comes to data center equipment I&#8217;ve been working with VMware ESX. Then, not too long ago, about half a year ago or so, as I was researching Qumranet and KVM, I stumbled across a little known open source product from an Austrian company called <a href="http://pve.proxmox.com/wiki/Main_Page">Proxmox Virtual Environment (Proxmox VE)</a>.<span id="more-50"></span>Proxmox VE is a bare metal install, which is best run on enterprise grade server hardware. It&#8217;s based on a customized and optimized Debian kernel. Proxmox VE is in many ways similar to VMware ESX or Citrix XenServer. Although a relatively young product, already in version 1.1 of Proxmox VE, most of the &#8220;enterprise features&#8221; of its commercial cousins are available. Some features may still be lacking, but in email exchanges with one of the Proxmox VE&#8217;s main developers, I was told to look forward to some &#8220;very exciting&#8221; enhancements coming in 2.0 of the product.  Installation of Proxmox VE is a breeze.</p>
<p>Once you have downloaded and burned the ISO, it shouldn&#8217;t take more than 30 minutes to install. Once installed, one can download ready-built VM OS and app templates directly from the management interface, which is all web based. That&#8217;s right, it&#8217;s not like VMware&#8217;s crippled web UI, where you can only take some actions, like starting and stopping a machine. All management is done through the web UI.</p>
<p>Proxmox VE is a very versatile product. Not only can one run KVM on top of Proxmox, but it will also run OpenVZ containers. The choice between KVM or OpenVZ usually comes down to what kind of OS you need to run. If you need to run a Windows machine, KVM will be your choice, while you will likely use OpenVZ for most Linux servers.</p>
<p>Back to the templates. All templates available at the time of writing this are OpenVZ templates. However, the Proxmox VE developers say that KVM templates are coming. Getting a template is as easy as point-and-click, and a few moments later, as soon as it&#8217;s downloaded to your &#8220;template library&#8221; you point-and-click again to create a new virtual machine container. It literally doesn&#8217;t take much longer than half a minute to build a new OpenVZ machine.</p>
<p>There is probably at least 10 different templates available already, varying from basic OS templates to full application appliance templates, such as:</p>
<ul>
<li>Ubuntu 8.04</li>
<li>CentOS 5</li>
<li>Fedora 9</li>
<li>Zenoss Core Network Monitoring</li>
<li>Joomla!</li>
<li>Drupal</li>
<li>WordPress</li>
</ul>
<p>The full list of current templates can be found on the <a href="http://pve.proxmox.com/wiki/Get_Virtual_Appliances" target="_blank">Proxmox VE Wiki</a>.</p>
<p>Even if you don&#8217;t have &#8220;enterprise hardware&#8221; lying around at home, but only have some old clunker hardware with a CPU that supports virtualization, I highly recommend downloading and installing Proxmox VE. It&#8217;s a great virtualization platform.</p>
<p>In Part 2, I&#8217;ll be discussing more of Proxmox VE&#8217;s features and dig a little bit deeper. Stay tuned &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://martinlanner.com/2009/05/12/proxmox-virtual-environment-part-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How-to Install AskoziaPBX on An Embedded PC</title>
		<link>http://martinlanner.com/2008/10/17/how-to-install-askoziapbx-on-an-embedded-pc/</link>
		<comments>http://martinlanner.com/2008/10/17/how-to-install-askoziapbx-on-an-embedded-pc/#comments</comments>
		<pubDate>Sat, 18 Oct 2008 02:33:50 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Askozia PBX]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[Askozia]]></category>
		<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Embedded]]></category>
		<category><![CDATA[VoIP]]></category>

		<guid isPermaLink="false">http://martinlanner.com/?p=8</guid>
		<description><![CDATA[I&#8217;ve been running and testing a lot of VoIP systems, all or most of them based on Asterisk. For a long time now I&#8217;ve had a pretty beefy dedicated server running for my home office VoIP. It&#8217;s a complete overkill and it costs a lot of money in just electricity to run the server. So, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been running and testing a lot of VoIP systems, all or most of them based on Asterisk. For a long time now I&#8217;ve had a pretty beefy dedicated server running for my home office VoIP. It&#8217;s a complete overkill and it costs a lot of money in just electricity to run the server. So, to save a buck or two I set out to see if I could find a small Asterisk based distribution that I could install on an embedded system.</p>
<p>I found <a title="Askozia PBX" href="http://www.askozia.com/" target="_blank">AskoziaPBX</a>, a very small distribution (currently) based on FreeBSD. AskoziaPBX is designed with a minimal footprint and runs well on low powered, embedded platforms.</p>
<p>Looking around in my stash of hardware I found a mini-ITX system with a 1.2 GHz VIA CPU, 512KB RAM, and a 1GB Disk on Module (DOM). A DOM is essentially just a solid state hard drive that mounts directly into the IDE socket on the motherboard. Plenty of horsepower to run Askozia PBX.</p>
<p>Since the system I had is essentially a standard x86 PC I downloaded the &#8220;Live Install / CD,&#8221; an .iso, and burned it to a CD. I connected an external USB CD-ROM and booted the system from my newly burned AskoziaPBX ISO image. Well, that didn&#8217;t work so well because of some error with the BTX boot loader, which apparently is a known issue with VIA and FreeBSD. My great master plan of a &#8220;simple&#8221; installation had failed. So now what? I had to come up with an alternate way of getting the AskoziaPBX image on my DOM. So, this is what I ended up doing, which was really pretty fast and simple.</p>
<p>Besides the hardware, this is what you need:</p>
<ul>
<li>Download the AskoziaPBX generic PC image (.img) and put it on a USB drive</li>
<li>Download an the latest version of Ubuntu and burn the .iso to a CD.</li>
</ul>
<p>And this is what you need to do to get the AskoziaPBX image onto your computer&#8217;s DOM.</p>
<ol>
<li>Boot from the live Ubuntu CD</li>
<li>Insert the USB drive (let&#8217;s assume it&#8217;s named &#8220;USB-Drive&#8221;)</li>
<li>Start Terminal (it runs as user &#8220;ubuntu&#8221; when in &#8220;live&#8221; mode)</li>
<li>Create a password for the root account</li>
<p><code>sudo passwd root</code></p>
<li>Type in the password you want twice</li>
<li>Now, still in Terminal, log in as root:</li>
<p><code>su</code></p>
<p>and provide the password you just created</p>
<li>cd to where the USB drive is mounted (normally in /media). Assuming the USB drive is name USB-Drive:</li>
<p><code>cd /media/usb-drive</code></p>
<li>Check that the AskoziaPBX image is there by listing files in the /media/usb-drive directory, by issuing:</li>
<p><code>ls</code></p>
<p>The image should have a name similar to:  <code>pbx-generic-pc-xxx.img</code></p>
<li>If the image is there, which it should be, check the mount point of your DOM by issuing:</li>
<p><code>fdisk -l</code></p>
<p>Be sure to find the right drive. In the next few steps you&#8217;ll be overwriting everything on the drive you select, so make really sure you know which drive to write to.</p>
<li>Assuming your DOM is mounted as /dev/sda, issue the following command:</li>
<p><code>gunzip -c pbx-generic-pc-xxx.img | dd of=/dev/sda bs=16k</code></p>
<li>The process of writing the image to the DOM could take up to a minute. If all went well, your DOM should now be flashed with the AskoziaPBX image.</li>
<li>Shut down Ubuntu.</li>
<li>Remove the external CD-ROM.</li>
<li>Boot up your system again and it should boot into AskoziaPBX</li>
</ol>
<p>Now, all you need to do is to configure AskoziaPBX on your network and get a SIP trunk to use for incoming and outgoing calls. Configuring AskoziaPBX is a different article &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://martinlanner.com/2008/10/17/how-to-install-askoziapbx-on-an-embedded-pc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How-to Install Redmine on Ubuntu 8.04</title>
		<link>http://martinlanner.com/2008/07/04/how-to-install-redmine-on-ubuntu-804/</link>
		<comments>http://martinlanner.com/2008/07/04/how-to-install-redmine-on-ubuntu-804/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 23:19:40 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web apps]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Redmine]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://martinlanner.com/2008/07/04/how-to-install-redmine-on-ubuntu-804/</guid>
		<description><![CDATA[This tutorial assumes that you have some knowledge of Linux and know how to install Ubuntu. It further assumes you have root access and are logged in as root on the server on which you will install Redmine. If you&#8217;re not logged in as root, all command below needs to be prepended with sudo, like: [...]]]></description>
			<content:encoded><![CDATA[<p>This tutorial assumes that you have some knowledge of Linux and know how to install Ubuntu. It further assumes you have root access and are logged in as root on the server on which you will install Redmine. If you&#8217;re not logged in as root, all command below needs to be prepended with sudo, like:<br />
<code><br />
> sudo apt-get install ...<br />
</code></p>
<p>If you follow the tutorial step-by-step, you should have a functioning Redmine installation in less than an hour. I&#8217;ve tried to be as detailed as possible so that even beginners can get a Redmine system up and running. This is tutorial is more or less a cut-and-paste tutorial.</p>
<p>A lot of the instructions for this tutorial were copied verbatim from the excellent Redmine installation instructions here:</p>
<p>http://www.redmine.org/wiki/redmine/RedmineInstall</p>
<p><strong>Requirements for installing Redmine:</strong></p>
<ul>
<li>Ruby on Rails 2.0.2 (Redmine 0.7.x is not compatible with Rails 2.1)</li>
<li>MySQL 4 or higher</li>
</ul>
<p>Optional:</p>
<ul>
<li>SVN binaries (>= 1.3), for repository browsing (must be available in your PATH)</li>
<li>RMagick (Gantt export to a png image)</li>
</ul>
<p>(Note that Rails has some compatibility issues with ruby 1.8.7. The recommended ruby version is 1.8.6.)</p>
<p><strong>Installing Ubuntu</strong></p>
<p>First off, install Ubuntu 8.04 Server. I installed mine on Ubuntu JeOS 8.04. If you will be running Redmine on a virtual server, Ubuntu JeOS is a good choice. JeOS is optimized for virtualization and doesn&#8217;t come with a bunch of packages that you don&#8217;t need. As such, JeOS will typically create a smaller OS footprint. However, the packages you do need, you will probably have to install manually.</p>
<p>Make sure your server installation is up-to-date by issuing:<br />
<code><br />
> apt-get update<br />
> apt-get upgrade<br />
</code></p>
<p><strong>Package installation and setup</strong></p>
<p>Once you&#8217;ve installed the server and updated it, you need to install a bunch of packages that we will prepare the server for the Redmine installation. So, as root, install the following:<br />
<code><br />
> apt-get install build-essential<br />
> apt-get install ssh openssh-server mysql-server phpmyadmin rails rubygems mongrel libmagick9-dev ruby1.8-dev<br />
</code></p>
<p>The packages we&#8217;re installing above are MySQL, phpMyAdmin, Rails, Ruby Gems, Mongrel, LibMagick and Ruby Dev environment.</p>
<p>The last two, LibMagick and Ruby Dev, we install to prepare the system for later installation of RMagick to show some fancy Gantt charts. <img src='http://martinlanner.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>During the installation of the packages, when MySQL is installed, it will prompt you to create a password. Make sure you remember it. You will need it later to log in to the phpMyAdmin.</p>
<p>If you installed Ubuntu JeOS 8.04 like me, then you probably also want to install:<br />
<code><br />
> apt-get install wget nano cron<br />
</code></p>
<p>Create a new directory for Redmine. I put mine in /opt/redmine, so:<br />
<code><br />
> mkdir /opt/redmine<br />
</code></p>
<p>Then:<br />
<code><br />
> cd /opt/redmine<br />
</code></p>
<p>Download the latest archive from Redmine into your newly created /opt/redmine directory:<br />
<code><br />
> wget http://rubyforge.org/frs/download.php/38377/redmine-0.7.2.tar.gz<br />
</code></p>
<p>In my case the latest stable release was: http://rubyforge.org/frs/download.php/38377/redmine-0.7.2.tar.gz. However, that is likely to change, so look here for the latest release: http://rubyforge.org/frs/?group_id=1850.</p>
<p>Now, untar the file you just downloaded:<br />
<code><br />
>tar xvfc redmine-0.7.2.tar.gz<br />
</code></p>
<p><strong>Database setup</strong></p>
<p>Now it&#8217;s time to create an empty database for Redmine. As you may have noticed, we installed phpMyAdmin earlier. phpMyAdmin will come in handy now. Head over to:<br />
<code></p>
<p>http://192.168.1.10/phpmyadmin</p>
<p></code></p>
<p>You should be presented with the phpMyAdmin login screen.</p>
<p>Type in <code>root</code> and the MySQL password you created when installing MySQL.</p>
<p>First, click on &#8220;Databases.&#8221; Then, at the bottom of the screen, in the &#8220;Create new database&#8221; text box create a new database called <code>redmine</code> and set &#8220;Collation&#8221; to <code>utf8_general_ci</code>.</p>
<p>Now, go back to the home screen and click on:</p>
<ul>
<li>&#8220;Privileges&#8221;</li>
<li>&#8220;Add a new User&#8221;</li>
</ul>
<p>Fill out the &#8220;Login Information&#8221; boxes. Call your user <code>redmine</code>. Make sure you remember the password you create here. It will be used when you set up the database connection details in Redmine.</p>
<p>In the &#8220;Database for user&#8221; section, check &#8220;Create database with same name and grant all privileges&#8221; and click on the &#8220;Go&#8221; button.</p>
<p>Log out of phpMyAdmin.</p>
<p><strong>Redmine database connection configuration</strong></p>
<p>It&#8217;s time to configure the database connection. If you installed Redmine as I did above, then copy config/database.yml.example to config/database.yml and edit this file in order to configure your database settings for &#8220;production&#8221; environment. You&#8217;ll find the database.yml.example here:<br />
<code><br />
/opt/redmine/redmine-0.7.2/config<br />
</code></p>
<p>So now, assuming you&#8217;re in the /config directory, do:<br />
<code><br />
> cp database.yml.example database.yml<br />
</code></p>
<p>Then, open the database.yml file, so:<br />
<code><br />
> nano database.yml<br />
</code></p>
<p>&#8230; and edit it as in the example for a MySQL database below:<br />
<code><br />
	production:<br />
	  adapter: mysql<br />
	  socket: /var/run/mysqld/mysqld.sock<br />
	  database: redmine<br />
	  host: localhost<br />
	  username: redmine<br />
	  password: [password]<br />
</code></p>
<p>Then hit Ctrl+X to exit and answer Y to the prompt and hit enter to write to the database.yml file.</p>
<p>On Ubuntu the mysql.sock is located in /var/run/mysqld/mysqld.sock, as noted in the config above. (The standard Redmine installation assumes the socket is located in /tmp/mysqld.sock.)</p>
<p>Create the database structure, by running the following command under the application root directory:<br />
<code><br />
> rake db:migrate RAILS_ENV="production"<br />
</code></p>
<p>It will create the necessary tables in the redmine database you created earlier and an administrator account.</p>
<p>Insert default configuration data in database, by running the following command:<br />
<code><br />
> rake redmine:load_default_data RAILS_ENV="production"<br />
</code></p>
<p>(This step is optional but highly recommended, as you can define your own configuration from scratch. It will load default roles, trackers, statuses, workflows and enumerations.)</p>
<p><strong>Setting up permissions</strong></p>
<p>The user who runs Redmine must have write permission on the following subdirectories: files, log, tmp (create the last one if not present).</p>
<p>You probably already have a /tmp directory in /opt/redmine/redmine-0.7.2, but if you don&#8217;t, create one now:<br />
<code><br />
> mkdir tmp<br />
</code></p>
<p>If you haven&#8217;t created a Redmine user, do it now by issuing:<br />
<code><br />
> useradd redmine<br />
</code></p>
<p>Now, assuming you run Redmine with a redmine user, from your /opt/redmine/redmine-0.7.2 directory issue:<br />
<code><br />
> chown -R redmine:redmine files log tmp<br />
> chmod -R 755 files log tmp<br />
</code></p>
<p><strong>A little fancy graphics</strong></p>
<p>To get those fancy looking Gantt charts, install RMagick too:<br />
<code><br />
> gem install rmagick<br />
</code></p>
<p><strong>Testing the installation</strong></p>
<p>It should all be working now. Test the installation by running the WEBrick web server:<br />
<code><br />
> ruby script/server -e production<br />
</code></p>
<p>Once WEBrick has started, point your browser to http://localhost:3000/. Or, if you are using a browser on another computer than what you installed Redmine on, point your browser to http://192.168.1.10:3000/ (if that&#8217;s the IP address you gave your Redmine server). You should now see the application welcome page.</p>
<p><strong>Log in</strong></p>
<p>Use default administrator account to log in:</p>
<ul>
<li>Login: admin</li>
<li>Password: admin</li>
</ul>
<p>You can go to Admin &#038; Settings to modify application settings.</p>
<p><strong>SMTP server configuration</strong>></p>
<p>In config/environment.rb, you can set parameters for your SMTP server:<br />
<code><br />
config.action_mailer.smtp_settings: SMTP server configuration<br />
config.action_mailer.perform_deliveries: set to false to disable mail delivering<br />
</code></p>
<p>Don&#8217;t forget to restart the application after any change.</p>
<p><strong>Start application boot time</strong></p>
<p>To automatically start the application on booting your server you need to modify your crontab, like so:<br />
<code><br />
export EDITOR=nano<br />
crontab -e<br />
</code></p>
<p>Your crontab file will be presented. This is the list of programs that start at certain times or at boot. Add the following to the crontab (all on one line):<br />
<code><br />
@reboot cd /opt/redmine/redmine-0.7.2 ; rm -f log/mongrel.pid ; mongrel_rails start -e production -p 3000 -d<br />
</code></p>
<p><strong>Backups</strong></p>
<p>Running backups is always a good idea. Right? Redmine backups should include:</p>
<ul>
<li>data (stored in your redmine database)</li>
<li>attachments (stored in the files directory of your Redmine install)</li>
</ul>
<p>Here is a simple shell script that can be used for daily backups (assuming you&#8217;re using a mysql database):<br />
<code><br />
# Database<br />
/usr/bin/mysqldump -u <username> -p
<password> <redmine_database> | gzip > /path/to/backup/db/redmine_`date +%y_%m_%d`.gz</p>
<p># Attachments<br />
rsync -a /path/to/redmine/files /path/to/backup/files<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://martinlanner.com/2008/07/04/how-to-install-redmine-on-ubuntu-804/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>The small firm&#8217;s and road warrior&#8217;s dilemma. Solution: Step 1 &#8211; a VPN.</title>
		<link>http://martinlanner.com/2007/09/15/the-small-firms-and-the-road-warriors-dilemma-solution-step-1-a-vpn/</link>
		<comments>http://martinlanner.com/2007/09/15/the-small-firms-and-the-road-warriors-dilemma-solution-step-1-a-vpn/#comments</comments>
		<pubDate>Sat, 15 Sep 2007 21:40:54 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[OpenVPN]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Small Business]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://martinlanner.com/2007/09/15/the-small-firms-and-the-road-warriors-dilemma-solution-step-1-a-vpn/</guid>
		<description><![CDATA[I work with a lot of individuals and small companies, companies ranging in size from 1-20 people. Many of the companies are consulting companies in various industries. Oftentimes the companies do not have much in common except that they are relatively small. What they do have in common, however, is their need for computer and [...]]]></description>
			<content:encoded><![CDATA[<p>I work with a lot of individuals and small companies, companies ranging in size from 1-20 people. Many of the companies are consulting companies in various industries. Oftentimes the companies do not have much in common except that they are relatively small. What they do have in common, however, is their need for computer and network support. Because they are consulting companies many of them work for different clients in different places and rarely work from their own offices. Working from remote offices means they rely on laptops for their daily computing needs, and thus storing most of their valuable data on one machine, creating several IT-related challenges. Examples of challenges they face are:<span id="more-4"></span></p>
<ul>
<li>They don&#8217;t make regular backups of their laptops.</li>
<li>If they have a &#8220;corporate&#8221; file server, they don&#8217;t back that up either.</li>
<li>They can&#8217;t remotely access their file server.</li>
<li>If they do have remote access to their file server, typically their small business network is not configured in a very secure way.</li>
</ul>
<p>When I talk to friends and colleagues who operate small businesses, they all seem to have the same problem. They don&#8217;t have the knowledge and/or time to set up a good network and computing environment for themselves and their company. They can&#8217;t buying expensive and proprietary hardware and software to solve these problems. And, on top of that, they can&#8217;t afford hiring a consultant to implement all these things for them.</p>
<p>In order to see if I could solve at least part of the dilemma, for the last few months I&#8217;ve been looking for a Virtual Private Network (VPN) solution that meets the following five requirements:</p>
<ol>
<li>Inexpensive</li>
<li>Simple</li>
<li>Reliable</li>
<li>Scalable</li>
<li>OS independent</li>
</ol>
<p>Well, there&#8217;s a sixth requirement, secure, but that&#8217;s a given. There are countless VPN solutions on the market and many good ones. But, they typically only meet three or four of the five requirements I have defined as necessary to solve the problem.</p>
<p>So, for the past few months I&#8217;ve been doing a lot of research on VPNs. IPSec and PPTP VPNs keep on popping up all the time as the core offerings of the large, well-known firms providing VPN products. Fairly recently many of the established firms have also started offering SSL VPN solutions. No matter what protocols are used, for the most part, what they have to offer is technically sound from a reliability and scalability perspective. And there&#8217;s certainly no reason to doubt that these products meet the security requirements expected from a VPN. However, most of the solutions are not:</p>
<ul>
<li>inexpensive (at least not in the eyes of the small companies I&#8217;m talking about),</li>
<li>simple enough to install and configure for the lay person with almost no networking and security knowledge, and</li>
<li>they are not OS independent.</li>
</ul>
<p>Why is OS independence so important? Well, maybe it&#8217;s not &#8230; yet. However, more and more people I know and talk to, especially in small companies, are getting Mac OS computers; an operating system largely ignored by most VPN product vendors. So, therefore, I believe OS independence is becoming more and more important. Because of that belief I set my mind on finding a solution that will work for nearly all situations, and not just for Windows users. (I mostly work on Macs myself, so that&#8217;s a big driver too.)</p>
<p>After a lot of searching, reading, and testing I found <a href="http://www.openvpn.net">OpenVPN</a> founded by James Yonan. As the name suggests, OpenVPN is an open source product and is therefore free to use and distribute. OpenVPN is a so-called SSL VPN, using Secure Socket Layer (SSL) to to encrypt all traffic. SSL is the same security technology used on e-commerce websites and what banks use for Internet banking. Furthermore, OpenVPN is compatible with a large range of operating systems, including Windows, Mac, and Linux. It is also very scalable and is being actively used in large installations all over the world. Scalability of course depends on the horsepower of the computer hardware on which it is installed, but for a small company, a simple computer, which may otherwise not be fit for today&#8217;s computing needs, can be reused to handle many simultaneous VPN connections. That pretty much covers four out of my five requirements. So, what about simplicity? Well, to be quite honest, OpenVPN is not that simple for the average person with limited computing, networking, and security skills. But neither are the big &#8220;brand name&#8221; vendors&#8217; solutions. Because it does meet all the other requirements, I believe it&#8217;s the best fit out there for small businesses.</p>
<p>For a small business that wants to significantly improve its computing environment, I think it&#8217;s affordable and worthwhile to hire a good network/security consultant to deploy a VPN. Once installed, OpenVPN is extremely easy to use and it work really well. Obviously, to resolve all the issues around backup, etc, mentioned above, simply installing a VPN won&#8217;t solve all that in one swoop, but it does go a long way towards creating a better environment for the &#8220;road warrior&#8221; and it does open up the doors to a nice and cost effective setup for centralized file storage, management, and backups.</p>
]]></content:encoded>
			<wfw:commentRss>http://martinlanner.com/2007/09/15/the-small-firms-and-the-road-warriors-dilemma-solution-step-1-a-vpn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

