<?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"
	>

<channel>
	<title>The OS Quest &#187; &#187; Linux</title>
	<atom:link href="http://www.theosquest.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.theosquest.com</link>
	<description>A Frustrating Journey</description>
	<pubDate>Fri, 22 Aug 2008 00:13:59 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>Ubuntu 8.04 (Hardy Heron) Desktop on Parallels</title>
		<link>http://www.theosquest.com/2008/05/03/ubuntu-804-hardy-heron-desktop-on-parallels/</link>
		<comments>http://www.theosquest.com/2008/05/03/ubuntu-804-hardy-heron-desktop-on-parallels/#comments</comments>
		<pubDate>Sat, 03 May 2008 15:36:54 +0000</pubDate>
		<dc:creator>ray</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.theosquest.com/2008/05/03/ubuntu-804-hardy-heron-desktop-on-parallels/</guid>
		<description><![CDATA[ After upgrading my Ubuntu 7.01 Server to Ubuntu 8.04 Server without incident I decided to upgrade my Ubuntu 7.10 Desktop install that I have set up in a Parallels virtual machine. I&#8217;d originally installed Ubuntu 7.04 then upgraded to Ubuntu 7.10. So now it would be an upgrade to Ubuntu 8.04.
The upgrade went as [...]<p><a href="http://sharethis.com/item?&#038;wp=2.6.1&#38;publisher=398436b4-a27f-4fdd-83fb-b8f78e0ac9b9&#38;title=Ubuntu+8.04+%28Hardy+Heron%29+Desktop+on+Parallels&#38;url=http%3A%2F%2Fwww.theosquest.com%2F2008%2F05%2F03%2Fubuntu-804-hardy-heron-desktop-on-parallels%2F">ShareThis</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theosquest.com/wp-content/uploads/2008/05/ubuntulogo-120.png"><img height="122" alt="UbuntuLogo_120" src="http://www.theosquest.com/wp-content/uploads/2008/05/ubuntulogo-120-thumb.png" width="120" align="left"></a> After upgrading my Ubuntu 7.01 Server to Ubuntu 8.04 Server without incident I decided to upgrade my Ubuntu 7.10 Desktop install that I have set up in a Parallels virtual machine. I&#8217;d originally <a title="Jump to my article about installing Ubuntu 7.04 Desktop on Parallels" href="http://www.theosquest.com/2007/04/21/ubuntu-704-feisty-fawn-on-parallels/">installed Ubuntu 7.04</a> then <a title="Jump to my article about upgrading to Ubuntu 7.10 Desktop on Parallels" href="http://www.theosquest.com/2007/12/08/upgrade-to-ubuntu-710-gutsy-gibbon-on-parallels/">upgraded to Ubuntu 7.10</a>. So now it would be an upgrade to <strong>Ubuntu 8.04</strong>.</p>
<p>The upgrade went as described in the <a title="Jump to the Ubuntu upgrade instructions at ubuntu.com" href="http://www.ubuntu.com/getubuntu/upgrading">Ubuntu instructions</a>. The upgrade told me it would remove 65 packages, install 182 new ones and upgrade 867 packages. All this would total a 643MB download which would take an estimated 49 minutes. It took more than 49 minutes but I was using the default mirrors and they were being hit pretty hard at the time so the download took about twice as long as estimated. </p>
<p>I never got into using Ubuntu on my Mac so I can&#8217;t really say what changed, but the upgrade went off without a hitch. At least until it came time to install <strong>Parallels Tools</strong>. The tools failed to install with an error that the xorg installation couldn&#8217;t be found. Based on <a title="Jump to the Parallels Tools thread at the Parallels forums" href="http://forum.parallels.com/showthread.php?t=19052">this thread</a> on the Ubuntu forum there doesn&#8217;t seem to be a work around at this time.</p>
<p>I still haven&#8217;t seen anything in Ubuntu (or any other Linux desktop) that would have me using it over my Mac on any regular basis. It&#8217;s nice to have to satisfy my curiosity and since I don&#8217;t use it regularly the lack of Parallels Tools support doesn&#8217;t affect me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theosquest.com/2008/05/03/ubuntu-804-hardy-heron-desktop-on-parallels/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu 7.10 Server to Ubuntu 8.04 Server (Hardy Heron) Under Parallels</title>
		<link>http://www.theosquest.com/2008/04/25/ubuntu-710-server-to-ubuntu-804-server-hardy-heron-under-parallels/</link>
		<comments>http://www.theosquest.com/2008/04/25/ubuntu-710-server-to-ubuntu-804-server-hardy-heron-under-parallels/#comments</comments>
		<pubDate>Sat, 26 Apr 2008 01:31:26 +0000</pubDate>
		<dc:creator>ray</dc:creator>
		
		<category><![CDATA[Ubuntu Server Project]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[parallels_for_mac]]></category>

		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.theosquest.com/2008/04/25/ubuntu-710-server-to-ubuntu-804-server-hardy-heron-under-parallels/</guid>
		<description><![CDATA[ Even though I&#8217;m still in the middle of building my Ubuntu test server I decided to go ahead and upgrade it to Ubuntu Server 8.04 (Hardy Heron). Sure, I&#8217;m still learning all this stuff and this will make it harder to troubleshoot problems. Upgrade issue? My configuration error? Oh well, it&#8217;s all for fun [...]<p><a href="http://sharethis.com/item?&#038;wp=2.6.1&#38;publisher=398436b4-a27f-4fdd-83fb-b8f78e0ac9b9&#38;title=Ubuntu+7.10+Server+to+Ubuntu+8.04+Server+%28Hardy+Heron%29+Under+Parallels&#38;url=http%3A%2F%2Fwww.theosquest.com%2F2008%2F04%2F25%2Fubuntu-710-server-to-ubuntu-804-server-hardy-heron-under-parallels%2F">ShareThis</a></p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.theosquest.com/wp-content/uploads/sitepics/UbuntuLogo-BW122.png" align="left"> Even though I&#8217;m still in the middle of building my <strong>Ubuntu</strong> test server I decided to go ahead and upgrade it to <strong>Ubuntu Server 8.04 (Hardy Heron)</strong>. Sure, I&#8217;m still learning all this stuff and this will make it harder to troubleshoot problems. Upgrade issue? My configuration error? Oh well, it&#8217;s all for fun anyway.</p>
<p>My environment is <strong>Ubuntu Server 7.10</strong> under <strong>Parallels Desktop 3 Build 5584</strong> running on OS X 10.5.2. For complete details you can see earlier articles in the <a title="Jump to my Linux page and the Ubuntu Server series index." href="http://www.theosquest.com/linux/#usp">Ubuntu Server series</a>.</p>
<p>First off I make sure everything is up to date by running:</p>
<p><code>sudo aptitude update</code></p>
<p><code>sudo aptitude safe-upgrade</code></p>
<p>Then I made sure the update manager was installed:</p>
<p><code>sudo aptitude install update-manager-core</code></p>
<p>Then I use Parallels snapshot manager to create a snapshot of my now up-to-date Ubuntu 7.10 server so I can easily roll back. I start the upgrade with:</p>
<p><code>sudo do-release-upgrade</code></p>
<p>Since I&#8217;m doing this through SSH from terminal on my iMac I&#8217;m given the following warning:</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/04/releaseupgrade-01.png"><img height="327" alt="ReleaseUpgrade-01" src="http://www.theosquest.com/wp-content/uploads/2008/04/releaseupgrade-01-thumb.png" width="581"></a> </p>
<p>I go ahead and do the installation. Everything is on my local network so I shouldn&#8217;t have a problem. I could do the upgrade directly in the VM but I prefer to continue with the illusion that the server is remote. Once I acknowledge that I want the upgrade the installer does some calculations and tells me:</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/04/releaseupgrade-02.png"><img height="220" alt="ReleaseUpgrade-02" src="http://www.theosquest.com/wp-content/uploads/2008/04/releaseupgrade-02-thumb.png" width="448"></a> </p>
<p>I go ahead and start the upgrade. Things are a bit slower than the estimated two minutes, the downloads take about 30 minutes. I&#8217;m using the default repositories and with the new release they are probably being pounded. But since I could let the update run while I did other things so it was no big deal.</p>
<p>After the download the installer started unpacking the files and updating the software which took another 20 minutes. I was prompted for a few file replacements and in all cases I chose to keep my current file. The prompts were for the MySQL my.cnf, the apache2.conf, the php.ini for Apache and the configuration file for the default Apache site. Once the updating is finished I need to restart Ubuntu.</p>
<p>I do some quick testing by connecting via terminal using SSH and connecting to my website using both a regular http connection and an SSL connection. Everything seems to work fine. We&#8217;ll see what happens in the days ahead.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theosquest.com/2008/04/25/ubuntu-710-server-to-ubuntu-804-server-hardy-heron-under-parallels/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu Server Project #9: SFTP, Fake DNS, and Apache SSL</title>
		<link>http://www.theosquest.com/2008/04/16/ubuntu-server-project-9-sftp-fake-dns-and-apache-ssl/</link>
		<comments>http://www.theosquest.com/2008/04/16/ubuntu-server-project-9-sftp-fake-dns-and-apache-ssl/#comments</comments>
		<pubDate>Wed, 16 Apr 2008 23:53:30 +0000</pubDate>
		<dc:creator>ray</dc:creator>
		
		<category><![CDATA[Ubuntu Server Project]]></category>

		<category><![CDATA[apache]]></category>

		<category><![CDATA[ubuntu]]></category>

		<category><![CDATA[ubuntu_server_project]]></category>

		<guid isPermaLink="false">http://www.theosquest.com/2008/04/16/ubuntu-server-project-9-sftp-fake-dns-and-apache-ssl/</guid>
		<description><![CDATA[ Things are moving along with the Ubuntu Server Project but there&#8217;s a bunch of small tasks and configuration changes that will make life easier going forward. This article will cover installing vsftpd, setting up a self-signed SSL certificate in Apache, and configuring my local Mac to access the Ubuntu server virtual machine by name. [...]<p><a href="http://sharethis.com/item?&#038;wp=2.6.1&#38;publisher=398436b4-a27f-4fdd-83fb-b8f78e0ac9b9&#38;title=Ubuntu+Server+Project+%239%3A+SFTP%2C+Fake+DNS%2C+and+Apache+SSL&#38;url=http%3A%2F%2Fwww.theosquest.com%2F2008%2F04%2F16%2Fubuntu-server-project-9-sftp-fake-dns-and-apache-ssl%2F">ShareThis</a></p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.theosquest.com/wp-content/uploads/sitepics/UbuntuLogo-BW122.png" align="left" /> Things are moving along with the <a title="Jump to the Ubuntu Server Project article index" href="http://www.theosquest.com/linux/#usp">Ubuntu Server Project</a> but there&#8217;s a bunch of small tasks and configuration changes that will make life easier going forward. This article will cover installing <a title="Jump to the vsftpd project page at beasts.org" href="http://vsftpd.beasts.org/">vsftpd</a>, setting up a <strong>self-signed SSL certificate</strong> in <strong>Apache</strong>, and configuring my local Mac to access the Ubuntu server virtual machine by name. Even though the server is a VM sitting on my Mac and not accessible from the Internet I&#8217;ll still be treating it as if it was on the Internet and needs to be secure.</p>
<h3>vsftpd</h3>
<p>The installation of <strong>vsftpd</strong> is simple using aptitude: <code>sudo aptitude install vsftpd</code></p>
<p>Since I don&#8217;t plan to use regular ftp, just <strong>sftp</strong>, I don&#8217;t have to make any changes in the iptables firewall settings. SSL connections are already allowed through and I still want to block regular ftp connections. I also want to limit connections to just the users that are set up on the server.</p>
<p>I fire up Transmit (my FTP client) and set up a connection with the following settings:</p>
<p>Server: 10.0.1.200&#160; (the IP address of the VM)</p>
<p>User Name/Password: I leave these fields blank because I&#8217;m using SSL certificates from this Mac</p>
<p>Port: 22222&#160; (the SSL port I configured)</p>
<p>Protocol: SFTP</p>
<p>I don&#8217;t set up any default remote path. I connect in and it defaults to the home directory of my Ubuntu ID. I try a regular ftp connection, as expected it fails due to the firewall. Even though I&#8217;m good to go I&#8217;m going to go through the vsftpd configuration file and make some changes as if this was a live server. I load the file into the nano editor (<code>sudo nano /etc/vsftpd.conf</code>) and scroll down the file. It&#8217;s well commented, although it doesn&#8217;t contain all the configuration options.</p>
<p>I turn off anonymous ftp by changing <strong>anonymous_enable</strong> to <code>anonymous_enable=NO</code>.</p>
<p>At the end of the file I add <code>ssl_enable=YES</code> to explicitly turn on SSL. Even though they are documented as the default settings I also add <code>force_local_data_ssl=YES</code> and <code>force_local_logins_ssl=YES</code> to the end of the file in order to force all logons and connections to use SSL. You can view the complete vsftpd file <a title="View my vsftpd.conf file" href="http://www.theosquest.com/wp-content/uploads/files/vsftpdconf.txt">here</a>.</p>
<h3>Editing the Mac OS X Hosts File</h3>
<p>Apple has a support article for <a title="JUmp to the support article at apple.com" href="http://docs.info.apple.com/article.html?artnum=88158">editing a hosts file</a> which you can refer to if you&#8217;re using a version of OS X prior to 10.2. For my purposes I&#8217;ve decided to use a dev subdomain for the sites on my virtual server. So the website on my vm will be dev.theosquest.com. I&#8217;ll add this to the local hosts file on my Mac so that it will resolve to my Ubuntu VM. I also add a fictitious domain just so I can test Apache with multiple domains. I&#8217;ll use myfakedomain.ray as this domain. Because I&#8217;ll be resolving this name locally the fact that&#8217;s it an invalid domain extension isn&#8217;t a problem.</p>
<p>I start terminal on my Mac and load the hosts file into the nano editor, using admin privileges:</p>
<p><code>sudo nano /etc/hosts</code></p>
<p>I want the domains to be dev.theosquest.com &amp; fakedomain.com, the ip address of my vm is 10.0.1.200 so I add the following lines at the end of the hosts file:</p>
<p><code>10.0.1.200&#160;&#160;&#160;&#160; dev.theosquest.com</code></p>
<p><code>10.0.1.200&#160;&#160;&#160;&#160; fakedomain.ray</code></p>
<p><code>10.0.1.200&#160;&#160;&#160;&#160; www.fakedomain.ray</code></p>
<p>I add the www for myfakedomain so I can test both methods of addressing a domain.</p>
<p>Once I save the file I can ping the server by name from terminal:</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/04/ping.png"><img height="88" alt="Ping" src="http://www.theosquest.com/wp-content/uploads/2008/04/ping-thumb.png" width="377" /></a> </p>
<p>If a site was already set up in Apache, or the default site was enabled, I could access it&#160; through the browser. It might be necessary to clear the DNS cache of the Mac if you make multiple changes. Run <code>dscacheutil -flushcach</code> from terminal to clear the cache in Leopard and <code>lookupd -flushcache</code> to clear the cache in Tiger. I can still access my production website from my Mac because only the dev subdomain is directed to the VM by my hosts file. </p>
<h3>Self-Signed SSL Certificate</h3>
<p>Because this is only a test server I&#8217;m going to set it up with a self-signed SSL certificate. With earlier versions of Ubuntu a self-signed certificate could be easily created by running <code>sudo apache2-ssl-certificate</code>. This script is no longer part of Ubuntu (because it was dropped by Debian) so I had to use a workaround. I already <a title="Jump to my article about installing SSH" href="http://www.theosquest.com/2008/01/18/ubuntu-sever-project-3-networking-ssh-setup/">installed SSH</a> so I already have the tools needed to generate a self-signed certificate.</p>
<p>I&#8217;ll use <code>make-ssl-cert</code> to generate the certificate. By default the certificate is only good for a month but I don&#8217;t want to generate a new certificate every month. A ten year certificate for testing should do nicely (well almost 10 years, I&#8217;ll ignore the days added in leap years). I&#8217;ll need to edit <strong>make-ssl-cert</strong> so I load it into nano.</p>
<p><code>sudo nano /usr/sbin/make-ssl-cert</code></p>
<p>Scroll to line 118 (at least in my file) or search for <strong>openssl req</strong> until you see the line: </p>
<p><code>openssl req -config $TMPFILE -new -x509 -nodes -out $output -keyout $output &gt; /dev/null 2&gt;&amp;1 </code></p>
<p>Change it to:</p>
<p><code>openssl req -config $TMPFILE -new -x509 -nodes -out $output -keyout $output -days 3650 &gt; /dev/null 2&gt;&amp;1 </code></p>
<p>Note the added <strong>-days 3650</strong> parameter which will create a 10 year certificate. Once the modified file is saved I can create the certificate.</p>
<p>First I create a directory for the certificates: </p>
<p><code>sudo mkdir /etc/apache2/ssl</code></p>
<p>Then I create the certificate:</p>
<p><code>sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem</code></p>
<h3>Enabling SSL</h3>
<p>Next up I need to configure the default Apache site to listen for SSL connections. If I had already configured other sites I&#8217;d need to configure those too. This is well covered in the Virtual Hosts section of <a title="Jump to the Virtual Hosts article at slicehost.com" href="http://articles.slicehost.com/2007/10/2/ubuntu-lts-apache-ssl-and-vhosts">this document</a>. I won&#8217;t repeat all the steps here, but here&#8217;s my updated virtual host file: <a title="View the default virtual host file" href="http://www.theosquest.com/wp-content/uploads/files/defaultvirtualhost">view file</a></p>
<p>In my installation the default ports.conf file was already set to listen on port 443 if the ssl module is loaded, but be sure to check it (it&#8217;s in /etc/apache2):</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/04/portsconf.png"><img height="95" alt="portsconf" src="http://www.theosquest.com/wp-content/uploads/2008/04/portsconf-thumb.png" width="145" /></a> </p>
<p>And finally, I need to enable the SSL module&#8230;</p>
<p><code>sudo a2enmod ssl</code></p>
<p>and reload Apache to enable all the changes I made:</p>
<p><code>sudo /etc/init.d/apache2 force-reload</code></p>
<h3>Testing &amp; Summary</h3>
<p>I still haven&#8217;t created the actual dev.theosquest.com website but any connections should be sent to the default website. I test a http and https connection and I get the &quot;It Works&quot; page that I created for the default site.</p>
<p>The self-signed certificate isn&#8217;t suitable for a production environment but it&#8217;s fine for testing. I can tell my browsers to always accept the certificate since I know how they&#8217;re created. But no one else would trust them (at least they shouldn&#8217;t). The screenshot below shows the certificate as seen by Firefox. </p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/04/certificate.png"><img height="167" alt="certificate" src="http://www.theosquest.com/wp-content/uploads/2008/04/certificate-thumb.png" width="159" /></a> </p>
<p>Also, only one certificate per IP address can be used, so if I host multiple websites all but one of the sites will generate a second error saying that the certificate wasn&#8217;t issued for the site being accesses (this assumes that one site does in fact match). I&#8217;d have to assign each site a unique IP address to get around this.</p>
<p>So now I can access the web server on my vm by name, I can upload files via SFTP and I can test SSL pages. I guess I&#8217;ve put it off long enough and I&#8217;ll have to start building some websites.</p>
<h3>Additional Reading</h3>
<p>This <a title="Jump to the thread at UbuntuForums.com" href="http://ubuntuforums.org/archive/index.php/t-405786.html">thread</a> on the Ubuntu Forum has a short discussion on the dropping of the <strong>apache2-ssl-certificate</strong> script from Ubuntu along with some workarounds, including the one I used.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theosquest.com/2008/04/16/ubuntu-server-project-9-sftp-fake-dns-and-apache-ssl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu Server Project #8: Apache Configuration</title>
		<link>http://www.theosquest.com/2008/03/19/ubuntu-server-project-8-apache-configuration/</link>
		<comments>http://www.theosquest.com/2008/03/19/ubuntu-server-project-8-apache-configuration/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 05:46:00 +0000</pubDate>
		<dc:creator>ray</dc:creator>
		
		<category><![CDATA[Ubuntu Server Project]]></category>

		<category><![CDATA[apache]]></category>

		<category><![CDATA[ubuntu]]></category>

		<category><![CDATA[ubuntu_server_project]]></category>

		<guid isPermaLink="false">http://www.theosquest.com/2008/03/19/ubuntu-server-project-8-apache-configuration/</guid>
		<description><![CDATA[ The previous article in my Ubuntu Server Project series covered the installation of Apache. Now it&#8217;s time for some configuration. I&#8217;ll start off by looking around the Apache installation ten make some minor configuration changes.
The Apache config folder is /etc/apache2 which contains the following files &#38; folders:
 
The names in blue are folders.
The sites-available [...]<p><a href="http://sharethis.com/item?&#038;wp=2.6.1&#38;publisher=398436b4-a27f-4fdd-83fb-b8f78e0ac9b9&#38;title=Ubuntu+Server+Project+%238%3A+Apache+Configuration&#38;url=http%3A%2F%2Fwww.theosquest.com%2F2008%2F03%2F19%2Fubuntu-server-project-8-apache-configuration%2F">ShareThis</a></p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.theosquest.com/wp-content/uploads/sitepics/UbuntuLogo-BW122.png" align="left" /> The previous article in my <a title="Jump to the Ubuntu Server Project section on my Linux page" href="http://www.theosquest.com/linux/#usp">Ubuntu Server Project</a> series covered the installation of <strong>Apache</strong>. Now it&#8217;s time for some configuration. I&#8217;ll start off by looking around the Apache installation ten make some minor configuration changes.</p>
<p>The Apache config folder is <strong>/etc/apache2</strong> which contains the following files &amp; folders:</p>
<p><img height="154" alt="apache-03" src="http://www.theosquest.com/wp-content/uploads/2008/03/apache-03.png" width="361" /> </p>
<p>The names in blue are folders.</p>
<p>The <strong>sites-available</strong> folder has what it says, the sites that are available. But just because they&#8217;re available doesn&#8217;t mean they&#8217;re enabled. There&#8217;s one site in the sites-available folder, the default site.</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/03/apache-04.png"><img height="44" alt="apache-04" src="http://www.theosquest.com/wp-content/uploads/2008/03/apache-04-thumb.png" width="302" /></a> </p>
<p>To check which sites are actually enabled I view the contents of the <strong>sites-enabled</strong> folder:</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/03/apache-05.png"><img height="46" alt="apache-05" src="http://www.theosquest.com/wp-content/uploads/2008/03/apache-05-thumb.png" width="556" /></a> </p>
<p>This folder contains symlinks back to the sites-available folder for the enabled sites. As expected, the default site is already enabled. If a domain points to the server but doesn&#8217;t have a configuration files the first enabled sight (alphabetically) will be used. So by having the name <strong>000-default</strong> this site is likely to be used.</p>
<p>The <strong>mods-available</strong> and <strong>mods-enabled</strong> folders work the same way. They contain the modules that are available and those that are enabled. These are the available modules with the default installation:</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/03/apache-06.png"><img height="253" alt="apache-06" src="http://www.theosquest.com/wp-content/uploads/2008/03/apache-06-thumb.png" width="588" /></a> </p>
<p>While these are the modules that are enabled by default:</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/03/apache-07.png"><img height="338" alt="apache-07" src="http://www.theosquest.com/wp-content/uploads/2008/03/apache-07-thumb.png" width="621" /></a> </p>
<p>There are four commands that make managing the enabled sites and modules easier than having to create the symlinks manually by using <strong>ln -s</strong>. They are:</p>
<p><strong>a2ensite</strong> and <strong>a2dissite</strong> enabled and disable a site.</p>
<p><strong>a2enmod</strong> and <strong>a2dismod</strong> will enable and disable a module.</p>
<p>So to disable the default site I run: </p>
<p><code>sudo a2dissite default</code></p>
<p>and get the following message:</p>
<p><code>Site default disabled; run /etc/init.d/apache2 reload to fully disable.</code></p>
<p>I gracefully reload Apache (so existing connections aren&#8217;t killed) with:</p>
<p><code>sudo apache2ctl graceful</code></p>
<p>When I try to access the site via by browser I get a 404 not found error instead of the &quot;It Works&quot; message. I also see that the symlink is gone from the <strong>site-enabled</strong> folder.</p>
<p>To enable the site again I execute:</p>
<p><code>sudo a2ensite default</code></p>
<p><code>sudo apache2ctl graceful</code></p>
<p>And the &quot;It works&quot; message returns. Now that I&#8217;ve looked around the structure of Apache it&#8217;s time to look at the configuration.</p>
<h3>Port Configuration</h3>
<p>By default Apache will listen on port 80 for http and port 443 for https (ssl). These are set in <strong>/etc/apache2/ports.conf</strong>, the contents of which are:</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/03/apache-08.png"><img height="87" alt="apache-08" src="http://www.theosquest.com/wp-content/uploads/2008/03/apache-08-thumb.png" width="147" /></a> </p>
<p>There&#8217;s no need for me to change anything.</p>
<h3>Timeout &amp; KeepAlive Configuration</h3>
<p>The main Apache configuration file is <strong>/etc/apache2/apache2.conf</strong> which I open in the nano editor:</p>
<p><code>sudo nano /etc/apache2/apache2.conf</code></p>
<p>I scroll down the file and look at the various parameters. The first one I change is the timeout value, the default of which is 300 seconds. I change it to 45 seconds.</p>
<p><code>Timeout 45</code></p>
<p>Next up is KeepAlives, which are on by default (<code>KeepAlive On</code>). This allows persistent connections for a client so that each request (image, file, etc) doesn&#8217;t require a new connection. There are some additional KeepAlive parameters.</p>
<p><strong>MaxKeepAliveRequests</strong> is described as &quot;the maximum number of requests to allow during a persistent connection. Set to 0 to allow an unlimited amount. We recommend you leave this number high, for maximum performance&quot;. I keep the default <code>MaxKeepAliveRequests 100</code>.</p>
<p><strong>KeepAliveTimeout</strong> is described as &quot;the number of seconds to wait for the next request from the same client on the same connection&quot;. The default value is a rather high 15 seconds. There&#8217;s not a lot of interactivity on my pages so I&#8217;ll lower it to 3 seconds. If no new requests come in during that time the connection will be dropped. I change this to <code>KeepAliveTimeout 3</code>.</p>
<h3>Pre-Fork MPM</h3>
<p>During the installation I selected Pre-fork MPM (apache2-mpm-prefork) which is described in the <a title="Jump to the Apache documentation on pre-fork mpm" href="http://httpd.apache.org/docs/2.2/mod/prefork.html">Apache documentation</a>. I&#8217;ll keep these settings at the default. The related settings are shown below.</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/03/apache-09.png"><img height="186" alt="apache-09" src="http://www.theosquest.com/wp-content/uploads/2008/03/apache-09-thumb.png" width="469" /></a> </p>
<h3>ServerTokens</h3>
<p><strong>ServerTokens</strong> determines what information is set in the headers concerning products and modules installed. The default is <strong>Full</strong> which sends a lot of information. While it doesn&#8217;t actually make things more secure there&#8217;s no sense broadcasting the information so I change it to <code>ServerTokens Prod</code> which will just include <code>Apache</code> in the header.</p>
<h3>ServerSignature</h3>
<p>By default, server generated pages such as the 404 error page include a footer with server information.</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/03/apache-10.png"><img height="135" alt="apache-10" src="http://www.theosquest.com/wp-content/uploads/2008/03/apache-10-thumb.png" width="492" /></a> </p>
<p>Again, it won&#8217;t make things more secure but there&#8217;s no sense providing this information. I change <strong>ServerSignature</strong> to <code>ServerSignature Off</code>.</p>
<h3>Virtual Host File</h3>
<p>Each virtual host also has a configuration file which could overwrite the main configuration file. In this can the ServerSignature setting doesn&#8217;t work because it&#8217;s also set in the virtual host file. So I save the main config file and open the virtual host file.</p>
<p><code>sudo nano /etc/apache2/sites-available/default</code></p>
<p>I change the <strong>ServerSignature</strong> parameter to <strong>Off</strong> just like I did in the main file.</p>
<p>I do a graceful restart of Apache with <code>sudo apache2ctl graceful </code>and test the change. Now there&#8217;s no footer in my 404 page.</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/03/apache-11.png"><img height="91" alt="apache-11" src="http://www.theosquest.com/wp-content/uploads/2008/03/apache-11-thumb.png" width="455" /></a> </p>
<h3>Summary</h3>
<p>This completes the configuration of the server software that can serve as a training platform and a solid test bed for my WordPress test environment. Next on the agenda is coming up with a directory structure for my web sites and setting up the virtual hosts. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.theosquest.com/2008/03/19/ubuntu-server-project-8-apache-configuration/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu Server Project #7: Apache &#38; PHP Installation</title>
		<link>http://www.theosquest.com/2008/03/17/ubuntu-server-project-7-apache-php-installation/</link>
		<comments>http://www.theosquest.com/2008/03/17/ubuntu-server-project-7-apache-php-installation/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 04:20:15 +0000</pubDate>
		<dc:creator>ray</dc:creator>
		
		<category><![CDATA[Ubuntu Server Project]]></category>

		<category><![CDATA[apache]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[ubuntu]]></category>

		<category><![CDATA[ubuntu_server_project]]></category>

		<guid isPermaLink="false">http://www.theosquest.com/2008/03/17/ubuntu-server-project-7-apache-php-installation/</guid>
		<description><![CDATA[ Now that MySQL is installed the only remaining server software is Apache, PHP and WordPress. This time around I&#8217;ll install Apache &#38; PHP. The installation is quick &#38; easy. I&#8217;ll use aptitude to install both of them. As a refresher, if you haven&#8217;t read the previous articles, I&#8217;m building a WordPress test environment on [...]<p><a href="http://sharethis.com/item?&#038;wp=2.6.1&#38;publisher=398436b4-a27f-4fdd-83fb-b8f78e0ac9b9&#38;title=Ubuntu+Server+Project+%237%3A+Apache+%26amp%3B+PHP+Installation&#38;url=http%3A%2F%2Fwww.theosquest.com%2F2008%2F03%2F17%2Fubuntu-server-project-7-apache-php-installation%2F">ShareThis</a></p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.theosquest.com/wp-content/uploads/sitepics/UbuntuLogo-BW122.png" align="left" /> Now that MySQL is installed the only remaining server software is <strong>Apache</strong>, <strong>PHP</strong> and WordPress. This time around I&#8217;ll install Apache &amp; PHP. The installation is quick &amp; easy. I&#8217;ll use <strong>aptitude</strong> to install both of them. As a refresher, if you haven&#8217;t read the <a title="Jump to the Ubuntu Server Project section of my Linux page" href="http://www.theosquest.com/linux/#usp">previous articles</a>, I&#8217;m building a WordPress test environment on a Ubuntu Server server that&#8217;s running in a VMware Fusion virtual machine.</p>
<p>I connect to the server using a SSH connection and mount the CD-ROM image with the command <code>mount /cdrom/</code> so that the Apache and PHP software can be installed from the CD image.</p>
<p>First off I install Apache by running:</p>
<p><code>sudo aptitude install apache2 apache2.2-common apache2-mpm-prefork apache2-utils libexpat1 ssl-cert</code></p>
<p>Aptitude will take care of any dependencies. The installation runs without a problem. <strong>Apache 2.2.4</strong> is the version installed.</p>
<p>I connect to the server from my MacBook (which is a different machine that the vm is running on) using the IP address of the Ubuntu server in my browser (http://10.0.1.200) and the following screen is displayed:</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/03/apache-01.png"><img height="212" alt="apache-01" src="http://www.theosquest.com/wp-content/uploads/2008/03/apache-01-thumb.png" width="414" /></a> </p>
<p>If I click on the apache2-default link I get the screen:</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/03/apache-02.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="134" alt="apache-02" src="http://www.theosquest.com/wp-content/uploads/2008/03/apache-02-thumb.png" width="280" border="0" /></a> </p>
<p>To make this second page the default, rather than the directory, I open the default vhost file:</p>
<p><code>sudo nano /etc/apache2/sites-available/default</code></p>
<p>Then I search for the line <code>RedirectMatch ^/$ /apache2-default/</code> and uncomment it by removing the # and saving the file.</p>
<p>I then reload Apache so I can test the change. To reload Apache:</p>
<p><code>sudo /etc/init.d/apache2 reload</code></p>
<h3>PHP Installation</h3>
<p>I pick what appear to be the most common PHP modules for installation and install them through Aptitude which will handle the dependancies.</p>
<p><code>sudo aptitude install php5 libapache2-mod-php5</code></p>
<p>There are plenty of other PHP modules but I&#8217;ll start with the ones I know I&#8217;ll need and add others (like for MySQL) as they&#8217;re needed. I figure this way I&#8217;ll have a better idea of exactly what software depends on what other software or modules.</p>
<p>I reload Apache one last time and I&#8217;m done:</p>
<p><code>sudo /etc/init.d/apache2 reload</code></p>
<p><strong>PHP 5.2.3</strong> is the version installed.</p>
<p>This was a nice short article, not much more than a couple Aptitude installs. At this point I have a working LAMP server. Next up I&#8217;ll configure Apache.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theosquest.com/2008/03/17/ubuntu-server-project-7-apache-php-installation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OpenSUSE Not On VMware Fusion</title>
		<link>http://www.theosquest.com/2008/03/14/opensuse-not-on-vmware-fusion/</link>
		<comments>http://www.theosquest.com/2008/03/14/opensuse-not-on-vmware-fusion/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 01:25:26 +0000</pubDate>
		<dc:creator>ray</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[frustration]]></category>

		<category><![CDATA[opensuse]]></category>

		<category><![CDATA[vmware_fusion]]></category>

		<guid isPermaLink="false">http://www.theosquest.com/2008/03/14/opensuse-not-on-vmware-fusion/</guid>
		<description><![CDATA[ Last night I decided to see how OpenSUSE installed on VMware Fusion. I figured it would be a good way to kill a couple hours while watching TV. No such luck. I managed to make it all the way through the install but it died in the final phase where it does the hardware [...]<p><a href="http://sharethis.com/item?&#038;wp=2.6.1&#38;publisher=398436b4-a27f-4fdd-83fb-b8f78e0ac9b9&#38;title=OpenSUSE+Not+On+VMware+Fusion&#38;url=http%3A%2F%2Fwww.theosquest.com%2F2008%2F03%2F14%2Fopensuse-not-on-vmware-fusion%2F">ShareThis</a></p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.theosquest.com/wp-content/uploads/sitepics/VMWareLogo_BW122.png" align="left" /> Last night I decided to see how <strong>OpenSUSE</strong> installed on <strong>VMware Fusion</strong>. I figured it would be a good way to kill a couple hours while watching TV. No such luck. I managed to make it all the way through the install but it died in the final phase where it does the hardware scan. Restarting the VM in Failsafe mode allowed me to resume the installation but with the same result.</p>
<p>I&#8217;m not the only one who&#8217;s <a title="Jump to a forum thread that describes the same problem" href="http://communities.vmware.com/thread/111047">encountered the problem</a> and this <a title="Jump to the article" href="http://kontrawize.blogs.com/kontrawize/2007/12/updated-opensus.html">article</a> indicates it&#8217;s a problem with the X-Windows software and the version 7.3 should fix the problem.</p>
<p>On the other hand, there&#8217;s an <a title="Search for OpenSUSE appliances at vmwre.com" href="http://search-www.vmware.com/socialsearch/query?cn=vmware&amp;cc=www&amp;st=1&amp;adv=0&amp;bn_uf=VMware_Site_appliances_dir&amp;bn_if=VMware_Site_appliances_dir&amp;q=opensuse">OpenSUSE appliances</a> available for download and others have indicated it installs and runs successfully.</p>
<p>But at this point the night was over and I lost interest in getting OpenSUSE running. I may go back to it in the future. Next time I&#8217;ll be sure to update x-windows during the installation.</p>
<p>For the record, I was at the latest everything. VMware Fusion 1.1.1, running on OS X 10.5.2 and using an OpenSUSE 10.3 (64-bit) DVD image that I just downloaded.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theosquest.com/2008/03/14/opensuse-not-on-vmware-fusion/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu Server Project #6: MySQL Server Installation</title>
		<link>http://www.theosquest.com/2008/03/13/ubuntu-server-project-6-mysql-server-installation/</link>
		<comments>http://www.theosquest.com/2008/03/13/ubuntu-server-project-6-mysql-server-installation/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 23:03:42 +0000</pubDate>
		<dc:creator>ray</dc:creator>
		
		<category><![CDATA[Ubuntu Server Project]]></category>

		<category><![CDATA[ubuntu]]></category>

		<category><![CDATA[ubuntu_server_project]]></category>

		<guid isPermaLink="false">http://www.theosquest.com/2008/03/13/ubuntu-server-project-6-mysql-server-installation/</guid>
		<description><![CDATA[ It&#8217;s been over a month without any activity, but the SQL server build is moving forward again. In the previous five installments I was installing, configuring and getting comfortable with the the basic Ubuntu install. The past articles can be found in the Ubuntu Server Project section on my Linux page.
Today&#8217;s task is to [...]<p><a href="http://sharethis.com/item?&#038;wp=2.6.1&#38;publisher=398436b4-a27f-4fdd-83fb-b8f78e0ac9b9&#38;title=Ubuntu+Server+Project+%236%3A+MySQL+Server+Installation&#38;url=http%3A%2F%2Fwww.theosquest.com%2F2008%2F03%2F13%2Fubuntu-server-project-6-mysql-server-installation%2F">ShareThis</a></p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.theosquest.com/wp-content/uploads/sitepics/UbuntuLogo-BW122.png" align="left" /> It&#8217;s been over a month without any activity, but the SQL server build is moving forward again. In the previous five installments I was installing, configuring and getting comfortable with the the basic Ubuntu install. The past articles can be found in the <a title="Jump to the Ubuntu Server Project on my Linux page" href="http://www.theosquest.com/linux/#usp">Ubuntu Server Project</a> section on my Linux page.</p>
<p>Today&#8217;s task is to install MySQL, which is very straight-forward. I&#8217;ll make some guesses at a low-memory configuration but I&#8217;ll wait until the server is completely up before drilling deep into the optimizing.</p>
<p>I&#8217;ll be needing the original Ubuntu server CD for the installation. So I make sure that the CD drive for the VM is configured to open the ISO file with the Ubuntu server CD image. After I start the VM I connect with a remote SSH terminal session and mount the CD with the command <code>mount /cdrom/</code>.</p>
<p>Since the server has been untouched for over a month I start off by making sure the installed software is already up to date by executing the following commands:</p>
<p><code>sudo aptitude update</code></p>
<p><code>sudo aptitude safe-upgrade</code></p>
<p>Once this is done I&#8217;m ready to go. To install MySQL I use the following aptitude command:</p>
<p><code>sudo aptitude install mysql-server mysql-client</code></p>
<p>MySQL-server and MySQL-client are meta packages. They&#8217;ll install the latest server and client software that&#8217;s in the repository, which is currently MySQL 5.0.45. After running the command aptitude tells me the following list of packages that will be installed.</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/03/mysql-001.png"><img height="235" alt="MySQL-001" src="http://www.theosquest.com/wp-content/uploads/2008/03/mysql-001-thumb.png" width="640" /></a> </p>
<p>Then I&#8217;m prompted to insert the CD, which is already mounted, so I hit &lt;return&gt; to move along.</p>
<p>I&#8217;m then prompted to enter a root password for MySQL. Even though this is a private server off the Internet I go ahead and enter one. There&#8217;s no confirmation prompt so I type carefully.</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/03/mysql-002.png"><img height="401" alt="MySQL-002" src="http://www.theosquest.com/wp-content/uploads/2008/03/mysql-002-thumb.png" width="640" /></a> </p>
<p>The installation runs and finishes a couple of minutes later without any problems. Now it&#8217;s time to configure MySQL for my small 256MB server.</p>
<h3>Configuring MySQL for a 256MB Server</h3>
<p>I&#8217;m not using the word optimize here for a specific reason. I won&#8217;t start optimizing until I have a WordPress site built and can better test performance. I&#8217;ll be configuring MySQL to have a small memory footprint now and I&#8217;ll optimize later.</p>
<p>First I check the current SQL memory usage by running <code>top</code> then pressing &lt;shift&gt;-&lt;m&gt; to sort by memory usage. This shows MySQL using about 6% of memory.</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/03/mysql-003.png"><img height="111" alt="MySQL-003" src="http://www.theosquest.com/wp-content/uploads/2008/03/mysql-003-thumb.png" width="479" /></a> </p>
<p>I open up the MySQL configuration file in the nano editor:</p>
<p><code>sudo nano /etc/mysql/my.cnf</code></p>
<p>The first thing I want to do is disable InnoDB. InnoDB is a storage engine but WordPress uses MyISAM by default so I don&#8217;t need it. Since it uses a great deal of memory I&#8217;ll turn it off by uncommenting (remove the #) the line <code>skip-innodb</code>.</p>
<p>I then search for and change the following values:</p>
<p><strong>keybuffer</strong> from 16M to 16K</p>
<p>This is probably too small a value. But I&#8217;ll start low and raise it once all the other server software is installed and I start evaluating performance. From what I&#8217;ve read this setting is critical to performance and I&#8217;ll probably want to increase it. </p>
<p><strong>max_allowed_packet</strong> from 16M to 1M</p>
<p>I&#8217;ll also look at increasing this once everything is installed. Memory is only allocated when needed but I shouldn&#8217;t be sending to much data in and out of MySQL through WordPress</p>
<p><strong>thread_stack</strong> from 128K to 64K</p>
<p>This server is not going to have a lot of concurrent connections so we&#8217;ll start low and see how things look.</p>
<p><strong>thread_cache_size</strong> from 8 to 4</p>
<p>This is the number of threads that are cached (after a user disconnects). New threads are only created when there&#8217;s none in the cache. Again, I lowered it because this will be a lightly used server.</p>
<p>I then added the following two new parameters just after thread_cache_size.</p>
<p><strong>sort_buffer = 64K</strong></p>
<p>I&#8217;m again starting with the smallest value that I&#8217;ve seen recommended for low memory servers and I&#8217;ll work my way up.</p>
<p><strong>net_buffer_length = 2K</strong></p>
<p>This is the starting size for the connection and result buffers. Both shrink to this size after each SQL statement. </p>
<p>After making all the changes I save the file and restart MySQL with the command:</p>
<p><code>sudo /etc/init.d/mysql restart</code></p>
<p>Then I run top and check the memory again. Now MySQL is only using 1.9% of memory. </p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/03/mysql-004.png"><img height="103" alt="MySQL-004" src="http://www.theosquest.com/wp-content/uploads/2008/03/mysql-004-thumb.png" width="498" /></a> </p>
<p>So I&#8217;ve dropped memory usage by 2/3. Performance tuning will wait for a later session. Apache and PHP 5 are next on the to do list.</p>
<p><strong>Reference:</strong></p>
<p><a title="Jump to a good MySQL optimizing article at urbanpug.com" href="http://emergent.urbanpug.com/?p=61">Optimizing Apache &amp; MySQL for Low Memory (Part 2)</a> at Emergent Properties</p>
<p><a title="Jump to the memory usage article for MySQL 5 at mysql.com" href="http://dev.mysql.com/doc/refman/5.0/en/memory-use.html">MySQL Memory Usage</a> at MySQL.com</p>
<p><a title="Jump to the InnoDB article at Wikipedia" href="http://en.wikipedia.org/wiki/InnoDB">InnoDB</a> article at Wikipedia</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theosquest.com/2008/03/13/ubuntu-server-project-6-mysql-server-installation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu Server Project #5: Getting Comfortable With Ubuntu</title>
		<link>http://www.theosquest.com/2008/01/25/ubuntu-server-project-5-getting-comfortable-with-ubuntu/</link>
		<comments>http://www.theosquest.com/2008/01/25/ubuntu-server-project-5-getting-comfortable-with-ubuntu/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 11:03:32 +0000</pubDate>
		<dc:creator>ray</dc:creator>
		
		<category><![CDATA[Ubuntu Server Project]]></category>

		<category><![CDATA[ubuntu]]></category>

		<category><![CDATA[ubuntu_server_project]]></category>

		<guid isPermaLink="false">http://www.theosquest.com/2008/01/25/ubuntu-server-project-5-getting-comfortable-with-ubuntu/</guid>
		<description><![CDATA[ This is a bit different than the other posts as I won&#8217;t actually be installing any major software. Instead I&#8217;ll be customizing Ubuntu to make it easier for me to use and finding programs to monitor my server.
System Information
First I&#8217;ll want some commands that tell me about the system. Since there&#8217;s only 256MB of [...]<p><a href="http://sharethis.com/item?&#038;wp=2.6.1&#38;publisher=398436b4-a27f-4fdd-83fb-b8f78e0ac9b9&#38;title=Ubuntu+Server+Project+%235%3A+Getting+Comfortable+With+Ubuntu&#38;url=http%3A%2F%2Fwww.theosquest.com%2F2008%2F01%2F25%2Fubuntu-server-project-5-getting-comfortable-with-ubuntu%2F">ShareThis</a></p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.theosquest.com/wp-content/uploads/sitepics/UbuntuLogo-BW122.png" align="left" /> This is a bit different than the other posts as I won&#8217;t actually be installing any major software. Instead I&#8217;ll be customizing Ubuntu to make it easier for me to use and finding programs to monitor my server.</p>
<h3>System Information</h3>
<p>First I&#8217;ll want some commands that tell me about the system. Since there&#8217;s only 256MB of memory allocated to this Ubuntu Server virtual machine I&#8217;ll want to keep tabs on <strong>memory usage</strong>. I can do this with the free command and use -m to have the info displayed as easy to read megabytes.</p>
<p><code>free -m</code></p>
<p>This will display the amount of memory used, currently that&#8217;s:</p>
<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="78" alt="Free Memory Results" src="http://www.theosquest.com/wp-content/uploads/2008/01/free.png" width="477" border="0" /></p>
<p>The first line includes cached memory so I&#8217;m more concerned with the second line which shows I&#8217;m using 16MB and have 233MB free. The third line shows I&#8217;m not using any swap space which is nice. This will be my baseline and I can monitor it as I install software.</p>
<p>If I want more detailed memory usage I can use <code>cat /proc/meminfo</code>.</p>
<p>If I need a reminder of the <strong>version</strong> I&#8217;m using I can use <code>cat /etc/issue</code> which will display the Ubuntu version. <code>lsb_release -a</code> can also be used to display version information.</p>
<p>The <code>top</code> command displays information on running processes and system resources. It&#8217;s updated in real time and you can exit by typing <code>q</code>. Pressing &lt;shift&gt;-&lt;m&gt; while top is running will sort the processes based on memory usage.</p>
<p><code>uname -a</code> prints the machine name and kernel information along with a few other things.</p>
<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="20" alt="Output from uname -a" src="http://www.theosquest.com/wp-content/uploads/2008/01/uname-a.png" width="513" border="0" /></p>
<p>As the above output shows it was necessary for me to use a different kernel in order to run <a title="Jump to my article about installing Ubuntu on Parallels" href="http://www.theosquest.com/2007/12/29/installing-ubuntu-710-server-under-parallels/">Ubuntu under Parallels</a>.</p>
<p><code>df -h</code> can be used to display disk usage in MB. <strong>-h</strong> means human readable as opposed to blocks. The output for my server is:</p>
<p>&#160;<img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="134" alt="df -h results" src="http://www.theosquest.com/wp-content/uploads/2008/01/df-h-results.png" width="534" border="0" /></p>
<p>&#160;</p>
<h3>Screen</h3>
<p><strong>Screen</strong> is a terminal multiplexer that allows multiple sessions in one terminal window much as the console does. In addition, it provides the ability to disconnect a session and return to it later, or continue processing if a session is interrupted.</p>
<p>To install screen I execute:</p>
<p><code>sudo aptitude install screen</code></p>
<p>As a side note: Even though I left the Ubuntu Server CD image connected to the VM I had to mount it manually for aptitude to use it. I issued <code>mount /cdrom</code> to mount it.</p>
<p>There&#8217;s a good <a title="Jump to the screen tutorial at LinuxJournal.com" href="http://www.linuxjournal.com/article/6340">screen tutorial</a> at Linux Journal so I won&#8217;t go into it here.</p>
<h3>Build-Essentials</h3>
<p>Build-Essentials is a Ubuntu meta-package of programs that are frequently needed to properly install other programs so I want to install it. I run:</p>
<p><code>sudo aptitude install build-essential</code></p>
<p>The following screenshot shows the packages that will be installed by build-essential.</p>
<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="62" alt="Build-Essential List" src="http://www.theosquest.com/wp-content/uploads/2008/01/build-essential-list.png" width="595" border="0" /></p>
<p>The install is problem free.</p>
<h3>Shortcuts (Aliases)</h3>
<p>There&#8217;s some commands I&#8217;m going to be using a lot. To save time typing, especially since my typing is pretty bad, I set up some aliases. I open my bash configuration file in the nano editor so that I can add some aliases.</p>
<p><code>nano ~/.bashrc</code></p>
<p>I scroll down until I find the Alias Definitions section:</p>
<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="148" alt="Alias Definitions in .bashrc" src="http://www.theosquest.com/wp-content/uploads/2008/01/aliasdefinitions1.png" width="452" border="0" /></p>
<p>I uncomment the last 3 lines shown above so that I can put the aliases in a file. I could add the aliases in this file but I like the idea of using a separate file just for the aliases. Remove the # to uncomment the lines. I save the file then use nano to create the ~/.bash_aliases file.</p>
<p><code>nano ~/.bash_aliases</code></p>
<p>I add the following aliases to the file:</p>
<p><code>alias free=&quot;free -m&quot;      <br />alias install=&quot;sudo aptitude install&quot;       <br />alias newalias=&quot;nano ~/.bash_aliases&quot;       <br />alias remove=&quot;sudo aptitude remove&quot;       <br />alias update=&quot;sudo aptitude update&quot;       <br />alias upgrade=&quot;sudo aptitude safe-upgrade&quot;</code></p>
<p>The first one makes it slightly easier to get free memory, the third opens the alias file for editing while the other simplify the aptitude command line. To run the command I can just type the alias, adding any necessary command-line options after it. It&#8217;s necessary to logout and login when making these changes since the bash configuration is only read during logon.</p>
<p>&#160;</p>
<p>Well, I&#8217;ve got aliases to make my life easier and I&#8217;ve got system utilities to monitor resource usage as I install new software. Next on the agenda is the MySQL installation.</p>
<h3 class="hdivider">&#160;</h3>
<p><em>This is the fourth installment in my Ubuntu Server Project series which documents my efforts to get a working copy of WordPress running on Ubuntu Server 7.10. It&#8217;s summarized, with links to past articles, on my </em><a title="Jump to my Linux page" href="http://www.theosquest.com/linux/"><em>Linux page</em></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theosquest.com/2008/01/25/ubuntu-server-project-5-getting-comfortable-with-ubuntu/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu Server Project #4: Iptables Firewall</title>
		<link>http://www.theosquest.com/2008/01/23/ubuntu-server-project-4-iptables-firewall/</link>
		<comments>http://www.theosquest.com/2008/01/23/ubuntu-server-project-4-iptables-firewall/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 11:59:27 +0000</pubDate>
		<dc:creator>ray</dc:creator>
		
		<category><![CDATA[Ubuntu Server Project]]></category>

		<category><![CDATA[iptables]]></category>

		<category><![CDATA[ubuntu]]></category>

		<category><![CDATA[ubuntu_server_project]]></category>

		<guid isPermaLink="false">http://www.theosquest.com/2008/01/23/ubuntu-server-project-4-iptables-firewall/</guid>
		<description><![CDATA[ Continuing along the security theme set by the previous article I&#8217;ll configure some simple iptables firewall rules for my Ubuntu Server virtual machine. Iptables can be pretty complicated and I won&#8217;t attempt to go into great detail. Since this is a virtual machine only accessible from within my home network I have the luxury [...]<p><a href="http://sharethis.com/item?&#038;wp=2.6.1&#38;publisher=398436b4-a27f-4fdd-83fb-b8f78e0ac9b9&#38;title=Ubuntu+Server+Project+%234%3A+Iptables+Firewall&#38;url=http%3A%2F%2Fwww.theosquest.com%2F2008%2F01%2F23%2Fubuntu-server-project-4-iptables-firewall%2F">ShareThis</a></p>]]></description>
			<content:encoded><![CDATA[<p><img alt="Ubuntu logo in black and white" src="http://www.theosquest.com/wp-content/uploads/sitepics/UbuntuLogo-BW122.png" align="left"> Continuing along the security theme set by the <a title="Jump to part 3: Networking &amp; SSH setup" href="http://www.theosquest.com/2008/01/18/ubuntu-sever-project-3-networking-ssh-setup/">previous article</a> I&#8217;ll configure some simple <strong>iptables</strong> firewall rules for my <strong>Ubuntu Server</strong> virtual machine. Iptables can be pretty complicated and I won&#8217;t attempt to go into great detail. Since this is a virtual machine only accessible from within my home network I have the luxury of being able to play without having to actually be concerned with security. So iptables will be set up for the experience and for future testing.</p>
<p>Iptables is installed with every Ubuntu installation so there&#8217;s nothing new to install. We just need to configure the rules that iptables needs to use. Since I&#8217;m setting up a web server I&#8217;ll create rules to allow SSH (port 22222), HTTP (port 80) and HTTPS (port 443) traffic.</p>
<p>I&#8217;m going to create two files that contain the iptables rules. One will be used for testing and the other will be for production. The production rules will be permanent and load during reboots. The test rules will be in file /<strong>etc/iptables.test.rules</strong> and the production rules will be in file <strong>/etc/iptables.prod.rules</strong>.</p>
<h3>The Rules</h3>
<p>I connect to the Ubuntu server using SSH from the terminal on my Mac. Everything done related to iptables has to be done as root so I issue the command:</p>
<p><code>sudo -i</code></p>
<p>and enter my password when prompted. Now I won&#8217;t have to use sudo as a prefix for each command.</p>
<p>For my first step I&#8217;ll save any existing rules to the production file using the command:</p>
<p><code>iptables-save &gt;/etc/iptables.prod.rules</code></p>
<p>On my freshly installed Ubuntu server this generated the following file contents:</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/01/iptablesoriginal.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="135" alt="Original iptables rules file" src="http://www.theosquest.com/wp-content/uploads/2008/01/iptablesoriginal-thumb.png" width="429" border="0"></a> </p>
<p>To list the current filter rules on the screen I run iptables with the -L switch.</p>
<p><code>iptables -L</code></p>
<p>which results in the following information:</p>
<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="135" alt="Iptables -L results on original install" src="http://www.theosquest.com/wp-content/uploads/2008/01/iptables-l-original.png" width="369" border="0"> </p>
<p>What the above means is that anything from anyone on any port will be accepted. I&#8217;m not a fan of the theory that as long as nothing is running on the ports then nothing needs to be blocked. I am a fan of blocking everything except traffic which this server is intended to handle. So I&#8217;ll be setting up some rules to restrict traffic. Initially I&#8217;ll be doing this in the /etc/iptables.test.rules file. During this time I&#8217;ll keep my existing terminal connection active and actually start a second session just to be sure. This way if a test rule blocks SSH I&#8217;ll have an existing connection that I can make the change with. (OK, it&#8217;s a VM on my Mac so no second session, but if it was a remote server I&#8217;d set up the second session as a safety measure.) </p>
<p>I start off with some very simple rules which are based on information found in the <a title="Jump to the Ubuntu HowTo for iptables at ubuntu.com" href="https://help.ubuntu.com/community/IptablesHowTo">Ubuntu Documentation Iptables HowTo</a>. Rules are processed top to bottom and once a decision is made about a packet no more rules are processed.</p>
<p>A lot of traffic on the server uses the loopback port and we want to allow it all. No reason to stop intra-server communication. So I add the lines:</p>
<p><code>-A INPUT -i lo -j ACCEPT<br />-A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT</code></p>
<p>The first line says to accept all traffic on the loopback port. The second rule says to reject all traffic that uses the loopback address but isn&#8217;t on the loopback port. <strong>-A</strong> means append the rule to the chain. <strong>INPUT</strong> is the chain to add the rule to. Valid chains are INPUT, FORWARD and OUTPUT as shown in the previous screenshots. <strong>-i</strong> means to only match if the traffic is on the specified interface. <strong>lo</strong> is the loopback interface. <strong>-j</strong> is the action to take with the packet. Valid actions are ACCEPT, REJECT (Reject and notify sender), DROP (silently ignore) and LOG. The <strong>!</strong> in the second line means &#8220;not&#8221; so in this case it means traffic not on the loopback adapter. <strong>-d</strong> indicates the destination and can be an ip address or port. In this case it&#8217;s the loopback address.</p>
<p>Then I&#8217;ll add a rule to continue to accept all established connections:</p>
<p><code>-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT</code></p>
<p>State matches are described in greater detail at <a title="Jump to the state machine match info at faqs.org" href="http://www.faqs.org/docs/iptables/matches.html#TABLE.STATEMATCHES">faqs.org</a>. But this rule says to accept all traffic for an <strong>ESTABLISHED</strong> connection that has seen traffic in both directions. It will also accept traffic for new connections if it&#8217;s associated with an established connection, these are the <strong>RELATED</strong> packets.
<p>Next I&#8217;ll allow all outbound traffic. I&#8217;ll leave restricting outbound traffic for another day.
<p><code>-A OUTPUT -j ACCEPT</code></p>
<p>Now I&#8217;ll enable web traffic on the common ports of 80 for HTTP traffic and 443 for HTTPS traffic.
<p><code>-A INPUT -p tcp --dport 80 -j ACCEPT<br />-A INPUT -p tcp &#8211;dport 443 -j ACCEPT</code></p>
<p>The <strong>-p</strong> specifies the connection protocol used, in this case tcp and <strong>dport</strong> indicates the destination port.
<p>Now I&#8217;ll allow SSH traffic. Use the same port specified in the ssh_config file. In my case it was port 22222.</p>
<p><code>-A INPUT -p tcp -m state --state NEW --dport 22222 -j ACCEPT</code></p>
<p>In this rule the <strong>state</strong> parameter is used to allow the creation of <strong>NEW</strong> connection. The previously defined rule for established connections will apply once the connection is created by this rule.</p>
<p>Next up is a rule to allow pings.</p>
<p><code>-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT</code></p>
<p>In this rule icmp is the protocol used. A complete list of <a title="Jump to the list of icmp types at faq.org" href="http://www.faqs.org/docs/iptables/icmptypes.html">icmp types</a> is at faqs.org which shows 8 as a &#8220;echo request&#8221; type.</p>
<p>Now I&#8217;ll create a rule to log incoming packets that are denied by iptables.</p>
<p><code>-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7</code></p>
<p>This rule will log denied packets, up to 5 a minute. It will prefix the log entries with &#8220;iptables denied: &#8220;. The LOG action doesn&#8217;t stop rule processing so the packets will be processed by any following rules. The reason we know these packets will be refused is because the only rules that follow will reject the packet. So if a packet has reached this rule there isn&#8217;t a chance for it to be accepted.</p>
<p>So the rules to deny any remaining packets are:</p>
<p><code>-A INPUT -j REJECT<br />-A FORWARD -j REJECT</code></p>
<p>The rules file needs to begin with <strong>*filter</strong> and end with <strong>COMMIT</strong>. The <a title="The iptables test file with comments" href="http://www.theosquest.com/wp-content/uploads/files/iptables.test.rules">complete iptables rules file</a> is available as a text file.<br />
<h3>Enforcing the Rules </h3>
<p>I save the rules to /etc/iptables.test.rules and then run the following command to load them in:
<p><code>iptables-restore &lt;/etc/iptables.test.rules</code></p>
<p>The to see if anything actually changed I run <code>iptables -L</code> and compare it to the previous results. As the screenshot below shows they are different.
<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="303" alt="iptables -L with the new rules in place" src="http://www.theosquest.com/wp-content/uploads/2008/01/iptableswithnewrules.png" width="636" border="0">
<p>Now it&#8217;s time to test the critical SSH connection. I open a new terminal window and try a connection. It works and the other rules seem correct so I&#8217;m all set. If it failed I&#8217;d still have my existing connection to fix the problem (assuming the rules to allow existing connections took affect).
<p>Now I need to make these rules permanent. First I&#8217;ll save them to my production rules file:
<p><code>iptables-save &gt;/etc/iptables.prod.rules</code></p>
<p>Now I need to make sure the rules are loaded at startup. I load the file <strong>/etc/network/interfaces</strong> in the nano editor. I add the following line at the end of the loopback section:
<p><code>pre-up iptables-restore &lt;/etc/iptables.prod.rules</code></p>
<p>The screenshot below shows my updated interfaces file.</p>
<p>&nbsp;<img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="202" alt="Uodated Interfaces file contents" src="http://www.theosquest.com/wp-content/uploads/2008/01/interfacesfile.png" width="463" border="0"> </p>
<p>The final test is to restart Ubuntu server and make sure the rules are still in place.</p>
<p>So now I have a basic server setup and it&#8217;s running a simple firewall. I&#8217;ll probably spend a little time exploring Ubuntu before I start installing the server software. </p>
<p><em>This is the fourth installment in my Ubuntu Server Project series which documents my efforts to get a working copy of WordPress running on Ubuntu Server 7.10. It&#8217;s summarized, with links to past articles, on my </em><a title="Jump to my Linux page" href="http://www.theosquest.com/linux/"><em>Linux page</em></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theosquest.com/2008/01/23/ubuntu-server-project-4-iptables-firewall/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu Sever Project #3: Networking &#38; SSH Setup</title>
		<link>http://www.theosquest.com/2008/01/18/ubuntu-sever-project-3-networking-ssh-setup/</link>
		<comments>http://www.theosquest.com/2008/01/18/ubuntu-sever-project-3-networking-ssh-setup/#comments</comments>
		<pubDate>Fri, 18 Jan 2008 07:03:23 +0000</pubDate>
		<dc:creator>ray</dc:creator>
		
		<category><![CDATA[Ubuntu Server Project]]></category>

		<category><![CDATA[ubuntu]]></category>

		<category><![CDATA[ubuntu_server_project]]></category>

		<guid isPermaLink="false">http://www.theosquest.com/2008/01/18/ubuntu-sever-project-3-networking-ssh-setup/</guid>
		<description><![CDATA[
This is the third installment in my Ubuntu Server Project series which documents my efforts to get a working copy of WordPress running on Ubuntu Server 7.10. It&#8217;s summarized, with links to past articles, on my Linux page.
Ok, technically security should have been set up immediately after installation so this should have been the second [...]<p><a href="http://sharethis.com/item?&#038;wp=2.6.1&#38;publisher=398436b4-a27f-4fdd-83fb-b8f78e0ac9b9&#38;title=Ubuntu+Sever+Project+%233%3A+Networking+%26amp%3B+SSH+Setup&#38;url=http%3A%2F%2Fwww.theosquest.com%2F2008%2F01%2F18%2Fubuntu-sever-project-3-networking-ssh-setup%2F">ShareThis</a></p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.theosquest.com/wp-content/uploads/sitepics/UbuntuLogo-BW122.png" class="alignleft" alt="Ubuntu logo in black &amp; white" /></p>
<p><em>This is the third installment in my Ubuntu Server Project series which documents my efforts to get a working copy of WordPress running on Ubuntu Server 7.10. It&#8217;s summarized, with links to past articles, on my </em><a href="http://www.theosquest.com/linux/" title="Jump to my Linux page"><em>Linux page</em></a>.</p>
<p>Ok, technically security should have been set up immediately after installation so this should have been the second installment and not the third. But Ubuntu was a VM on my own desktop and wasn&#8217;t on the Internet so I wanted everything nice and up to date before proceeding.</p>
<h3>Setting Up Networking</h3>
<p>I could keep working with the Ubuntu 7.10 Server locally on my desktop and get right to the installation, but I want to start dealing with it as if it&#8217;s a remote server. So the first thing I&#8217;m going to do is get the IP Address and Mac Address for my Ubuntu server so I can connect remotely. I log onto the console and issue the command <strong>ifconfig</strong> to get the ip address along with the mac address. The screenshot below shows the results on my Ubuntu Server (click to enlarge) with the ip and mac addresses indicated.</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/01/ifconfig.png"><img src="http://www.theosquest.com/wp-content/uploads/2008/01/ifconfig-thumb.png" alt="ifconfig results" align="left" height="66" width="122" /></a></p>
<p>It&#8217;s worth mentioning that I set up the Parallels vm to connect via a bridged network so it gets it&#8217;s own unique ip address rather than sharing (via NAT) with the host OS. While the IP address will probably stay the same, it&#8217;s assigned by DHCP and could change. It&#8217;s my internal DHCP server (actually my Airport Extreme) so I&#8217;m going to reserve the DHCP address for this Ubuntu Server instance. To do that I need both the IP and Mac addresses.</p>
<p>I&#8217;m concerned with the adapter labeled eth0. The ip address is on the second line and is labeled <strong>inet addr</strong>. The mac address is on the first line and is indicated by <strong>HWaddr</strong>. Most home routers can do DHCP reservations although the methods vary. Look for the tern DHCP reservation. All you should need is the ip and mac addresses. A note for Airport Extreme users like me - even though there&#8217;s no good reason for it, adding a DHCP reservation forces a router restart.</p>
<p>If you don&#8217;t want to set up a reservation you can just lookup the ip address when it changes and you can&#8217;t connect.</p>
<h3>Installing SSH Server</h3>
<p>I want to install an SSH server so I can securely connect to the server remotely. (Remember, I&#8217;m treating this like a remote server.) I log on to the Ubuntu console and run the following commands:</p>
<p>I want to make sure my package list is up to date:</p>
<p><code>sudo aptitude update</code></p>
<p>Then to install the SSH server:</p>
<p><code>sudo aptitude install ssh</code></p>
<p>Aptitude tells me (click for full size):</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2008/01/sshinstall.png"><img src="http://www.theosquest.com/wp-content/uploads/2008/01/sshinstall-thumb.png" alt="SSH Install Mesage" height="43" width="122" /></a></p>
<p>and I approve the installation which finishes without error. SSH server is installed am I&#8217;m done with the SSH server install. For information about aptitude see my <a href="http://www.theosquest.com/2008/01/13/ubuntu-server-project-2-updating-the-install-and-the-basics/" title="Jump to the second article in the series">previous article</a>.</p>
<p>The whole point of SSH is security. In the next step we&#8217;ll see that our first SSH connection from a workstation says the host is unknown and provides a fingerprint. Now, this is a internal private network and the host is really a VM running on the same machine and we&#8217;ll be connecting via IP address. But for security purposes we&#8217;ll get the &#8220;RSA key fingerprint&#8221; while we&#8217;re here. I execute the command (on Ubuntu server):</p>
<p><code>ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub</code></p>
<p>Note that I don&#8217;t need to use sudo. As the extension .pub implies, this information is public for all to see. The response I get is:</p>
<p><code>2048 64:93:11:41:b7:31:cf:66:41:cb:7c:4f:37:3b:89:e8 /etc/ssh/ssh_host_rsa_key.pub</code></p>
<p>That long colon delimited number is the servers RSA Key Fingerprint. Whenever I attempt a SSH connection from a new machine I will be presented with that number. If it doesn&#8217;t match then I&#8217;m connecting to another machine, either by error or by mischief.</p>
<p>There&#8217;s also another type of key generated during the install called a dsa signature key which is another form of key signature. To get this fingerprint execute:</p>
<p><code>ssh-keygen -l -f /etc/ssh/ssh_host_dsa_key.pub</code></p>
<p>From this point on I will do everything on my Mac and treat the Ubuntu Server as if it&#8217;s a remote server. Although for simplicity doing the server stuff from the console running the Ubuntu server and doing the local computer stuff from terminal would be much simpler.</p>
<h3>Setting Up SSH Public/Private Key</h3>
<p>SSH provides secure, encrypted access to the server&#8217;s console. I&#8217;ll set up a public/private key for my iMac and the server, this way when I want to connect I don&#8217;t need to enter a password. Public/private keys should only be used when the local workstation is secure since anyone who has access to the workstation can access the server.</p>
<p>I&#8217;m going to test the SSH connection before proceeding. I open terminal on my Mac and execute:</p>
<p><code>ssh ray@10.0.1.200</code></p>
<p>I&#8217;m told the authenticity of the host can&#8217;t be established and I&#8217;m presented that 16 digit(hex) number. It matches what I know to be the server so I type yes to continue connecting. The I&#8217;m told <code>Warning: Permanently added '10.0.1.200' (RSA) to the list of known hosts</code>. This means future SSH logons from this machine will not generate the authenticity error. The SSH connection is working.</p>
<p>I logout of the connection but stay in terminal. (I could just open another terminal window, but I&#8217;m easily confused.)</p>
<p>First, I&#8217;ll create a folder on my local Mac to hold the keys. I execute:</p>
<p><code>mkdir ~/.ssh</code></p>
<p>This folder may already exist, and should have been created when the server was added to the known hosts list. If it does exist you&#8217;ll get an error that it can&#8217;t be created and you can  move on. The ~ indicates your user home directory. The folder will be created in your home directory and the &#8220;.&#8221; means it will be hidden (at least in Finder).</p>
<p>Now I create a public/private key combination for my Mac by executing:</p>
<p><code>ssh-keygen -t rsa</code></p>
<p>This will generate a public/private key using rsa encryption. Two files will be created in ~/.ssh called <strong>id_rsa</strong> and <strong>id_rsa.pub</strong>. The private key is <strong>id_rsa</strong> and should never be put in any public place. The public key is <strong>id_rsa.pub</strong>. During the key creation I was asked to confirm where I wanted to put the files and if I wanted a passphrase. I accepted the default for location and hit enter for an empty passphrase.</p>
<p>Now I copy this to the server using the secure copy command.</p>
<p><code>scp ~/.ssh/id_rsa.pub ray@10.0.1.200:/home/ray/</code></p>
<p>This will copy the public key file to my home directory on the server. I&#8217;m prompted for a password but since <strong>scp</strong> encrypts the password it&#8217;s safe to enter it. Change the ip address to your own address and substitute your ID for <strong>ray</strong>.</p>
<p>Now I need to configure the public key on my Ubuntu server. Still in terminal I execute</p>
<p><code>ssh ray@10.0.1.200</code></p>
<p>and enter the password to connect to the Ubuntu server console. I&#8217;ll create a directory for the authorized public keys and move my key into it, changing the name of the file in the process.</p>
<p><code>mkdir ~/.ssh</code></p>
<p><code>mv ~/id_rsa.pub ~/.ssh/authorized_keys</code></p>
<p>This copies the id_rsa.pub file to the newly created .ssh directory and renames it to authorized_keys. Now I need to set the permissions for the directories.</p>
<p><code>chwon -R ray:ray ~/.ssh</code></p>
<p>This changes ownership of the directory. -R means to apply recursively and I&#8217;m saying to change to owner to the user and group <strong>ray</strong>. Substitute whatever ID you created.</p>
<p><code>chmod 700 ~/.ssh</code></p>
<p><code>chmod 600 ~/.ssh/authorized_keys</code></p>
<p>This changes the access permissions for the directory and file. The 700 means only my ID can read, write, or execute files in the directory. The 600 means only I can read or write the file (no execute privilege).</p>
<p>Now I need to configure the SSH server.</p>
<p>Execute:</p>
<p><code>sudo nano /etc/ssh/sshd_config</code></p>
<p>The <strong>ssh_config</strong> file is loaded in the <strong>nano</strong> text editor. Scroll up and down using the arrow keys. Help is along the bottom, <strong>^</strong> means the <strong>control</strong> key.</p>
<p>Scrolling down the file I make the following changes:</p>
<p><code>port 22222</code></p>
<p>Near the top you&#8217;ll see Port 22. For security purposes it&#8217;s good to change this port number, since it makes it a little harder for people to find the SSH server connection. You need to pick a port that&#8217;s above 1024 and that&#8217;s not being used on your system. Port number in the range 1024 to 49151 may be registered and used by specific applications. Port numbers between 49152 and 65535 are dynamic and aren&#8217;t reserved for any particular use. You can pick any port above 1025 as long as it won&#8217;t be used by something else on your server. A list of registered ports is maintained by <a href="http://www.iana.org/assignments/port-numbers" title="Jump to the port number list at iana">iana</a>. I picked 22222 because it&#8217;s easy to remember and not currently registered to anyone.</p>
<p><code>PermitRootLogin no</code></p>
<p>This means the root user can&#8217;t log in through ssh. This is a bit redundant with Ubuntu since the root user can&#8217;t logon in a typical installation.</p>
<p><code>AuthorizedKeysFile %h/.ssh/authorized_keys</code></p>
<p>I just needed to uncomment this by removing the # at the beginning of the line. Notice it points to the public key file we created (%h is expanded to the user&#8217;s home directory).</p>
<p><code>PasswordAuthentication yes</code></p>
<p>I uncomment this so that I can log on with password in addition to keys. The key will be used if available, if not there will be a password prompt. Setting this to no means the key must always be used. If all your PCs are secure and can use public/private keys you can set this to no, which means that the keys must be used. Just don&#8217;t lose the keys.</p>
<p><code>X11Forwarding no</code></p>
<p>Since there&#8217;s no GUI on this server so I turned this off.</p>
<p><code>UsePAM no</code></p>
<p>I&#8217;m not using the PAM module.</p>
<p>I added the following new lines at the end of the file.</p>
<p><code>UseDNS no</code></p>
<p>I&#8217;ve seen there were some past issues resolved with this setting and I don&#8217;t need DNS lookups for my clients.</p>
<p><code>AllowUsers ray</code></p>
<p>This specifies which users are allowed to connect via SSH. Separate multiple users with spaces.</p>
<p>I write the file with ^O and then exit with ^X. (^X will prompt to save but I&#8217;m paranoid and save first anyway).</p>
<p>Finally I need to restart SSH so I enter:</p>
<p><code>sudo /etc/init.d/ssh restart</code></p>
<p>Then I logout and login again. If everything is set up right I shouldn&#8217;t be prompted for a password, and I&#8217;m not. The proper ssh command (from OS X terminal) with the port change is:</p>
<p><code>ssh -p 22222 <a href="mailto:ray@10.0.1.199">ray@10.0.1.199</a></code></p>
<p>If you want to enable the dsa key instead, or create the dsa keys in addition to the rsa keys you can repeat the process, substituting <strong>dsa</strong> for <strong>rsa</strong>. Instead of the command <code>mv ~/id_rsa.pub ~/.ssh/authorized_keys</code> you will need to concatenate the new file with the authorized_keys file. Use the following command to do this after copying id_dsa.pub to your home directory.</p>
<p><code>cat ~/id_dsa.pub ~/.ssh/authorized_keys &gt;~/.ssh/newkeys</code> You can chain multiple key files together in one command. Then copy the newkeys file over the authorized keys file:</p>
<p><code>cp ~/.ssh/newkeys ~/.ssh/authorized_keys</code></p>
<p>To delete the id_rsa.pub file from your home directory after it&#8217;s concatenated to authorized_keys run</p>
<p><code>rm ~/id_rsa.pub</code></p>
<p>I can repeat the public/private key generation from my other computers and use the above concatenation command to add the public keys to the authorized public keys list or stick to passwords since I won&#8217;t be using those computers very often.</p>
<p>So the server is up and running and we can securely connect. Next up I&#8217;ll get a basic firewall going and then I&#8217;ll finally be ready to install some software.</p>
<p><strong>Additional Reference</strong></p>
<p><a href="http://www.scribd.com/doc/3604/openssh-Quick-Ref" title="Jump to the OpenSSH quick reference">OpenSSH Quick Reference</a> (PDF)</p>
<p><a href="http://www.securityfocus.com/infocus/1806" title="Jump to the SSH article at SecurityFocus.com">SSH Host Key Protection</a> - An article From Security Focus that describes the use of SSH and provides some background.</p>
<p><a href="http://www.openssh.com/" title="Jump to the OpenSSH website">OpenSSH.com</a> is the OpenSSH project website which has a <a href="http://www.openssh.com/faq.html" title="Jump to the FAQ at OpenSSH.com">OpenSSH FAQ</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theosquest.com/2008/01/18/ubuntu-sever-project-3-networking-ssh-setup/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu Server Project #2: Updating the Install and the Basics</title>
		<link>http://www.theosquest.com/2008/01/13/ubuntu-server-project-2-updating-the-install-and-the-basics/</link>
		<comments>http://www.theosquest.com/2008/01/13/ubuntu-server-project-2-updating-the-install-and-the-basics/#comments</comments>
		<pubDate>Sun, 13 Jan 2008 07:57:19 +0000</pubDate>
		<dc:creator>ray</dc:creator>
		
		<category><![CDATA[Ubuntu Server Project]]></category>

		<category><![CDATA[ubuntu]]></category>

		<category><![CDATA[ubuntu_server_project]]></category>

		<guid isPermaLink="false">http://www.theosquest.com/2008/01/13/ubuntu-server-project-2-updating-the-install-and-the-basics/</guid>
		<description><![CDATA[
This is the second installment in my Ubuntu Server Project series which documents my efforts to get a working copy of WordPress running on Ubuntu Server 7.10. It&#8217;s summarized, with links to past articles, on my Linux page or go to the previous article about installing Ubuntu Server 7.10.
Most of my experience with the *nix [...]<p><a href="http://sharethis.com/item?&#038;wp=2.6.1&#38;publisher=398436b4-a27f-4fdd-83fb-b8f78e0ac9b9&#38;title=Ubuntu+Server+Project+%232%3A+Updating+the+Install+and+the+Basics&#38;url=http%3A%2F%2Fwww.theosquest.com%2F2008%2F01%2F13%2Fubuntu-server-project-2-updating-the-install-and-the-basics%2F">ShareThis</a></p>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" alt="Ubuntu logo in black &amp; white" src="http://www.theosquest.com/wp-content/uploads/sitepics/UbuntuLogo-BW122.png">
<p><em>This is the second installment in my Ubuntu Server Project series which documents my efforts to get a working copy of WordPress running on Ubuntu Server 7.10. It&#8217;s summarized, with links to past articles, on my </em><em><a title="Jump to my Linux page where you'll find links to other articles in the Ubuntu Server series" href="http://www.theosquest.com/linux/#usp">Linux page</a></em><em> or go to the previous article about </em><a title="Jump to my article about installing Ubuntu Server 7.10 on Parralels" href="http://www.theosquest.com/2007/12/29/installing-ubuntu-710-server-under-parallels/"><em>installing Ubuntu Server 7.10</em></a><em>.</em></p>
<p>Most of my experience with the *nix command line is limited as there&#8217;s always been a GUI. I think the most I did was over 10 years ago when I did some work on HP-UX. So I&#8217;ll be starting with the very basics, and will <strike>probably</strike> get some things wrong.</p>
<p>First up I&#8217;ll be needing some command line basics. </p>
<h3>Getting Help</h3>
<p>The commands I&#8217;ll be using have <strong>man</strong> (think manual) pages on the system (at least the ones I&#8217;ll be using at first will). So first up I&#8217;ll need to know how to use man. The syntax of man couldn&#8217;t be simpler, it&#8217;s:</p>
<p><strong>man</strong> <em>command</em></p>
<p>where command is the Ubuntu command for which you want the manual page.</p>
<p>I&#8217;ll be using aptitude to update my Ubuntu install so I issue the command:</p>
<p><strong>man aptitude</strong></p>
<p>and the man page for aptitude is loaded. To navigate use the &lt;<strong>spacebar</strong>&gt; to move forward and the &lt;<strong>b</strong>&gt; key to move back. Hit the &lt;<strong>q</strong>&gt; key to exit. Man also has a bunch of switches to search and use numerous other features but I don&#8217;t need those now.</p>
<p>You can also get help for most commands by typing the command followed by the <strong>-h</strong> parameter. The text will probably be more than a screen can handle and some of it will scroll off the top. To scroll up use &lt;<strong>shift</strong>&gt;-&lt;<strong>pageup</strong>&gt; and use &lt;<strong>shift</strong>&gt;-&lt;<strong>pagedown</strong>&gt; to head back down. I&#8217;ve read that shift-uparrow and shift-downarrow can be used but they don&#8217;t work for me. Could be a Mac/Parallels thing rather than bad info. To get to the command prompt release the shift key and start typing your command or just hit any key to get there (be sure to delete anything that was typed). I&#8217;ve either started typing the command or just hit &lt;<strong>return</strong>&gt; to get to the command prompt.</p>
<h3>Virtual Consoles</h3>
<p>Ubuntu, and Linux in general, has virtual consoles even when at the command prompt. There are 6 of them. To switch virtual consoles type the keys &lt;<strong>alt</strong>&gt;-&lt;<strong>F<em>n</em></strong>&gt; where <strong><em>n</em></strong> is a number 1-6. For Mac users the <strong>alt</strong> key is the <strong>option</strong> key. Also, for fellow users of the new Mac keyboards the function keys default to their special features (Dashboard, Spaces, volume, etc&#8230;) so you&#8217;ll need to hold the &lt;<strong>fn</strong>&gt; key too. Or, you can do like I did and go into the keyboard section of System Preferences and enable standard function keys as shown below (click to enlarge).</p>
<p align="center"><a href="http://www.theosquest.com/wp-content/uploads/2008/01/fnkeysetting.png"><img height="65" alt="fn Key Setting - click for full size" src="http://www.theosquest.com/wp-content/uploads/2008/01/fnkeysetting-thumb.png" width="122"></a> </p>
<p>Then you&#8217;ll have to use &lt;<strong>fn</strong>&gt; for the special functions but not any apps or to switch consoles.</p>
<p>With virtual consoles I can use one for the man page and another for the actual commands. In addition, each console requires it&#8217;s own logon so different IDs could be used. Long commands can run in one console while I work in another.</p>
<h3>Aptitude vs. Apt-Get</h3>
<p>Ubuntu uses Debian&#8217;s Advanced Packaging Tool (apt). I came across two commands for managing this from the command line. They are <strong>aptitude</strong> and <strong>apt-get</strong>. They seemed similar but different so I figured I needed to pick one and stay with it. I decided to go with <strong>aptitude</strong>. I did read that mixing in <strong>apt-get</strong> after using <strong>aptitude</strong> could cause problems with <strong>aptitude</strong> because aptitude wouldn&#8217;t know about all the dependencies.</p>
<p>Aaron Toponce has a recent article with well laid out <a title="Jump to the Aptitude vs. Apt-get post at pthree.com" href="http://www.pthree.org/2007/08/12/aptitude-vs-apt-get/">logic for aptitude</a> which is based on this older <a title="Jump to the aptitude article at garfieldtech.com" href="http://www.garfieldtech.com/blog/your-debian-aptitude">explanation of aptitude</a>. But there does seem to be a <a title="Jump to a 5 page forum discussion about aptitude vs. apt-get" href="http://forums.debian.net/viewtopic.php?t=18033&amp;highlight=">minor religious war</a> over the best package management system.</p>
<p>Since I&#8217;m starting with a fresh system it seems <strong>aptitude</strong> is the way to go. It just made sense. Besides, if I get tired of the command line <strong>aptitude</strong> has a curses interface (menu system).</p>
<p>Apt-get does have super cow powers while aptitude does not, which is the only reason I considered using apt-get.</p>
<h3>Updating Ubuntu Server 7.10 - It&#8217;s Why We&#8217;re Here</h3>
<p>The whole goal here was to update my original Ubuntu installation and now I&#8217;m finally ready.</p>
<p>I&#8217;m logged onto the console with my ID and I need to enter two commands. I&#8217;ll be starting each command by specifying <strong>sudo</strong> which will run the command as the <strong>superuser</strong>. I&#8217;m using the default configuration so I&#8217;ll be asked to authenticate with my password which is the id/password created during the Ubuntu Server installation.</p>
<p>The two commands are:</p>
<p><strong>sudo aptitude update</strong></p>
<p>As a mentioned, <strong>sudo</strong> means run as superuser, <strong>aptitude</strong> is the package manager I&#8217;m using and <strong>update</strong> is the action that aptitude will perform. Update tells aptitude to get a list of new/upgradable package.</p>
<p><strong>sudo aptitude safe-upgrade</strong></p>
<p>The safe-upgrade action tells <strong>aptitude</strong> to upgrade packages to their latest version. Packages will not be removed unless they are unused. Packages which are not currently installed will not be installed. If it&#8217;s necessary to remove of install one package in order to upgrade another this action may not be able to handle it. Full-Upgrade can be used in this situation. Aaron Toponce has an article describing the difference between <a title="Jump to the safe vs. full article at pthree.com" href="http://www.pthree.org/2007/09/24/aptitude-full-upgrade-versus-safe-upgrade/">safe-upgrade vs. full-upgrade</a>. As the name implies, safe is more conservative. If it fails to update a package I can do further research and make a decision. Full-upgrade was formerly called dist-upgrade.</p>
<p>I issue the update command and the package info is quickly update. The safe-upgrade command upgraded 16 packages without error.</p>
<p>I then re-issued each command to make sure there weren&#8217;t any further updates. There weren&#8217;t so I&#8217;m done. I saved a snapshot in Parallels and shut things down.</p>
<h3>Summing Up</h3>
<p>Even though this was the basics it does cover the things I had to learn to get going. Rather than following a book and having it set the agenda I figure I&#8217;ll learn as I go. Good idea or not?</p>
<p>If you think you&#8217;d prefer apt-get due to the super cow powers type <strong>apt-get moo</strong> to see if you want the feature.</p>
<p><em>This article is part of my Ubuntu Server Series. Subscribe to get future articles in the series via </em><a title="Subscribe to the Ubuntu Server Project articles in your rss reader" href="http://feeds.feedburner.com/TheOsQuestUbuntuServerProject"><em>rss</em></a><em> or </em><a title="Subscribe to receive future articles via Email managed by FeedBurner" href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1563027&amp;amp;loc=en_US"><em>email</a> subscriptions or visit my <a title="Jump to my Linux page where you'll find links to other articles in the Ubuntu Server series" href="http://www.theosquest.com/linux/#usp">Linux page</a> to see past articles.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.theosquest.com/2008/01/13/ubuntu-server-project-2-updating-the-install-and-the-basics/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fedora 8 on VMware Fusion</title>
		<link>http://www.theosquest.com/2008/01/04/fedora-8-on-vmware-fusion/</link>
		<comments>http://www.theosquest.com/2008/01/04/fedora-8-on-vmware-fusion/#comments</comments>
		<pubDate>Fri, 04 Jan 2008 09:10:54 +0000</pubDate>
		<dc:creator>ray</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[fedora]]></category>

		<category><![CDATA[vmware_fusion]]></category>

		<guid isPermaLink="false">http://www.theosquest.com/2008/01/04/fedora-8-on-vmware-fusion/</guid>
		<description><![CDATA[ Along with Ubuntu and Mandriva I recently installed a Fedora 8 virtual machine under VMware Fusion. I&#8217;m installing Fedora 8 on VMware Fusion 1.1 which is running on my 13&#8243; MacBook.
The VMware Wizard runs just as it did for Ubuntu and Mandriva so you can see the screen shots in those posts. The only [...]<p><a href="http://sharethis.com/item?&#038;wp=2.6.1&#38;publisher=398436b4-a27f-4fdd-83fb-b8f78e0ac9b9&#38;title=Fedora+8+on+VMware+Fusion&#38;url=http%3A%2F%2Fwww.theosquest.com%2F2008%2F01%2F04%2Ffedora-8-on-vmware-fusion%2F">ShareThis</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedora8-bw122.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedora8-bw122-thumb.png" alt="Fedora8_BW122" align="left" height="55" width="122" /></a> Along with <a href="http://www.theosquest.com/2007/12/10/ubuntu-710-gutsy-gibbon-on-vmware-fusion/" title="Jump to my post about installing Ubuntu 7.10 on VMware Fusion">Ubuntu</a> and <a href="http://www.theosquest.com/2007/12/31/mandriva-linux-2008-on-vmware-fusion/" title="Jump to my post about installing Mandriva on VMware">Mandriva</a> I recently installed a <a href="http://fedoraproject.org/" title="Jump to the Fedora Project website at fedoraproject.org">Fedora 8</a> virtual machine under <strong>VMware Fusion</strong>. I&#8217;m installing Fedora 8 on VMware Fusion 1.1 which is running on my 13&#8243; MacBook.</p>
<p>The VMware Wizard runs just as it did for Ubuntu and Mandriva so you can see the screen shots in those posts. The only difference was in the choice of guest OS. I picked Redhat as the Linux to install since Fedora itself wasn&#8217;t a choice.</p>
<p>Once the Fedora 8 ISO image I was using booted the Fedora install kicked off. Unlike my previous installs I chose to install all the available options, which were: Office &amp; Productivity, Software Development, and Web Server. The screen shots from the Fedora install are below. Click the thumbnail for the full size image.</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-1.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-1-thumb.png" alt="FedoraInstall-1" height="110" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-2.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-2-thumb.png" alt="FedoraInstall-2" height="77" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-3.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-3-thumb.png" alt="FedoraInstall-3" height="70" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-4.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-4-thumb.png" alt="FedoraInstall-4" height="106" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-5.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-5-thumb.png" alt="FedoraInstall-5" height="107" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-6.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-6-thumb.png" alt="FedoraInstall-6" height="107" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-7.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-7-thumb.png" alt="FedoraInstall-7" height="107" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-8.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-8-thumb.png" alt="FedoraInstall-8" height="106" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-8a.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-8a-thumb.png" alt="FedoraInstall-8a" height="81" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-9.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-9-thumb.png" alt="FedoraInstall-9" height="106" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-10.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-10-thumb.png" alt="FedoraInstall-10" height="107" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-11.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-11-thumb.png" alt="FedoraInstall-11" height="107" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-12.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-12-thumb.png" alt="FedoraInstall-12" height="106" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-13.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-13-thumb.png" alt="FedoraInstall-13" height="107" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-14.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-14-thumb.png" alt="FedoraInstall-14" height="107" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-15.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-15-thumb.png" alt="FedoraInstall-15" height="107" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-16.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-16-thumb.png" alt="FedoraInstall-16" height="107" width="122" /></a></p>
<p>Then I installed the VMware tools from the RPM package which generated a security warning,</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-17.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-17-thumb.png" alt="FedoraInstall-17" height="78" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-18.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/fedorainstall-18-thumb.png" alt="FedoraInstall-18" height="76" width="122" /></a></p>
<p>After installing the software from the RPM package it&#8217;s necessary to configure the VMware Tools by running <code>vmware-config-tools.pl</code> as root. Like Mandriva, the configuration didn&#8217;t recognize the kernel. But this time when I said I wanted to build the kernel it let me. No doubt because I had installed the software development tools. When answering the questions in the script I accepted all the defaults and didn&#8217;t have a problem. At the end of the config script there are instructions on how to restart networking. The following commands need to be run from terminal before the network could be used:</p>
<p><code></code></p>
<p>/etc/init.d/network stop</p>
<p>rmmod pcnet32</p>
<p>rmmod vmxnet</p>
<p>modprobe vmxnet</p>
<p>/etc/init.d/network start</p>
<p>After this everything worked fine and the VMware tools could be invoked with the command <code>/usr/bin/vmware-toolbox</code> from terminal. Some options, such as shrinking a disk are only available when run a root.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theosquest.com/2008/01/04/fedora-8-on-vmware-fusion/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mandriva Linux 2008 On VMware Fusion</title>
		<link>http://www.theosquest.com/2007/12/31/mandriva-linux-2008-on-vmware-fusion/</link>
		<comments>http://www.theosquest.com/2007/12/31/mandriva-linux-2008-on-vmware-fusion/#comments</comments>
		<pubDate>Mon, 31 Dec 2007 14:08:14 +0000</pubDate>
		<dc:creator>ray</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[frustration]]></category>

		<category><![CDATA[mandriva]]></category>

		<category><![CDATA[vmware_fusion]]></category>

		<guid isPermaLink="false">http://www.theosquest.com/2007/12/31/mandriva-linux-2008-on-vmware-fusion/</guid>
		<description><![CDATA[ Back around Thanksgiving I installed Ubuntu, Fedora and Mandriva Linux virtual machines on VMware Fusion. This article has the screen shots from the Mandriva install. I&#8217;m running VMware Fusion 1.1 on my MacBook running Leopard. Mandriva officially calls it&#8217;s free Linux Mandriva Linux One 2008.
The VMware portion of the setup was straight-forward since Mandriva [...]<p><a href="http://sharethis.com/item?&#038;wp=2.6.1&#38;publisher=398436b4-a27f-4fdd-83fb-b8f78e0ac9b9&#38;title=Mandriva+Linux+2008+On+VMware+Fusion&#38;url=http%3A%2F%2Fwww.theosquest.com%2F2007%2F12%2F31%2Fmandriva-linux-2008-on-vmware-fusion%2F">ShareThis</a></p>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" alt="Mandriva logo in Black &amp; White" src="http://www.theosquest.com/wp-content/uploads/sitepics/MandrivaLogo_BW122.png" /> Back around Thanksgiving I installed Ubuntu, Fedora and <strong>Mandriva Linux</strong> virtual machines on <strong>VMware Fusion</strong>. This article has the screen shots from the Mandriva install. I&#8217;m running VMware Fusion 1.1 on my MacBook running Leopard. Mandriva officially calls it&#8217;s free Linux <a title="Jump to the Mandrive Linux One download page" href="http://www.mandriva.com/en/download/free">Mandriva Linux One 2008</a>.</p>
<p>The VMware portion of the setup was straight-forward since Mandriva is included as one of the available guest OS&#8217;s in the setup wizard. The screen shots from the VMware wizard are shown below. (Click the any thumbnail for the full size image.)</p>
<p>&#160;</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-01.png"><img height="91" alt="Mandriva-01" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-01-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-02.png"><img height="91" alt="Mandriva-02" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-02-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-03.png"><img height="91" alt="Mandriva-03" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-03-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-04.png"><img height="91" alt="Mandriva-04" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-04-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-05.png"><img height="91" alt="Mandriva-05" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-05-thumb.png" width="122" /></a>&#160; </p>
<p>When the virtual machine starts up it loads the Live CD. The setup wizard asks for some hardware information and boots to the Mandriva Live CD GUI. In my case I could just accept the defaults that were pre-selected. The screen shots from the setup wizard are shown below.</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-06.png"><img height="82" alt="Mandriva-06" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-06-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-07.png"><img height="81" alt="Mandriva-07" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-07-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-08.png"><img height="81" alt="Mandriva-08" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-08-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-09.png"><img height="81" alt="Mandriva-09" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-09-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-10.png"><img height="82" alt="Mandriva-10" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-10-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-11.png"><img height="81" alt="Mandriva-11" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-11-thumb.png" width="122" /></a>&#160;</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-12.png"><img class="alignleft" height="52" alt="Mandriva-12" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-12-thumb.png" width="60" /></a> After the desktop appeared I clicked the Live Install icon (shown to the left) on the desktop to start the actual installation. There&#8217;s a wizard that kicks off immediately and another one that runs after the reboot. The screen shots from the pre-reboot wizard are shown below.</p>
<p>&#160;</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandrivainstall-1.png"><img height="80" alt="MandrivaInstall-1" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandrivainstall-1-thumb.png" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandrivainstall-2.png"><img height="81" alt="MandrivaInstall-2" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandrivainstall-2-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandrivainstall-3.png"><img height="81" alt="MandrivaInstall-3" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandrivainstall-3-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandrivainstall-4.png"><img height="81" alt="MandrivaInstall-4" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandrivainstall-4-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandrivainstall-5.png"><img height="81" alt="MandrivaInstall-5" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandrivainstall-5-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandrivainstall-6.png"><img height="80" alt="MandrivaInstall-6" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandrivainstall-6-thumb.png" width="122" /></a>&#160;</p>
<p>After the last screen I just do a normal shutdown and remove the ISO file as the active CD by telling VMware to use the physical drive. When I start the VM up again the following wizard runs. The first screen that pops up asks about the network connection. Even though my MacBook uses a wireless connection I picked the Ethernet connection to configure because VMware virtualizes the connection as an Ethernet connection. </p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-1.png"><img height="82" alt="Mandriva-AfterCopy-1" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-1-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-2.png"><img height="81" alt="Mandriva-AfterCopy-2" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-2-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-3.png"><img height="82" alt="Mandriva-AfterCopy-3" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-3-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-4.png"><img height="81" alt="Mandriva-AfterCopy-4" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-4-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-5.png"><img height="82" alt="Mandriva-AfterCopy-5" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-5-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-6.png"><img height="81" alt="Mandriva-AfterCopy-6" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-6-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-7.png"><img height="82" alt="Mandriva-AfterCopy-7" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-7-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-8.png"><img height="81" alt="Mandriva-AfterCopy-8" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-8-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-9.png"><img height="82" alt="Mandriva-AfterCopy-9" src="http://www.theosquest.com/wp-content/uploads/2007/12/mandriva-aftercopy-9-thumb.png" width="122" /></a> </p>
<p>After entering the user ID on that last screen the wizard goes into welcome, registration and survey screens, all of which I was able to skip. At this point the Mandriva installation is done but the VMware tools need to be installed and this is where the problems begin. </p>
<p>Starting the tools install is simple enough, just select <strong>Virtual Machine -&gt; Install VMware Tools</strong> from the VMware Fusion menu. A RPM and TAR installer will be displayed. I simply double-clicked the RPM package, entered the root password and let it install. But then it has to be configured by running <strong>vmware-config-tools.pl</strong> from terminal as root. Unfortunately the modules needed for the Mandriva kernel aren&#8217;t present so the install fails. After looking around Mandriva for awhile I wasn&#8217;t excited so I decided to skip the tools install for now. I did find <a title="Jump to an article about installing VMware tools in Mandriva Linux." href="http://oscartheduck.wordpress.com/2007/02/12/install-vmware-tools-on-mandriva/">these instructions</a> for installing the tools on Mandriva. I haven&#8217;t tried them, but I&#8217;ll revisit them if I decide to actually start using Mandriva.</p>
<p>Anybody else using Mandriva under VMware? You get the tools installed?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theosquest.com/2007/12/31/mandriva-linux-2008-on-vmware-fusion/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Installing Ubuntu 7.10 Server Under Parallels</title>
		<link>http://www.theosquest.com/2007/12/29/installing-ubuntu-710-server-under-parallels/</link>
		<comments>http://www.theosquest.com/2007/12/29/installing-ubuntu-710-server-under-parallels/#comments</comments>
		<pubDate>Sat, 29 Dec 2007 14:13:19 +0000</pubDate>
		<dc:creator>ray</dc:creator>
		
		<category><![CDATA[Ubuntu Server Project]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[parallels_for_mac]]></category>

		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.theosquest.com/2007/12/29/installing-ubuntu-710-server-under-parallels/</guid>
		<description><![CDATA[ I wanted to install Ubuntu 7.10 (Gutsy Gibbon) Server as a virtual machine under Parallels on my iMac. Server has a couple of differences from the desktop version. The first is that the Graphical User Interface (GUI) isn&#8217;t installed which is my primary reason for wanting it over the desktop version. It&#8217;s all command [...]<p><a href="http://sharethis.com/item?&#038;wp=2.6.1&#38;publisher=398436b4-a27f-4fdd-83fb-b8f78e0ac9b9&#38;title=Installing+Ubuntu+7.10+Server+Under+Parallels&#38;url=http%3A%2F%2Fwww.theosquest.com%2F2007%2F12%2F29%2Finstalling-ubuntu-710-server-under-parallels%2F">ShareThis</a></p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.theosquest.com/wp-content/uploads/sitepics/ParallelsLogo_bw122.png" class="alignleft" alt="Parallels logo in black &amp; white" /><img src="http://www.theosquest.com/wp-content/uploads/sitepics/UbuntuLogo-BW122.png" class="alignleft" ubuntulogo-bw122.pngalt="Ubuntu logo in Black &amp; White" /> I wanted to install <strong>Ubuntu 7.10 (Gutsy Gibbon) Server</strong> as a virtual machine under Parallels on my iMac. Server has a couple of differences from the desktop version. The first is that the Graphical User Interface (GUI) isn&#8217;t installed which is my primary reason for wanting it over the desktop version. It&#8217;s all command line. The second, and the one I didn&#8217;t really consider until the troubles began is that there&#8217;s a <strong>different kernel</strong>. Really, the different kernel is the major difference since the GUI could be installed on the server, it&#8217;s just not part of the installer.</p>
<p>I made it through the first install just fine but on the first reboot there was a kernel panic with the message &#8220;<strong>the CPU is too old for this kernel</strong>&#8220;. Well, my CPU age shouldn&#8217;t be a problem. A quick Google search showed I wasn&#8217;t alone and that the problem was related to Parallels. I&#8217;m running the latest <strong>Parallels Desktop 3</strong> which is <strong>build 5582</strong>. The kernel installed with Ubuntu 7.10 Server is <strong>2.6.22-14-server</strong>.</p>
<p>The clearest solution I found was at Paul Annesley&#8217;s web site even though it was about installing <a href="http://paul.annesley.cc/articles/2007/05/01/ubuntu-704-feisty-server-parallels-cdromkernel-workaround" title="Jump to the article on paul.annesley.cc" target="_blank">Ubuntu Server 7.04 on Parallels</a>. The key piece was how to replace the kernel before the initial startup. Since I&#8217;m using a newer version of Ubuntu Server there were some minor differences:</p>
<ol>
<li>I didn&#8217;t have to delay the Linux installation or switch the type to Solaris. It appears the CD-ROM detection problem was solved with either the latest Parallels or the latest Ubuntu. (I did have to do this when <a href="http://www.theosquest.com/2007/04/21/ubuntu-704-feisty-fawn-on-parallels/" title="Jump to my post about installing Ubuntu 7.04">I installed Ubuntu 7.04</a>.)</li>
<li>I did have to follow the steps under &#8220;Start and Install&#8221;</li>
<li>There were some changes in the &#8220;Roll Up Your Sleeves&#8221; section:<br />
When I ran the umount command there was nothing to unmount so there was an error which wasn&#8217;t a problem.<br />
Version 7.10 has a newer kernel so the remove command is:<br />
<code>aptitude remove linux-server linux-image-server linux-image-2.6.22-14-server </code></li>
</ol>
<p>I also had the same file system errors about time stamps being in the future that Paul mentioned.</p>
<p>The one annoying problem I have is that the system doesn&#8217;t completely power off. Even though it says the system is going to power down it ends with a &#8220;Unable to iterate IDE devices: No such file or directory&#8221; error then the System Halted message. Parallels thinks the VM is still active so warns me when I go to shut it down. This doesn&#8217;t seem to be causing any problems and the file system reports clean during the next startup.</p>
<p>I also noticed a ACPI error during boot up. I added acpi=off to the kernel line when booting and while that eliminated the acpi error it didn&#8217;t fix the shutdown problem.</p>
<p>The Parallels configuration screens are shown in the screen shots below in the order they appear:</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-01-bw.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-01-bw-thumb.png" alt="UbuntuServer-01_BW" height="90" width="122" /></a>  <a href="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-02-bw.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-02-bw-thumb.png" alt="UbuntuServer-02_BW" height="91" width="122" /></a>  <a href="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-03-bw.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-03-bw-thumb.png" alt="UbuntuServer-03_BW" height="91" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-04-bw.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-04-bw-thumb.png" alt="UbuntuServer-04_BW" height="90" width="122" /></a>   <a href="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-05-bw.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-05-bw-thumb.png" alt="UbuntuServer-05_BW" height="90" width="122" /></a> <a href="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-06-bw.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-06-bw-thumb.png" alt="UbuntuServer-06_BW" height="91" width="122" /></a>   <a href="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-07-bw.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-07-bw-thumb.png" alt="UbuntuServer-07_BW" height="90" width="122" /></a>  <a href="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-08-bw.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-08-bw-thumb.png" alt="UbuntuServer-08_BW" height="90" width="122" /></a>  <a href="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-09-bw.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-09-bw-thumb.png" alt="UbuntuServer-09_BW" height="90" width="122" /></a>  <a href="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-10-bw.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-10-bw-thumb.png" alt="UbuntuServer-10_BW" height="90" width="122" /></a></p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-11-bw.png"><img src="http://www.theosquest.com/wp-content/uploads/2007/12/ubuntuserver-11-bw-thumb.png" alt="UbuntuServer-11_BW" align="left" height="83" width="122" /></a> As previously mentioned the OS type was changed to <strong>Linux - Other Linux kernel 2.6</strong> post install but before the first startup. This is shown on the screen to the left.</p>
<p>While Parallels has put a lot of thought and effort into their Windows integration it appears Ubuntu support is still problematic and unofficial. While Ubuntu is listed in the OS drop down when creating a VM it&#8217;s not currently listed as a <a href="http://www.parallels.com/en/products/workstation/os/" title="Jump to the list of supported OS's at parallels.com">supported guest OS</a>.</p>
<p>While I was working on the Ubuntu/Parallels problem I installed Ubuntu 7.10 Server on a VM under VMware Fusion and was surprised how easy and fast the installation was. But that&#8217;s another story and I haven&#8217;t used it enough to know if there are any non-obvious problems.</p>
<p>I&#8217;ll probably move forward running Ubuntu Server on VMware Fusion and leave this Parallels VM for experimentation. Anybody heavily using Ubuntu on Parallels? Is it stable post install?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theosquest.com/2007/12/29/installing-ubuntu-710-server-under-parallels/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu 7.10 (Gutsy Gibbon) on VMware Fusion</title>
		<link>http://www.theosquest.com/2007/12/10/ubuntu-710-gutsy-gibbon-on-vmware-fusion/</link>
		<comments>http://www.theosquest.com/2007/12/10/ubuntu-710-gutsy-gibbon-on-vmware-fusion/#comments</comments>
		<pubDate>Mon, 10 Dec 2007 12:01:53 +0000</pubDate>
		<dc:creator>ray</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[ubuntu]]></category>

		<category><![CDATA[vmware_fusion]]></category>

		<guid isPermaLink="false">http://www.theosquest.com/2007/12/10/ubuntu-710-gutsy-gibbon-on-vmware-fusion/</guid>
		<description><![CDATA[ I installed Ubuntu 7.04 under Parallels back in April and upgraded it recently. I run VMware Fusion on my MacBook which I was traveling with over Thanksgiving so I decided to install Ubuntu 7.10 under VMware to compare with Parallels. I&#8217;m running VMware Fusion 1.1, which is the latest version, on OS X 10.5.1 [...]<p><a href="http://sharethis.com/item?&#038;wp=2.6.1&#38;publisher=398436b4-a27f-4fdd-83fb-b8f78e0ac9b9&#38;title=Ubuntu+7.10+%28Gutsy+Gibbon%29+on+VMware+Fusion&#38;url=http%3A%2F%2Fwww.theosquest.com%2F2007%2F12%2F10%2Fubuntu-710-gutsy-gibbon-on-vmware-fusion%2F">ShareThis</a></p>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" height="121" src="http://www.theosquest.com/wp-content/uploads/sitepics/UbuntuLogo-BW122.png" width="122" /> I installed <a title="Jump to my post about installing Ubuntu on Parallels" href="http://www.theosquest.com/2007/04/21/ubuntu-704-feisty-fawn-on-parallels/">Ubuntu 7.04 under Parallels</a> back in April and <a title="Jump to my post about upgrading Ubuntu 7.04 to 7.10" href="http://www.theosquest.com/2007/12/08/upgrade-to-ubuntu-710-gutsy-gibbon-on-parallels/">upgraded</a> it recently. I run <strong>VMware Fusion</strong> on my MacBook which I was traveling with over Thanksgiving so I decided to install <strong>Ubuntu 7.10</strong> under VMware to compare with Parallels. I&#8217;m running VMware Fusion 1.1, which is the latest version, on OS X 10.5.1 which is also the latest version.</p>
<p>I downloaded the Ubuntu 7.10 ISO file from <a title="Go to the Ubuntu website" href="http://www.ubuntu.com">ubuntu.com</a> and started the <strong>Create New Virtual Machine</strong> wizard in VMware Fusion. The installation is straight-forward and the wizard is self-explanatory so you can view the screen shots below to see the steps in the creation wizard. Click the thumbnails to see the full size images.</p>
<p>&#160;</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2007/12/newvmwizard-1.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="95" alt="New VM Wizard Dialog 1" src="http://www.theosquest.com/wp-content/uploads/2007/12/newvmwizard-1-thumb.png" width="126" border="0" /></a>&#160; <a href="http://www.theosquest.com/wp-content/uploads/2007/12/newvmwizard-2.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="95" alt="New VM Wizard Dialog 2" src="http://www.theosquest.com/wp-content/uploads/2007/12/newvmwizard-2-thumb.png" width="126" border="0" /></a>&#160; <a href="http://www.theosquest.com/wp-content/uploads/2007/12/newvmwizard-3.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="94" alt="New VM Wizard Dialog 3" src="http://www.theosquest.com/wp-content/uploads/2007/12/newvmwizard-3-thumb.png" width="126" border="0" /></a>&#160; <a href="http://www.theosquest.com/wp-content/uploads/2007/12/newvmwizard-4.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="95" alt="New VM Wizard Dialog 4" src="http://www.theosquest.com/wp-content/uploads/2007/12/newvmwizard-4-thumb.png" width="126" border="0" /></a>&#160; <a href="http://www.theosquest.com/wp-content/uploads/2007/12/newvmwizard-5.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="95" alt="New VM Wizard Dialog 5" src="http://www.theosquest.com/wp-content/uploads/2007/12/newvmwizard-5-thumb.png" width="126" border="0" /></a> </p>
<p>The last screen shot shows that I want to install the OS immediately and install from the ISO image that I downloaded. The Ubuntu installation was also straight-forward so the screen shots below can tell the story.</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2007/12/newubuntu-1.png"><img height="104" alt="Ubuntu Install Screen 1" src="http://www.theosquest.com/wp-content/uploads/2007/12/newubuntu-1-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/newubuntu-2.png"><img height="106" alt="Ubuntu Install Screen 2" src="http://www.theosquest.com/wp-content/uploads/2007/12/newubuntu-2-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/newubuntu-3.png"><img height="105" alt="Ubuntu Install Screen 3" src="http://www.theosquest.com/wp-content/uploads/2007/12/newubuntu-3-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/newubuntu-4.png"><img height="105" alt="Ubuntu Install Screen 4" src="http://www.theosquest.com/wp-content/uploads/2007/12/newubuntu-4-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/newubuntu-5.png"><img height="105" alt="Ubuntu Install Screen 5" src="http://www.theosquest.com/wp-content/uploads/2007/12/newubuntu-5-thumb.png" width="122" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/newubuntu-6.png"><img height="104" alt="Ubuntu Install Screen 6" src="http://www.theosquest.com/wp-content/uploads/2007/12/newubuntu-6-thumb.png" width="122" /></a><a href="http://www.theosquest.com/wp-content/uploads/2007/12/newubuntu-6advanced.png"><img height="102" alt="Ubuntu Install Screen 6 (advanced button)" src="http://www.theosquest.com/wp-content/uploads/2007/12/newubuntu-6advanced-thumb.png" width="122" /></a> </p>
<p>That last screen shot is the advanced button from the last screen in the installation wizard.</p>
<p>After the installation completed I ran the Update Manager in Ubuntu to pull down the waiting updates. Once that&#8217;s done I select &quot;Install VMware&quot; tools from the VMware menu. This opens up the window shown below. The tools can be installed from either and RPM package or extracted and installed from a tar installer. The VMware online help gives good instructions on how to use either one. I extracted he installer from the tar file. The only thing not in the VMware instructions is to run the installer using <strong>sudo</strong> so it installs as root. The screen shots below show the output from terminal during the installation.</p>
<p><a href="http://www.theosquest.com/wp-content/uploads/2007/12/vmwaretoolsinstall-1.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="88" alt="VMwareToolsInstall-1" src="http://www.theosquest.com/wp-content/uploads/2007/12/vmwaretoolsinstall-1-thumb.png" width="126" border="0" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/vmwaretoolsinstall-2.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="88" alt="VMwareToolsInstall-2" src="http://www.theosquest.com/wp-content/uploads/2007/12/vmwaretoolsinstall-2-thumb.png" width="126" border="0" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/vmwaretoolsinstall-3.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="89" alt="VMwareToolsInstall-3" src="http://www.theosquest.com/wp-content/uploads/2007/12/vmwaretoolsinstall-3-thumb.png" width="126" border="0" /></a>&#160;<a href="http://www.theosquest.com/wp-content/uploads/2007/12/vmwaretoolsinstall-4.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="88" alt="VMWareToolsInstall-4" src="http://www.theosquest.com/wp-content/uploads/2007/12/vmwaretoolsinstall-4-thumb.png" width="126" border="0" /></a> </p>
<p>I didn&#8217;t have any of the problems installing Ubuntu on VMware that I had installing it on Parallels. But, to be fair, that was an older version of both Parallels and Ubuntu. The install took over an hour but most of that was waiting for files to copy or download.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.theosquest.com/2007/12/10/ubuntu-710-gutsy-gibbon-on-vmware-fusion/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
