Creating Forums with Newsgroups

Microsoft Internet Information Server (IIS) 4.0 includes a news server based on the Network News Transfer Protocol (NNTP). The Microsoft NNTP Service lets you add a news server to IIS so users can access newsgroups through a local intranet or the Internet. NNTP newsgroups are a great resource for promoting internal and external collaboration. For example, Microsoft uses newsgroups as forums to disseminate Web-based technical information and support to external end users and internal corporate users. Many companies use internal newsgroups to share information with their clients.

The NNTP Service is based on the standard NNTP pro-tocol for client-to-server and server-to-server communications. The NNTP Service supports MIME for mail messages, HTML for tradi- tional HTML documents, and Graphics Interchange Format (GIF) and JPEG for graphics.

In this article, I'll describe how you can configure the NNTP Service, set up your own newsgroups, and secure those newsgroups. To illustrate this discussion, I'll show you how to create a customized Help desk newsgroup that your internal users can access to publish and obtain support information.

Installing and Managing the NNTP Service
To install the NNTP Service, you select the Internet NNTP Service option, as you see in Screen 1, page 196, during the IIS setup process. (To install the NNTP Service after you set up IIS 4.0, select the Add/Remove Programs applet in Control Panel, select the Internet NNTP Service option, and complete the setup process.) The IIS setup program will ask you to provide an install directory for the NNTP Service (the default directory is \inetpub\nntpfile). After the IIS installation completes, you must reboot the server. The default NNTP Service setup consumes about 3.4MB of hard disk space; however, this amount will increase, depending on how often you use the NNTP Service.

After you install the NNTP Service, you can manage it with the Microsoft Management Console (MMC) version of Internet Service Manager (ISM) or the HTML version of ISM. The MMC version provides more options than the HTML version and executes faster, because it runs on the LAN. The HTML version is handy for administering IIS and the NNTP Service from the Internet or from a non-Win32 system. Together, these tools let you administer your news server from your LAN or anywhere where you can access the Internet.

When you install the NNTP Service, the installer adds new counters to Windows NT's Performance Monitor that you can monitor with other NT system and application counters: The NNTP Commands object provides counters for client activities on the server, and the NNTP Server object provides counters for server activities. You use these two objects with other Performance Monitor objects to track the overall performance of your server and the detailed performance of the NNTP Service. The IIS documentation provides initial tips on what counters you will want to monitor. In addition to including the NNTP Service-specific counters, the NNTP Service writes special status and error messages to the NT event log that you can monitor with Event Viewer, Active Directory Service Interfaces (ADSI) applications, and the Dump Event Log (dumpel.exe) utility that comes with Microsoft Windows NT Server 4.0 Resource Kit.

Screen 2, page 196, shows the MMC version of the ISM with the Default NNTP Site expanded. Column heads in the right pane of the MMC show how you can track the current users accessing the news server, where they came from, and when they logged on. Screen 2 shows one user connected. You can see from the icon in the first column under User that the user is a client. The second column shows the user's IP address (hidden in Screen 2), and the last column shows the time the user connected.

You can terminate a particular user from the Default NNTP Site by right-clicking the user entry and selecting Terminate. You can also terminate all users by right-clicking any user and selecting Terminate All.

Creating a Newsgroup
Once your news server is running, you can create newsgroups, such as a Help desk newsgroup that you can use to help your users find answers to their computer-related problems. First, select and right-click the Default NNTP Site in the MMC to display its properties. Next, click the Groups tab to display the currently defined newsgroups and options. Click Create new newsgroup to display the Newsgroup Properties dialog box.

At this point, you can create the newsgroup and set certain properties. Screen 3 shows the options I used for an example Help desk newsgroup. You enter the name for your newsgroup in the Newsgroup property field; this name corresponds to the name of the directory that will hold the newsgroup files. The newsgroup name can't contain spaces but can contain underscores. I didn't test for all valid characters, but the newsgroup can't use characters that your file system doesn't support. I installed the newsgroup on an NTFS volume, which supports long filenames.

You can set certain properties for your newsgroup from the properties page in Screen 3. For example, you can control whether you want to create a moderated newsgroup. (The default option is to create a group without a moderator.) In a moderated newsgroup, a moderator reviews all content before posting it to the newsgroup. The NNTP Service posts new material submitted by users to a temporary directory or sends it via email to the moderator for review. If the moderator approves the material, the moderator posts it to the newsgroup.

After you set the newsgroup options, click OK to close the Newsgroup Properties dialog box and create the newsgroup. The NNTP Service creates the newsgroup directory automatically, and the newsgroup appears in the Matching newsgroups list under the Default NNTP Site Properties dialog box.

Using a Newsgroup with Outlook Express
After you create a newsgroup, your users can access it with any NNTP-compliant news reader, such as Outlook Express. Setting up Outlook Express to view newsgroups is easy if you know the right parameters.

First, start Outlook Express and select Accounts from the Tools menu to display the Internet Accounts dialog box. Select the News tab. To add a news server, click the Add button and select News to start the Internet Connection wizard. The first step in using the wizard is to provide a display name that appears whenever you post a message to the newsgroup or respond to another author who posted to the newsgroup. The wizard then prompts you to provide an email address where other newsgroup users can reply to you via email. The next step asks you to provide the name of your news server: Enter the name of the server that hosts the newsgroups you want to access. This name might be the name of the computer (e.g., Toshibavi98) or a special alias (e.g., msnews.microsoft.com) defined for the server via Domain Name System (DNS). The remaining steps in the wizard ask you to provide a display name for the news server and identify the connection method to access the server.

Screen 4 shows Outlook Express with two news servers (msnews.microsoft .com and Toshibavi98). When you select the news server in the left pane, the newsgroups on that server display in the right pane. After you select the news server in Outlook Express, double-click the newsgroup you want to view. The newsgroup will open and display the messages in the right pane. You can now select a message, reply to a message, copy the message contents, and so forth.

To use the sample Help desk newsgroup you created, select a news server from the left pane. Outlook Express will inform you that you haven't subscribed to any newsgroups on the news server and will display a subscription dialog box. Select the newsgroups you want to subscribe to, and click Subscribe. You can double-click the HelpDesk newsgroup in the right pane to open it.

With the newsgroup open, you can click Compose Message on the toolbar to compose a message. Enter the text of the message, and click Post to post the message to the newsgroup. To demonstrate this process, I created and posted a new message about a server-related problem. Then I sent a reply to the newsgroup regarding my original message. Screen 5 shows the resulting message thread.

Now, anyone on the LAN or on the Internet who can access the Toshibavi98 news server can access this newsgroup with the appropriate client newsgroup software. This technology is powerful because anyone in this group can provide information that might solve a problem.

Securing Your Newsgroup
You can use several methods to restrict access and protect the contents of a newsgroup. First, you can make a newsgroup read-only. Go to the Newsgroup Properties dialog box, as Screen 3 shows, and select the Read only check box.

Second, you can force users to provide a password before they can access your news server for the first time. This password authentication lets you restrict anonymous access to the server, which effectively shuts out anyone without a valid NT user account. To set up this security, select the Directory Security tab in the Default NNTP Site Properties dialog box. Click Edit in the Password Authentication Method section to display the Authentication Methods dialog box. Clear the Allow Anonymous check box to turn off unsecured access to the news server. This change requires all users to log on to the NNTP Service.

Third, you can moderate your newsgroup and filter messages that users want to post to the newsgroup. This ability lets you control incoming messages, but it places a load on the moderator who has to review all the messages, which can create a bottleneck.

Finally, you can use NTFS access control lists (ACLs) to restrict access to particular newsgroups. Place an ACL on the newsgroup directory to limit users to those with proper NT credentials and thus control access to that directory.

Conclusion
The NNTP Service adds a powerful tool for any type of discussion group requirement. It is easy to set up and provides standard facilities for managing its operations. For more information, you can study relevant portions of the IIS documentation and consult the Microsoft Knowledge Base for ongoing problem reports and updates. Also, watch http:// www.microsoft.com/iis for information about new service packs for IIS.