Home Server Projects
I've always been interested in installing servers for home use. The ability to customize Linux based servers to the degree that surpasses what is economically available from any other source makes Linux the obvious choice. Linux also offers the home user more latitude in that it will support practically any other desktop operating system with basic services.
Sunday 25 November 2007, 6:13 PM
Debbie's New Role, Home Movie File Server
After having a few more days to "digest" the lessons learned from dealing with the Gorilla's FREE web site deal and how it relates to Debbie's situation, that of system server, I think there are definitely some points to incorporate into my system.
There are two schools of thought for Web site design. The first one, the more traditional, is to push most of the work onto the web client. Serve a file to the client that the client is expected to render into a useful form. The second form has the server doing a lot of the work to render the page into a form the client is expected to just display. More than likely the content being viewed is under some DRM restrictions so that using a proprietary browser application is necessary. That is where Microsoft and the rest of the Internet development communities differ in varying degrees.
With my FREE Dead Office web site I was able to figure out that I had to have IE6/7 to make the tools work. I couldn't make a connection with the management site with FireFox2 and do anything meaningful. Even to just connect with the site itself, about half the time I got the error page indicating that I had to have IE6 or 7 as my browser. The period of time that my FREE web site seemed to be dead or removed might have been the time that the web site administrators did some sort of an upgrade.
Behavior after the web site came back was slightly different and that was when the IE6/7 browser error message page stopped popping up when I used FireFox to just view the pages. I'm not expecting the website programmers and designers to stand still but it would be in best interests of their customers to design in features that fall back gracefully and be able to serve pages for older and alternate browsers. It looks like at least some of the Dead Office programmers are aware of that.
I have found hundreds of commercial and private web sites that flat out will not work properly with anything other than the last 2 or 3 versions of Internet Explorer. Even those web sites often require that the user open up the security options or open the browser to pop-ups. I've gotten in the habit, as I suspect many others have, of opening both IE and FireFox so I can do my browsing with FireFox and my website use with IE. What was especially interesting about at least some of the Kraken functionality was it didn't break when accessed by FireFox 2.0.
The implications for Debbie (the Debian 4.0 server on my home system) is that she'll have to become the lowest common denominator, a file-server, since I expect her to be compatible with whatever browser and whatever operating system versions come out in the next few years. She'll be able to serve files but not render them. Debbie should be able to stream some files but I don't expect the server to support DRM encrypted files, let the Microsoftie websites store them. Debbie is going to be modified slightly to serve up ISO's as a CDROM/DVD cache/player. My daughter has asked me more than once why I don't buy one of the new digital mini-DVDR cameras for home movies. Having the ability to serve up the video files from Debbie would be an excellent use of the hardware. Leaving them as ISO's keeps the video files in their original coding and would allow for different forms of playback. Here is an area where I know for certain my knowledge is out of date having gotten out of the video business in 1991. I assume that a form of MPEG is being used but not I'm sure about the file formats etc.
Linux and Windows both have player applications for MPEG3 and I'm assuming that most DVD playing software can play home movies. Nero and other CD/DVD burner programs have utilities to make images. The ability to playback MPEG video seems to be more tightly connected to the OS than to the browser so its best to leave them in near original form. That would allow my daughter, the tweener drama queen, to access her productions on her Win9X box. My son could view music videos direct from the Web or from Debbie, depending on the state of the DRM license on the video.
The trick is going to be writing an automated Windows application that can allow my family users to transfer an ISO image file to the shared folders on Debbie for later access without requiring a complicated process. For playback, a web page interface to the shared folders with an automated shortcut created when the ISO file is created on the volume. The shortcut, when pressed later, will trigger off a Linux mount command on Debbie and a Windows connection script (on the Windows client) to the mounted ISO volume. The Windows clients will then playback the video on the Windows client using some media player. For Linux clients, the mount command will be sufficient to allow a Linux playback application to play the program or home movie.
Friday 23 November 2007, 5:53 PM
Reflections on a website, Post- Fowl-Feast
Having a couple of extra FREE days off from work thanks to the efforts of some nearly 400 year old sectarian radical zealots*1 and the way-more intelligent locals that helped them to survive, I poked around on the FREE website the Gorilla gave me. Being thankful, I decided to see what I could do with it. Not much. Its extremely limited, has basically only one theme that looks really awful. The color combinations that can be chosen are fixed and are just slightly expanded choices from a limited palette. You can't kill the search applet that's tagged onto every page along with the "Dead Office" bug at the bottom of all the pages. I really didn't expect to get rid of the Dead Office bug but what's the point of forcing every page to have a search applet? Oh yeah! Its tied to Microsoft Live Search (aka MSN Search), another Microsoft product in sore need of customer attention, and another way to push up the ad click counts.
I tried using FrontPage 2000 to publish my website pages to the website. No way Jose! It will not accept pages via http or ftp even with the proper user name and password. The message I got back was that there were "no FrontPage 2000 extensions" on the server. The clue is that EVERY page on the site was tagged with the extension - aspx, in other words Active Server executable pages. As I mentioned before, Microsoft is pushing way out beyond the W3 Internet standards when its forcing the pages it serves to be "executed" on the server before being "published" to the web browser requesting the generic forms of the page. This is also enforced at least 50% of the time by the Microsoft web page server sending an error page to me when I used FireFox 2.0 to access the website. Published is the correct word to use since the page doesn't really exist until the active server creates it and then it gets rendered for the first time in the browser window in front of the user. There is no index.html, its index.aspx. This will shift the balance of required computational power AND the control to the server and away from the client computer. If this is what Web 2.0 is all about, I think its a big mistake.
The template mechanism, as exposed as a style sheet theme.css, becomes the means of pushing the style onto every page created by the "web site owner" (not really an owner at all!) since the layout, form and colors are enforced in the style sheet. I tried deleting, editing and renaming the style sheet to no avail. Trying to modify it using FrontPage 2K caused the Server to shutdown FrontPage and a nasty error message to pop-up and then an offer to send the typical "unexpected program shutdown" report back to the Microsoft mother-ship. This message is meaningless since Microsoft has shutdown support for FrontPage 2000. So its really unfortunate that Microsoft has limited the FREE website so much since its hard to determine what you can really do with the tools it has since there's not a whole lot you can do with them.
Always looking for a lesson to learn from the things I run into, there is one lesson to learn here. If you're inclined to build a web server or a Home Server (or a combination of both!) the idea of leaving it completely open and clear of platform dependencies or restrictions is the ideal. Don't expect your users to have one specific browser, a specific operating system or specific applications because sooner or later, one or all of them will change enough to make something break. And that is probably also the biggest difference between a proprietary operating system and web server and an open standards and open source operating system. In many ways Microsoft has become the Teddy Roosevelt of the 21st century, imperialistic, self-imbued with a manifest destiny and self-deluded by all of their PR and advertising.
I asked for my domain name back but since its Saturday in Australia I really don't expect them to be working today. We'll see how that will work.
*1 I find it somewhat ironic that our Thanksgiving holiday is derived from the actions of a bunch of so-called right wing conservative Christian heretics who later go about killing some of their own because of the suspicion of them practicing witchcraft! Nobody back then knew about ergot toxin.
Wednesday 21 November 2007, 12:12 PM
Well the Gorilla has found me out! Now I know what FREE really means.
4AM CST It appears that I've violated some of the small print over at Microsoft Dead-Office. They've pulled my nascent website down. I get an error message in both FireFox and IE7. What's really funny is that Google managed to archive it on the 16th and the page works better on their server than it did on Microsoft's! Working better I mean that you can activate the buttons and links in FireFox 2.0 whereas before when it was live, you had to use Internet Exploder. Its really annoying to have to use their web browser to look at my website. I guess that's what happens when its FREE.
The other thing I find that's funny is that the Dead Office button at the bottom of the page when you click on it pops open a certificate warning window. That might be purely because the certificate Microsoft put on it is only recognized by Microsoft or it might mean its for a different site since its cached on Google. In any case it didn't crash Firefox when I pushed it like it did on Microsoft's served pages.
Well in any case they haven't released the domain name yet. Its not like they can't find me! (Maybe they have Google blocked on their corporate network!) I would like to register it perhaps on another provider, perhaps a service a little friendlier to Linux and a little less friendly with dotNet, ASP and all that proprietary nonstandard Web technology.
I asked them politely to turn it back on. I even said Please.
5:30AM CST UPDATE!!!!!!
Its back on. BUT the live Office button NOW works without crashing my browser. hmmm. Maybe they're reading my blogs. A guy could get paranoid. I also got the certificate page. That was funny getting a unknown certificate warning from the browser from a Microsoft website.
Well what threw me off was that the network monitor page they maintain over there indicated that everything was fine. Well we know how reliable those messages are.
One little bit of information I picked up was that the servers and the provider is operating in Australia. Long haul even from Washington state.
All of the pages I created on the website were tagged as aspx pages, Active server Web form pages. Considering how little text I added to the pages. My "website" probably resides in a couple of clusters on a hard drive. Might have been archived in cold storage!
In any case it brings up an interesting issue. Do you really want to have your website hosted by the largest Gorilla on the planet when he insists on using what amounts to his toys? When he gets made at you and decides to go home, he'll take the toys with him. Do you want your business dependent on a corporate entity that has to depend on mass marketing and volume sales to reach and serve his entire market? How big a small business do you have to be to get the big Gorilla's personal attention to fix something broken especially when its FREE?
Saturday 10 November 2007, 8:06 PM
I couldn't resist a FREE offer from Microsoft.
You'd have thought I learned my lesson with Kraken.
Because of my work (I design Windows XP Embedded computer systems) I get a lot of email from various divisions of Microsoft's empire. One part of the Gorilla's business I usually ignore is the stuff from the guys working on Office and its fellow traveler Live Office. What caught my eye this time though was the word FREE. I'm usually a sucker for anything FREE from somebody that looks legitimate. Well they are offering small businesses a FREE website. Of course its being served by boxes running some version of Windows IIS & ASP. There is a lot of encouragement to use their FREE website building tools. And for the privilege of not paying for the minimal website, its FREE ya know, you get to have an logo with an embedded link to what they really want to sell, Office Dead, or Dead Office. (Haven't figured out what sounds funnier, in a Monty Python sort of way. “Bring out your Office Dead!” or a stuffy “Bureau of Dead Offices” skit starring Cleese and Idle.)
Ok. So what does this have to do with a Debian Home Server? Actually nothing. I'll get to it directly in a minute or so. It only has a little bit of rat in it.
At work I'm looking into and actually having to program a number of automated procedures to allow a less-than-extremely-highly-skilled employee to be able to rebuild a Windows XP system with a process that is essentially “hands off” and to do it over and over again on systems with different kits of hardware. Those of you out there similarly afflicted with Windows expertise as I am know the techniques involve use of things called Sysprep and Unattended installs. In a few millisecs of daydreaming I started wondering if similar set(s) of techniques existed for Linux systems. Surely, I thought, there has to be!
After messing with it for 2 weeks, doing what constitutes a bare metal system restore in Windoze or in Linux can be done in quite a few ways, all without requiring the use of Ghost or Acronis or other commercial drive imaging software. The big trick is coming up with a generic enough set of drivers that will fit on most systems by using the minimal sets of defined interfaces that make up the architecture of the original IBM PC and the idealized PCI, IDE, ATAPI, USB 2.0 and other bus specifications. After that the limitation is the network card. That is the one area where a “bus” specification would really help.
It used to be (“Time to turn on the WayBack Machine Sherman!”) in the days where an ISA bus was all you needed so that a ISA bus network card called the NE1000 became a sort of defacto standard. If you had a driver that could talk to a NE1000, it would talk to a lot of other cards that also used the same programming model. Then the 3C509 from 3Com became a sort of standard. Now these days, its networking chaos except for PXE. With PXE you can download the image you need to the system. For Windows that system would be a WinPE system. For Linux it would be a generic boot up OS image like those used on the Live CDROMs.
The trick in Windoze its to use what they call the Windows Pre-installation Environment or WinPE CDROM. You stick a Windows XP Pro INF file and the SYS driver file in the appropriate places in the WinPE boot-up image and poof! It finds the driver and installs it when the WinPE formatted CDROM boots up. Basically WINPE is a GUI-less version of a stripped down Windows XP Pro or call it 32bit DOS. Unfortunately it reboots every 24 hours and forgets everything it did in the previous 24 hours. Its also not a free download or you'd have a lot of people running blazing fast Windows systems that have been stripped to the bone to just the essential systems. Excuse me, I digress. WinPE gives Windows systems the ability to reside as an image in a folder that gets downloaded and then on the next reboot begins to run as if its always been there on the client system. Think of it as a Hibernation image on a remoted server.
The relevance to Debbie (the Debian Home Server) is that while she's running Samba, she looks like just any other Windoze server to a box that booted up running WinPE. That's because WinPE's default security model is just NTLanManager, something that Samba handles quite nicely. WinPE can't operate as a server but it can read and write NTFS, and FAT-anything partitions. It can also sit in its own partition and be an option to boot up. It can connect to a server and read and write to a shared folder there as well. What's even nicer is that it will work for saving and restoring all versions of Windows. There is a freeware version called BartPE that works similar to WINPE without the licensing issues.
Schedule BartPE to run by putting it in its own partition, do a file swap on the file boot.ini in the root of the Windows system partition and do a reboot. The system boots up running BartPE, it follows a script, copies the system partiton and what other partitions desired to a folder on Debbie in the folder for the restore images. So I've found my bare-metal restore solution for Windows systems on Debbie.
Now I have to figure out how to do something similar to a Debian system. Being able to format a drive and then just copy files onto it to re-create a system beats even running a Live CD and doing an install. You eliminate all the Internet downloading and program installation issues.
For Linux for certain, a couple of other items are necessary. A DHCP server because BartPE (and WinPE) running on a PXE NIC need the IP address and and subnet mask so that it can connect to Debbie. Debbie is running a DHCP server so that's taken care of. Then a means of doing a PXE serve like a thin client that can download and store an image. Then formatting the drive and replacing the Linux image and then rebooting into the restored image. So I do have some more work to figure those steps out.
I am still leveraging what I know about Windows systems and looking for analogs in the Linux world. Thin clients however is not anything I've done using either Linux, Windows or Citrix. Yes I know there are thin client solutions running that can work using Linux that will do what I need here. I'm going to my friend Google and do some research this weekend.
The FREE website? Well I was wondering if I could log onto it with a Debian Linux system and attempt to manage it using Iceweasel (Firefox), OpenOffice 2.0 and Bluefish. Nope no go. Its all Active Pages and dotNet stuff and it hangs almost immediately. I'll bet I can't log on with Win 2K either. FREE in this case means you have to buy Windows XP or Vista-something-or-other! It reminded me almost immediately of my experience with Kraken, the Windows Home Server that only works with XP SP2 and Vista systems. If you want to see what it looks like so far: http://xwindowsjunkie.com
The webpage itself was created using their “free” website software using a template. You can look at it you just can't log onto the management portal and fiddle with the site. I haven't actually tried to delete the entire format and push my own into the page. My guess is that I won't be able to delete all the active stuff out.
If you want to see Iceweasel or Firefox 2.0 hang up, click on the Office-whatever logo

