Windows Server Blogging

From the 2005 Archives Personal #GEEKY 5 Comments

I’m trying to find a quick way of installing WordPress on Windows Server 2003. Cue the ominous music.

This is for a client, of course, otherwise I’d just install on Linux and be done. Unfortunately, the answer to “WordPress on Windows Server” is increasingly looking like no, don’t bother. However, there are some interesting alternatives that I’m looking into.

Interested parties click on! The rest of you, start yawning!

UPDATE: I wrote up the steps for doing the WordPress-IIS-MySQL-PHP installation on a Win2003 Server.

Ok, the standard setup I’m spec’ing to is Windows Server 2003 Standard. It’s configured with:

  • Internet Information Services (IIS), Microsoft’s Web Server. Easy to install, it’s including with every Windows distribution (even yours, if you’re using it): you just click a checkbox in the Add/Remove Windows Components dialog box. The Open Source counterpart would be Apache.
  • SQL Server 2000, Microsoft’s Database Server. Not so easy to install and it’s expensive. However, if you’re using Small Business Server 2003, you’ve already got it. The Open Source counterpart is MySQL.
  • ASP or ASP.NET, Microsoft’s dynamic web page scripting system. It isn’t always installed by default, but it’s another one of those checkbox items in Add/Remove Windows Components. The Open Source equivalent is roughly PHP, or maybe Java/JSP.

WordPress is written for the Apache / MySQL / PHP environment on a unix-like system like Linux. While others have gotten it to work on Win2K3, it has some hiccups, and I’m not keen on doing Windows server administration. Plus, installing several new untried services on the client server is not an option.

So, here are the alternatives I’m thinking about:

##Approach 1: Look for Equivalent Blogging Software That Works on a Typical Windows 2003 Setup##

Although I’d prefer to use WordPress, I figured there might be mature blogging solutions available on Windows. After hunting around for a couple hours, I came up with this short list of promising candidates:

  • Community Server: This is the software that Microsoft is bundling with their Windows-based Hosting initiative, from third-party developer Telligent Systems. It’s free for personal use, and about $170 bucks for a single site license if you’re doing corporate stuff. Community Server (formally .TEXT) seems to be more than just a blog system, and supports everything I need. It has a full team of developers working on it too, documentation, and it looks like quality software at first glance.

  • dBlog: My initial favorite, the dBlog home page is quite attractive; the system is apparently for Photoblogging. Unfortunately for me, the documentation is written in Italian. A trip to babelfish helped translate the feature list, and it’s short a few things that I need. I’ll have to try installing it though…the file uploading and WYSIWYG text editing sound particularly neat.

  • Das Blog: An Open Source project up to version 1.8, this seemed to have the features I wanted, but it’s oriented more toward developers. There are a few themes available for it, but what’s disturbing is that the sites don’t show up in Firefox unless you visit them first in Internet Explorer. Next!

  • Microsoft SharePoint Services: A free download for Windows Server, SharePoint Services allows you to create website-based collaboration through the omnipresent “Microsoft Office System”. The FAQ was somewhat helpful, though I’m still not sure what it does. Why does technical marketing copy always read like this? Is it because writers write to sound authorative without actually understanding what they’re writing about? Gah.

Community Server is looking like the best bet, but it means I have to learn how to use another blog templating system. It also requires ASP.NET, which is currently turned off (for security?). On the other hand, installation shouldn’t be that difficult, and it’s “Windows Native”.

##Approach 2: Install Apache/MySQL/PHP on Windows, and Hope that It Works##

With a little elbow grease, I could probably make it work; there are other people doing the same thing.

Advantages:

  • I could leverage my existing knowledge of WordPress.

Disadvantages:

  • Some features (such as email-to-entry posting) will not work, without modification requiring expertise I don’t have.
  • We’d have to install a whole bunch of new services on the web server, which the IT Department is rightfully cautious of.

So this is a choice of last resort. Though, an IIS-MySQL-PHP approach could work…this guide makes it look easy.

##Approach 3: Just Build a Linux Server, or Host Externally##

Yeah, exactly! However, we’d like to keep it all in-house, for various business reasons. I suspect having a single server operating system to deal with will make fewer headaches for IT as well. But, this just might be the easiest way. Build a new box, isolate it, don’t worry about security on the main server.

##Approach 4: Virtualize a Linux Server on the Existing Windows Server##

A virtual server is “a server running on a server”; this is what web hosts that offer dedicated-virtual hosting use to give you your own server configuration, without actually dedicating an entire physical computer to it. The software that makes this possible are special versions of Virtual PC and VMware. I have a license of regular VMware Workstation, which is great for testing with “clean” versions of operating systems, and when testing your PHP with an remote webserver that, in actuality, is running on the same computer. It makes your test environment completely portable. However, these virtual PCs are quite memory hungry; if you’re simulating a computer with 256MB of RAM, it comes out of your real computer’s RAM. Make sure you have enough to go around.

The virtual server version of VMware is called VMware GSX, and it’s not particularly cheap at $1400. However, my Microsoft ActionPack subscription includes Virtual Server 2005, a competing product that retails for $499. I’m installing it right now on the Windows 2003 test server I’m building.

So the idea would be to install one of these products on the client server, and then install a bare-bones Linux with MySQL/Apache/PHP server that runs self-contained. Performance should still be good, since the virtual server is only virtualizing device access and not actually translating between processor types (as it would with Virtual PC running on the Macintosh). Since this is just a web server, we just need a lean console-based distribution, which should minimize memory footprint and disk space. A 32-64MB installation with maybe 8MB of disk should be fine. One potential downside is MySQL performance, but we’ll see.

One other advantage is that I could actually create and configure the webserver as a file image, ready to go with WordPress and everything installed, and deliver the file to IT. All they need to do then is load that file image into Virtual Server and start it up; no need to install additional services in Windows or whatever! It’s completely isolated. There’s some question whether or not the current version of Virtual Server 2005 supports Linux; it’s not “officially supported” in the FAQ. The next version, Virtual Server 2005 R2, allegedly adds official support for Linux and Solaris. Apparently you can still install Linux, but there’s no fancy control panel for it. The site virtualserver.tv has some information on installing Linux on the current product.

Also, Virtual Server 2005 requires that ASP.NET is active, which may not be an option. VMware GSX does not have this requirement; score one for VMware!

##Wrapping Up##

Approach 1 or Approach 4 are my picks. Either way requires a bit of work, but I both solutions are interesting for different reasons…

  • Learning a new Windows-based blogging system would be an interesting comparison to WordPress. Plus, familiarizing myself with ASP.NET wouldn’t hurt.

  • On the other hand, deploying a virtual server is kind of cool too. Since this is not within my main body of expertise, it’s new. On the down side, I still have to probably look at the templating system for WordPress (I never did look at the changes in version 1.5), and hunting down the latest lean Linux distro is time-consuming since I like to build them from compiled source. There might be single-disk distros that just work out of the box. The Linux From Scratch website can provide the guidance I need to build a custom distro, should it come to that–it’s something I’ve wanted to do anyway for a long time.

“Install WordPress on Windows Server 2003″…it sounded so easy :-)