Microsoft recently released Microsoft Commercial Internet System (MCIS), formerly code-named Normandy (for information about Normandy, see Mark Joseph Edwards, "The Normandy Invasion," February 1997). MCIS is a set of services for businesses breaking onto the Internet. One of these services is a standards-based Internet News Server (INS) that integrates fully into the Internet USENET standards. INS lets clients with Microsoft's Internet News reader or a third-party Network News Transfer Protocol (NNTP) news reader such as WinVN retrieve messages from or post messages to newsgroups on your news server. You can also use INS to capture news feeds from and distribute news feeds to other news servers on the Internet. Microsoft's INS complies with Request for Comment (RFC) 977, Network News Transfer Protocol, and RFC 1036, Standard for Interchange of USENET Messages.
INS installs on top of Microsoft's Web server, Internet Information Server (IIS). You configure and manage INS with the IIS Internet Service Manager (ISM). INS supports standard NNTP functionality and includes many features from other IIS-based systems. Such features include multiple authentication methods, database logging features, and domain filtering.
INS has too many IIS-related features to cover here, so this article assumes you are familiar with installing, configuring, and managing IIS. This article covers only NNTP basics, installing INS, and configuring a news client to access newsgroups on an MCIS news server. Look for a future article on configuring news feeds between a Microsoft news server and a USENET news server on the Internet, and on configuring the Internet News Service in Exchange Server 5.0.
Internet News Primer
A news server is a computer that collects and distributes news articles. Most Internet Service Providers (ISPs) supply news servers for their customers, and many companies are increasingly using news servers to disseminate information to their employees, customers, and the general public.
Users who want to read news items must install and configure a standards-based news reader, such as Microsoft's Internet News reader, that points to the IP address of their ISP's or company's news server. If you install and configure a news reader to point to Microsoft's news server at news.ms-normandy.com, you get a list of newsgroups that Microsoft hosts. Screen 1 shows Microsoft's Internet News reader client browsing messages in the comp.home.automation newsgroup.
In the example in Screen 1, Glen Blanchard posted a message about a problem with his electric blanket. Within a few days, three people responded to Glen's message and another user responded to one of the respondents. Each newsgroup is a distributed discussion group (i.e., users anywhere in the world can read and post messages on their local news server). Various news servers then replicate newsgroups and news items over the Internet from one news server to another. For example, Glen posted his request on a news server in Dallas, Texas. Mike Unger read Glen's message and posted his reply on a news server in Knoxville, Tennessee. Edward Cheung posted his reply on a news server at NASA Goddard Space Flight Center in Greenbelt, Maryland, and Ian Shef posted his response to Hughes Missile Systems' news server.
Almost anyone can create a news server on the Internet and grant rights to create newsgroups on that server or post items to a newsgroup. The proliferation of newsgroups on the Internet is incredible. For example, Microsoft's Normandy news server hosted about 1000 newsgroups (either as the primary news server or replicated from other news servers on the Internet) at the time of this writing. The list of public newsgroups, which is available through many ISPs, numbered more than 13,000 as of February 1997. Active newsgroups can receive several hundred new postings every day.
News servers gather and distribute news using NNTP, a set of standards for the distribution, inquiry, retrieval, and posting of news articles. An NNTP application operates at the application layer of the Open Systems Interconnect (OSI) stack and runs over a TCP/IP network. Figure 1 shows a simple topology where desktop user Spyros uses the Microsoft Internet News reader client to read and post messages to the alexandria.social newsgroup on the kifissia.sakes.com news server.
Spyros's news client uses TCP/IP to connect to port 119 of the kifissia.sakes.com news server and sends commands to request data. Section 3 of RFC 977 defines the commands, including
When a news client sends a command, the news server returns a result code to signal the success or failure of the command. Figure 2 shows a sample dialog between a news client and news server. In the sample dialog, Spyros's client opens a connection to the news server. The server responds with the result code 200, confirming that the server is running an NNTP service and identifying itself.
Next, the news client asks the news server for a list of active newsgroups, and the news server responds with result code 215 and returns a list of four newsgroups, as you see in Figure 2 at Callout A. The news client switches to the alexandria.social newsgroup, and the news server confirms the switch with result code 211. The news client uses the newnews command to ask the news server for any articles posted after 1:05 p.m. on January 12, 1997. The news server confirms the request with result code 230 and sends back a list of three message-IDs, as you see in Figure 2 at B.
The news client asks for the current (last) article with the article command. The news server confirms this request with result code 220 and sends back the text for this article, using a line with one period to terminate the response, as you see in Figure 2 at C. The news client terminates the connection with the news server using the quit command, and the news server confirms the command with result code 205.
You can view this client and server exchange process directly by using Telnet to make a TCP connection to port 119 of an NNTP host and then manually sending the commands as if you were a news reader client. In fact, I took this approach to capture the commands in Figure 2.
Installing INS is similar to installing IIS: trivial. You run setup.exe and answer a couple of questions. Of course, to configure INS, you need to understand news servers, which alone is a two-week intensive seminar at Geek U. The INS setup instructions recommend that you read Chapter 2, "News Server Fundamentals," of the INS Operations Guide before you start. This recommendation is supposed to prevent you from missing concepts critical to installation. No kidding! Fortunately, most of the esoteric information in the text is relevant to large, multiserver environments, and you can work through it after you do the basic installation.
Before you install INS, you need to install the following software:
*Windows NT Server 4.0 and IIS 2.0
*NT Server 4.0 Service Pack 2 (SP2--available at http://www.microsoft.com/
*At least one IIS service (WWW, FTP, or Gopher) so that the setup program can properly install the files INS needs
INS loads as an extension to IIS that you manage just like any other IIS service, with the ISM tool. INS also comes with an HTML-based administration tool that lets you administer the news server over the Internet (to use this tool, your news server must be running the IIS WWW service).
To install INS, run setup.exe from the \ins directory of the MCIS CD-ROM. Screen 2 shows the splash screen for the INS setup. INS setup will prompt you to select from the following components:
*Microsoft NNTP Service
If you install the NNTP service, INS setup will install a news server. If you install the ISM extension, you can use the IIS ISM graphical administration tool to administer any MCIS INS on your network: You can install either of these components or both. Installing the Web Administration tool lets you use an HTML form from anywhere on the Internet to configure INS parameters. After you select the components you want to install, INS setup asks you to confirm the directory that INS will use to store news articles, as you see in Screen 3, page 132. If you don't specify a directory location, INS setup creates a default directory for the newsgroups and articles under the \inetpub directory--the same directory where IIS creates the standard \wwwroot and \ftproot directories during the default IIS installation.
If you select a news server default installation, setup creates a \inetpub\nntproot news directory. The news server uses another directory, \inetpub\nntpfile, to track various news server activities, and you should not need to modify any files in that directory initially. Setup places the news server executable files in the \winnt\system32\inetserv directory--the same directory where NT keeps the IIS executables. If you want to use your news server to replicate Internet newsgroups, you need to make sure you store these directories on drives with enough disk space for all the news items, which can require several gigabytes for a full news feed.
If you install all the components, setup finishes copying files and performing the basic configuration and adds the Microsoft NNTP service to the services running on the system (you view this service in the Control Panel Services applet). Setup also adds the news server to the ISM and adds a new MCIS News Server program group to the Start menu with Start Page, Web Administration, and Help file entries. If you click the Start Page entry, NT opens a page in Internet Explorer (IE) describing INS and creates links to the documentation and sample newsgroups. If you click the Web Administration entry, NT opens a Web-based version of ISM so that you can administer INS. Alternatively, if you don't install Web Administration, you have to go into the Microsoft Internet Server program group and open the ISM to administer INS.
Screen 4 shows ISM displaying IIS services running on three servers: chora, kifissia, and marathi. The NNTP service is running on two of the servers. To configure the chora news server, click on chora to display its services and double-click the NNTP service in ISM. This action opens a screen similar to the one you use to administer the basic WWW service.
IIS administrators will recognize several of the INS property pages in ISM. The Service, Directories, Logging, and Advanced pages are identical to the pages for other IIS services such as the WWW service.
Of the other property pages, the first one you will typically want to work with is the Groups page. The Groups page lets you see what newsgroups you will publish on the server. Screen 5 shows the groups you want to host on your news server (in my case, on the kifissia.sakes.com news server) in the Matching Newsgroups window.
The number of newsgroups can be very large. You can choose to view only a subset of the entire newsgroup list by entering a filter criterion in the Newsgroup Name box and clicking Find. However, remember that displaying a subset of the newsgroups simply reduces the number of items you see on the Groups page. This option does not affect the number of newsgroups you decide to publish on your news server.
You publish a newsgroup in one of two ways. You can create a new newsgroup by clicking Create in the Groups page and entering a name and description, or you can use the Feeds property page to subscribe to newsgroups on other Internet news servers. In the example shown in Screen 5, I created the newsgroups starting with alexandria on the kifissia.sakes.com news server and grabbed the newsgroups starting with comp.os.ms-windows.nt from the news.ms-normandy.com news server. The Groups property page shows only whether the newsgroups are published, not where they come from. If you delete a newsgroup from this page, you delete it only from your server and not from the newsgroups you subscribe to or from any newsgroups that subscribe to your news server.
After you create a few newsgroups, you select the General property page to specify some news server properties. The main concerns here are whether you will let readers post messages (Allow Client Posting) and whether you will accept feeds from other news servers (Allow Feed Posting). In either case, you can limit both the size of any one posting (news item) or any one connection.
The General property page defaults to allowing client posts and allowing feed posts. However, if you haven't configured any feeds on the Feeds property page, the latter setting is irrelevant. At this stage in the process, you are publishing newsgroups on your news server and can proceed to configure news readers on your users' desktops.
Configuring the Microsoft Internet News Reader
The Microsoft Internet News reader client installs with IE 3.0, or you can download the reader client from Microsoft's Web site and install it separately. When you install the Internet News reader client, it adds an Internet News item to your Start menu. You can click this item to open the client.
Before your news reader can display any newsgroups, you need to provide the address of your news server. From the main Internet News reader client window, go to the News menu, select Options, choose the Server tab, click Add, and enter the name of your server. If you can reach the server by using its computer name (e.g., kifissia), you can enter that name here. Otherwise, you need to enter the Domain Name System (DNS)-registered host name for your organization's news server (e.g., kifissia.sakes.com). Click OK when you are finished, and you will see the name of the server you just added in the window you see in Screen 6. You can add multiple news servers in the same way, and your client will be able to read and subscribe to newsgroups from multiple news servers. However, don't confuse subscribing to multiple news servers from the client with subscribing to one news server from the client and viewing feeds on that single news server from other news servers.
After you identify the news server in the news client, you need to select the newsgroups that you want to view. Go to the News menu in the Microsoft Internet News reader client and select Newsgroups to open a window similar to the one you see in Screen 7. Note the newsgroups in Screen 7 match the newsgroups I decided to publish on the kifissia news server, as shown in Screen 5. If you highlight a newsgroup in Screen 7 and click Subscribe, a newspaper icon appears next to the newsgroup name. This icon signals that you want to view the messages posted to that newsgroup. If you click the Subscribed tab, the news client will display only those newsgroups you subscribe to. In my example, I have subscribed to all four alexandria newsgroups (the ones I'm hosting locally) and one of the comp.os newsgroups (those that I receive as a news feed from another news server).
After you decide which newsgroups to subscribe to, you can connect to the news server and view the news items. The main Internet News reader client window contains a Newsgroups box that lists all the newsgroups you subscribe to.
When you browse the list of newsgroups you subscribe to, you see the names of the newsgroups and how many unread messages each group contains, as shown in Screen 8. By selecting a group from this list, you will see a list of the postings in the group. For example, in the alexandria.business newsgroup you see in Screen 9, you'll notice a few discussion threads (between me and myself).
At this point you can read the messages, reply to them, and so forth. If you don't see any messages in a group, either you haven't made a connection to the server (i.e., the client has not initiated a connection to TCP/IP port 119 of the server) or the newsgroup is empty or unused. Microsoft's Internet News reader client displays the connection status in the bottom right corner of the main client window. If the words "Not Connected" appear, click Connect on the toolbar to start the connection and download messages.
Now that you know how to install and test INS, you're ready to deploy your news server. You have the know-how to install and configure a basic news server and create the newsgroups you want to publish in your company, and you can distribute and configure a news reader on the desktops. In a future article, I'll show you how to set up connections between your news server and other news servers on the Internet and within your organization. To keep you on your toes, that article will focus on configuring the Internet News Service in Exchange Server 5.0, but the general principles of connecting news servers are applicable to both MCIS INS and the Internet News Service Exchange Server.
Microsoft helps you serve up the daily news with Internet News Server
200 NNTP Service Microsoft® Internet Services 5.00.7478 Version: 18.104.22.16878 Posting Allowed
215 list of newsgroups follow
alexandria.business 17 1 y
alexandria.housing 175 1 y
alexandria.politics 79 1 y
alexandria.social 3 1 y
211 3 1 3 alexandria.social
newnews alexandria.social 970112 130546
230 list of new articles by message-id follows.
220 1 <01bc023a$a93fa310$9149f7ce@kifissia>
From: "Spyros Sakellariadis" <firstname.lastname@example.org>
Subject: Urgent need for Greek food
X-Newsreader: Microsoft Internet News 4.70.1155
Date: Tue, 14 Jan 1997 11:47:43 -0500
Anyone know of a good Greek restaurant here?
205 closing connection - goodbye!