Fun With Servers – Part 1*

A couple of years ago, for the fun of it, I wrote a book on UPK 3.5. The latest version of UPK (11.1) has now been available for several months, and although my current client doesn’t have it yet, I keep getting asked for an update to my book. Also, in the spirit of being a true ‘consultant’, I thought I’d better stay at least one step ahead of my client, who are upgrading soon, and learn about UPK 11 before I need to teach them about it.

UPK 11.1 can run as a stand-alone product on a single PC, or (for the Enterprise…) can run as client/server. Last time I just installed the stand-alone version on my own PC at home, and relied on the kindness of my technical reviewer for access to a client/server version. This time I thought I’d install the full client/server version at home and do the job properly. Obviously (in hindsight), this proved to be a bit more tricky than I anticipated.

The first problem was that I didn’t have my own server. I figured that a server is a server, and a ‘home server’ would work just as well as a ‘real server’, so decided to just get one of them. Home servers are a growing market thanks to increased demand for media streaming, and you can pick up adequate hardware relatively cheaply (many PC vendors sell home servers, with all the software (they think) you need – Windows Media Server, etc. – installed and ready to run), and by all accounts setting up a home server is pretty simple. Unfortunately, I don’t do simple. I try, but it just won’t let me.

UPK needs a database on the back-end to store your training content in. It gives you a choice of Microsoft SQL Server, or Oracle Database. As I’m more familiar with SQL, I thought I’d use SQL Server. The cheapest ‘real’ version of MS SQL Server would set me back $999, which is ridiculous for home use, even by my pretty lax justification standards. Luckily someone (thanks, Mick) tipped me off that I could use Microsoft’s ‘gateway drug’ version, MS SQL Server Express, which is effectively a stripped-down version of the full product, but is at least free. I checked the UPK installation requirements, and it said it would work with SQL Express, so that looked like a winner.

However, because a home server is usually doing nothing but serving files to the PCs on the home network (or, these days streaming media to your TV), they are usually pretty low-spec. All the really cheap ones (and I’m going for cheap because this is just a hobby) use an Intel Atom chipset. And – of course! – as I found out in the small print, and luckily before I bought a server - SQL Server Express is apparently incompatible with the Atom chipset. Which meant that I had a choice of upgrading to the full version of Microsoft SQL Server or buying a ‘real’ server with a grown-up chipset. I went for the latter, opting for a Dell Poweredge T110 II, which runs an Intel C202 chipset. This is pretty much Dell’s entry-level server, and is actually a complete bargain at $399. (In fact, if you want a decent-spec desktop PC (with no screen, keyboard, or mouse), you could do worse than get one of these.) To keep down the cost, I went for close to the minimum configuration, just with an extra 2Gb of memory (for an extra $49) to take it up to 4Gb, which is the minimum that UPK says it needs. True, a Poweredge is probably a bit overkill for my needs (it’s really aimed at small businesses) but I figure I’ll use it as a full home server and get my music and videos on it too at some stage. And it looks dead sexy, too.

However, because the Poweredge is aimed at small businesses, Windows Home Server isn’t one of the available pre-installed operating systems. In fact, Dell claims that their Poweredge servers don’t support Windows Home Server at all – and they don’t offer a machine that does, unlike most manufacturers. The cheapest server OS they could sell me was Windows Small Business Server Essentials 2008, which would add $469 to the price (i.e. more than the cost of the hardware). Which seems a bit excessive when compared to the $49 for Windows Home Server. So I decided to order the server without any operating system at all, and just pick up a copy of Windows Home Server and try my luck at installing it anyway. It’s just an OS, right?

Of course, because I wasn’t buying it with an OS, the server basically shipped as a blank machine. And I mean blank. No ‘getting started’ programs, no boot disk, no nothing.  It had almost zero drivers on it, and wouldn’t even boot from the CD that my Amazon-bought copy of Windows Home Server came on, because, factory-set, the system is not set up to boot from the CD drive (because they expect everyone to have an OS factory-installed!). I had to go into the BIOS and change the SATA mode to ATA, and then reboot and choose to boot from the CD drive, for it to even find the installation files. All of which is documented absolutely nowhere. Still, through luck and a lot of trial and error (and a lot of scouring Server bulletin boards, I did eventually manage to get Windows Home Server installed and running (despite Dell’s protestations).  Satisfyingly, the installation disks say “Intended for system builders ONLY” (their emphasis). So now I am officially a ‘system builder’. Steve Pratt, my old Software Architecture lecturer would be so proud!

For the fun of it I added a second hard drive at the same time. Actually, I added it before I’d even installed the OS. Really, it would have been wise to have waited until the server was up and running before doing this, because there were a bunch of errors thrown up whenever I booted the (installed) server, and I didn’t know whether this was the new hard drive (which it failed to find) or the SATA/ATA setting change I’d made earlier, but I’m nothing if not impetuous (or at least impatient…). As it was, it took me about an hour of trying various permutations of hard drive settings in the BIOS (it comes with one partitioned 1Tb drive and has another 4 bays – one of which I used for my new drive) before I could manage a clean boot.

So, probably 4 or 5 hours after unboxing, I had the server up and running, with an OS and an extra 2Tb of disk space (which cost me $79 at Best Buy – so why do work insist that we’re only allowed 250mb for email because disk space is “too expensive”??).  The next task was to install SQL Server Express. This seemed to go on fine, and I could see it running under Services, but there was nothing else visible – no dashboard, welcome screen, getting started app, or anything – to confirm this. I had a play around, but it all seemed like too much hard work, so I stripped it out again, and replaced it with Oracle Database Express Edition (11gR2), which is the other option UPK said it would accept. This looked a lot better, giving me a dashboard AND a getting started app, which I then happily trundled through.  I can’t say I knew what I was doing (really should have paid more attention during my database design lectures) but I did manage to set up an admin ID, a user ID and a table namespace without too much trouble.

Next came installing UPK. For the fun of it I’d already installed the stand-alone version of UPK 11 on my desktop PC (and had installed 3.6 and 8.7 on prior PCs), so figured that it wouldn’t be too complicated. Wrong. I went all the way through the (almost hour-long) installation of the server software, only to hit “Error Code 1” when writing the sample files to the database.  You’d think that being Error Code 1 this would be the first problem everyone hit, and there would be a nice, easy, well-documented solution.  But noooo. No-one on the forums were able to help (there were quite a few people asking the same questions, but no answers), and I didn’t want to ask Oracle in case they questioned the terms of my ‘evaluation’ license (a full license is $17,000 – yes, seventeen thousand!). So I resorted to tweaking this and that, and trying again. Really, I should have asked for help, as this took me months. Really. Months. Not of solid effort (I’d kind of get disheartened and give up for 2 or 3 weeks at a time), but still…

But eventually, after a lot of trial and error, I narrowed it down to a problem with the IIS set-up on the server, and nothing at all to do with the database or UPK at all. I’m not sure exactly what, as I’d change a bunch of what seemed like random settings each time I tried the reinstall, but eventually the server side of UPK went on just fine – on about my 30th attempt. But once I’d managed that, everything else worked like a charm. I got the client software installed on my desktop machine without issue (at least once I’d configured the server to use a static IP address) , and got that connected to the server version, and accessing the same database. For good measure I also installed the Client on the sever machine and a spare laptop, so that I could realistically test the ‘multi-user’ capabilities (stretching my split personality disorder to the max), all again without a problem.

Now all I need to do is write the damn book I went to all the trouble of doing this for. And if sales of the last version are anything to go by, I’ll be lucky to recoup the cost (of the server, hard drive, WHS, and a new licensed version of Microsoft Office that I also had to install on the server for UPK’s benefit). Good job I’m only doing this for the fun of it. Whenever that starts…


* Because I’m sure I’m not done yet…

Leave a Reply

Your email address will not be published. Required fields are marked *