Windows Server 2008, SharePoint and the Missing SMTP Server
UPDATE: 01/09/2008 - Met some people from Reuters at BarCamp Bangkok over the weekend. They were describing their frustration at having been forced to use SharePoint to build an external community and social networking site for financial analysts. I think I can see why they'd be frustrated with the choice. Although I'm NOT a SharePoint guru - SharePoint appears to me to be to ideally suited to internal corporate intranet activity - offering a really fast way to get a feature rich intranet up and running without any design or development costs. However for a highly customized public (or even private community - but external to the hosting organization) community - there are a LOT of possible choices - and probably better choices too that will give the site the flexibility it needs in terms of design as well as architecture. Original post... Today I decided to go for it, and promote my Windows Server 2008 64 bit test box to a domain controller (using dcpromo). I then created two Hyper-V virtual Windows Server 2008 servers (joined to the domain); the first as a dedicated SQL Server 2005 database server, and the second as a SharePoint server. I've dabbled with WSS a little previously and had all the docs ready. Configuring the Windows Server 2008 domain and the SharePoint server all went surprisingly well. Windows Server 2008 in particular has a very slick install, role management and feature configuration system - all run via Server Manager. The main and 'real' server has the Active Directory, DNS and Hyper-V roles installed. The two virtual machines have the application server and web server roles installed (the main box is a fairly decent spec Core2Duo with 8GB of RAM). Configuring WSS correctly takes a little preparation and planning - but for a sandboxed lab installation - it's pretty straightforward. Here's a great five part tutorial on installing SharePoint, and here's a link to a SharePoint deployment book that you can download from Technet.
The first thing you need to know about any WSS deployment is that if you want to use a separate SQL Server 2005 server as your SharePoint configuration and content database - then you MUST install WSS as a server farm - even if you only have a single SharePoint web application server (also the account that it used to connect from the SharePoint server to the database server MUST be a domain account - hence the creation of the server domain first). If you choose a single server installation (as opposed to the server farm installation) then SharePoint will install the Windows Internal Database (SQL Server runtime) and everything will run from a single server without any options (as far as I can tell) to move content to a separate and dedicated database server in the future. Now that I'm up an running - I'm really curious to take a look at the 'out of the box' features for WSS. WSS is free - and at first glance I'm impressed with what's there - including content creation, document management, collaboration, calendars, tasks, wikis, and blogs. And this is all before a full Microsoft Office SharePoint Server installation. Here's a link to a comparison of the two. From the docs and feature comparisons you can see that WSS alone offers a lot of intranet and collaboration functionality; ideal for small to medium size organizations that have already made an investment in Windows desktop and server technology. Although I've not spent a lot of time looking at intranet or content management systems (CMS), I have been following the blogosphere activity around Drupal, Joomla and other 'free' CMS applications. I've also watched the Telligent products mature - like Community Server and Graffiti CMS (Graffiti in particular is a very slick and easy to configure CMS and blogging platform for ASP.Net- perfect for small organizations and individual bloggers). I'll be looking at the Windows SharePoint Services Development Center as well, and if I can find the time - will take a shot at writing an experimental Web Part.
So if it all went so well, then why is the 'Missing SMTP Server' in the title of this post? Well I was 95% there - starting to get that warm and fuzzy feeling you get when a whole bunch of things just work - first time. I then tried to configure the SMTP server for SharePoint's outgoing email messages, and discovered that the SMTP server is no longer under the IIS snap-in - at least not for IIS7. It took a while for me to discover that it's now part of the Features node in Server Manager. Select the Features node - and then Add Features (in right hand panel) and you'll see an option for SMTP Server. When selected you're also prompted to install the Remote Server Administration Tools and something called the Feature Administration Tools beneath which you see listed the SMTP Server Tools. I said ok to all of that... but could I find a snap-in or configuration option for the SMPT Server Tools anywhere? Well nope - not even after an hour of Googling and searching the docs for the SMTP Server Tools. Amazingly - the SMTP server re-appears under the IIS6 snap-in (as long as you've installed the IIS6 compatibility components) however after being prompted to look for the something called Feature Administration Tools and SMTP Server Tools - I figured I could be forgiven for looking just about everywhere BUT the original IIS6 snap-in. Argh...
Ok - well pain over - I'm still looking for a way to configure a local SMTP server with a smart host entry that also requires server credentials - since neither the WSS SMTP outgoing email server options, or the SMTP server (under IIS6) offer a way to relay mail to a server that requires authentication for outbound mail. I'd like to be able to use the SMTP servers at my external Webhosting service (WH4L) but they both require authentication for SMTP outbound email. Ah well - not a big deal compared to the rest - but it would be a nice way to finish things off. SMTP server hiccups aside...WSS looks pretty darn good and it'll be fun experimenting with additional sites and features on my test installation.