IIS has been around for quite some time now. IIS 2.0 can be found on the Windows NT 4.0 Server installation CD-ROM. This version of IIS was pretty basic, and changing advanced settings usually involved messing around with the Windows registry. Version 3.0 was little different from 2.0, but it did see the introduction of server-side scripting through the use of the innovative Active Server Pages . By contrast, version 4.0 of IIS saw a radical change to the application. IIS 4.0 sported a completely new user interface, a host of new features, and improved reliability.
Installation and system requirements
There are three versions of an Internet Information Server 4 installation, all of which are installed from the same IIS Windows NT 4.0 Option Pack CD-ROM (or website) :
- Despite the application being called the Windows NT 4.0 Option Pack, a version of IIS (called Microsoft Personal Web Server) runs on Windows 95 or Windows 98. It is a useful web server to run if your system resources are limited, and even has support for Active Server Pages. However, Windows 95/98 is not recommended for hosting public facing Internet sites because:
- The operating system has few built in security features.
- It supports a limited number of simultaneous connections.
- Performance is poor.
- Microsoft Personal Web Server also runs on Windows NT 4 Workstation, but it is a more sophisticated application compared to the Windows 95/98 version. The main advantages over the Windows 95/98 version are:
- Management is possible through the Microsoft Management Console (MMC).
- There are many more features, particularly in the areas of security and access control.
- The web server runs as a service, so nobody needs to be logged into the machine in order for the web services to be accessed.
Like the Windows 95/98 version, the Windows NT 4 Workstation version also supports a limited number of simultaneous network connections.
- The full version of IIS requires installation on Windows NT Server. This version supports an unlimited number of simultaneous network connections. There are also a number of additional services and applications that can be installed (such as Index Server and Site Server Express).
So although both Windows NT 4 Workstation and Windows 95/98 can be used to host a website, it is recommended that IIS be installed on Windows NT Server. Hosting on the other operating systems is, however, useful for development purposes.
Figure 1: The Internet Information Server/Personal Web Server installer is easy to use
Whilst Internet Information Server will work on just about any recent Pentium PC, for a reliable system it is recommended to purchase a dedicated machine. A system such as the popular Dell PowerEdge series  is recommended. A PowerEdge 2300 with twin Pentium III 500MHz processors, 512Mb RAM and 18 Gb of disk space currently costs less than £4000. It is also essential not to overload the server with applications that don't co-exist together very well. In particular, it is better to install IIS on a standalone server (i.e. not a Primary or Backup Domain Controller), and not on a machine already hosting resource intensive applications such as Exchange Server or SQL Server.
The order of software installation is also important. A useful list of which applications to install if IIS is to be installed on the same machine as Site Server 3.0 and/or SQL Server is available . As a general guide, the following installation order will work well:
- Windows NT 4 Server.
- Windows NT 4 Service Pack 3 (essential).
- Internet Explorer 4 (essential).
- Windows NT 4 Option Pack (excluding FrontPage Server Extensions).
- Windows NT 4 Service Pack 4 (recommended).
- Internet Explorer 5 (if required; useful for server-side XML support and the latest VBScript and JScript scripting engines).
- The most recent version of the FrontPage Server Extensions.
- The most recent version of the Data Access Components (if the server is going to be extensively used for database connectivity).
For optimum security the machine should have its disks formatted with the NTFS file system.
Managing the server
There are three methods of managing IIS. The first is to use the Microsoft Management Console (MMC). The MMC is a container for "Snap-ins", which allow the management of specific services. Most of Windows 2000 will be managed through the use of the MMC with specific Snap-ins. Extensions to IIS (such as Microsoft Site Server) also use "Snap-ins". Provided you have the appropriate Snap-in, services can be administered from remote machines on the network.
The MMC is fairly straightforward to use, and there is context-sensitive help available for most functions. An example screen from the MMC is shown in Figure 2.
Figure 2: Administering Internet Information Server (IIS) through the Microsoft Management Console (MMC)
A second method of administering IIS is through a web browser. Obviously care must be taken to ensure that the administrative site is adequately protected from unauthorised accesses. There are a few things that cannot be done through the web administration interface, such as stopping and restarting the web server.
The final method of administering IIS is through a scripting language such as the Windows Scripting Host. IIS comes with several example scripts. These examples will be of use should some of the functions of IIS be automated, such as the automatic creation of a large number of new websites or periodically restarting the IIS services.
As you would expect, IIS is fully integrated with Windows NT, so the performance of the web services can be monitored using the Windows NT Performance monitor, the Event Log can be used to view important messages, and so on.
Figure 3: Standard Windows NT tools can be used to measure server performance
Features of the server
IIS is a major application - it weighs in at over 70Mb for a full install. A few of the main features will be described below.
FrontPage Server Extensions
If any of your users are regular users of Microsoft FrontPage then you will no doubt receive many requests for installing the FrontPage Server Extensions on your web server. These basically serve two main purposes:
- They allow FrontPage users to publish to the web server via HTTP. All contact with the web server is done through the FrontPage Explorer, cutting out the need for complicated FTP uploading or cryptic Unix commands.
- The extensions contain a number of components that act as server-side CGI scripts, making it easy for users to add page counters, forms and other interactive resources to their website.
Because of a number of security issues, many administrators are uncomfortable with the thought of installing these Server Extensions on Unix based systems. However, it is generally accepted that the Server Extensions are more secure if used on Windows NT systems. If installed and used correctly, they are no more insecure than traditional FTP access to servers, since the biggest security risk is usually the loss of users' passwords.
IIS is supplied with the FrontPage Server Extensions, but it is highly recommended that the latest versions are installed from the Microsoft FrontPage website . The FrontPage 2000 Server Extensions are also now available, and work well with IIS 4.
Active Server Pages & component development
IIS supports traditional Common Gateway Interface (CGI) scripts that can be written in any language supported by the web server in question. Perl for Windows NT is developing rapidly, and most Unix Perl scripts can be ported to Windows NT without too much difficulty.
IIS supports several methods for server-side interactivity. Active Server Pages are an excellent facility for the rapid creation of server-side scripts, and were described in Issue 20 of Ariadne . IIS provides support for the creation of ASP documents written in VBScript or JScript. A free third party solution  allows ASP documents to be written in PerlScript, a popular relative of the Perl language. ASP can also be extended through the creation of COM (Component Object Model) objects written in languages such as Visual Basic, Visual C++ and Java . Alternatively, there are plenty of pre-compiled objects that can be used. IIS is supplied with a few COM objects that can be used for database access, content rotation, finding client browser capabilities etc. Alternatively, a wide variety of 3rd party components are available , many of which have been released as freeware.
IIS also supports both Internet Database Connector (IDC) applications, and Internet Information Server Application Interface (ISAPI) applications. ISAPI can be used to extend the functionality of the web server, and ISAPI applications typically outperform their CGI counterparts. For example, the Internet Information Server resource kit contains ISAPI filters for adding Distributed Authoring and Versioning (DAV) support and for caching the output of selected ASP files.
As your website grows, it soon becomes essential to establish some method of rapidly finding the document you are looking for. Index Server 2.0 is supplied with IIS (but will only run on Windows NT 4 Server). It trawls the Windows NT file system and catalogues a variety of file types. Its main benefits are:
- Performance. Users are often critical of the slowness of Microsoft's desktop applications. Happily the same cannot be said for the server applications - Index Server can be incredibly fast at providing search results.
- Ease of administration. Once installed, Index Server pretty much looks after itself.
- Ease of customisation. There are plenty of sample search pages supplied with IIS, and the accompanying documentation is excellent. Search pages written using ASP can be fully customised to incorporate the appearance of your website.
The downside to Index Server is that it isn't really suited for cataloguing content from several web servers, so if you have multiple web servers and want to provide a unified search facility it is worth considering a product such as Microsoft Site Server 3.0 .
Data Access Components
One of the attractions of IIS is the ease in which databases can be connected to web pages. This functionality is provided by the Data Access components. IIS is supplied with the ability to connect to common databases such as Access, Oracle, SQL Server and ODBC compliant databases. There are several ways of accessing such databases from the web; the use of custom written front-ends using Active Server Pages is the most widely used method.
Microsoft has grand plans for unifying its approach to data management - the Microsoft Universal Data Access website has further details .
Site Server Express
Site Server Express can be used to generate statistics from your website. However, it is fairly slow and not really up to the task for creating reports from busy sites. An alternative is to use the ever popular Analog , which is able to create reports from IIS log files.
Transaction Server offers the ability to create sophisticated distributed applications. It can be used from Active Server Pages to control transactions, where the outcome of that transaction is critical. For example, if your institution created a web based facility for users to change their passwords, it would be critically important for the user to know that the password changing routine had either succeeded or failed.
SMTP and NNTP support
When installed on Windows NT Server, IIS also includes SMTP and NNTP services. The SMTP service is particularly useful in that it can be used to send email from Active Server Pages. The NNTP service could be used for hosting discussion sites and customer support areas.
Development of web applications
Out of the box, IIS has support for Active Server Pages , which is rapidly becoming the development environment of choice for sophisticated (e-business) web applications. The included Data Access Components included with IIS make it possible to directly link databases to Active Server Pages. Transaction server and IIS's load balancing support are invaluable in the development of robust distributed web applications.
There are also an increasing number of additional applications that can be incorporated into IIS in order to extend the web server into areas such as E-Commerce and data warehousing. One particularly interesting application is Microsoft's Site Server 3.0. This adds additional features to IIS, such as site searching facilities, personalisation & membership and content control. The Site Server 3.0 search facility was described in Issue 19 of Ariadne .
IIS is particularly popular for hosting Intranets. The attraction for hosting Intranets with IIS is the tight integration with the other services provided by Windows NT Server. In particular, there is full integration with the Windows NT security model, making it straightforward to set up restricted access areas of the site. Setting up IIS to use Secure Sockets Layer 3.0 (SSL) encryption is also fairly straightforward.
IIS is supplied with a large amount of high quality documentation in HTML format (see Figure 4). This documentation describes all the features and components of the server, including extensive documentation for ASP (using both VBScript and JScript) together with plenty of background information on subjects such as the use of Intranets and web server security.
A wide range of printed books covering the installation and management of IIS are available from most book stores. There are also some very good resources for IIS on the web, although Active Server Page technology tends to generate the most interest. 15seconds  is a good place to start, as is ASPWatch .
Figure 4: The documentation supplied with IIS is plentiful and generally of excellent quality
For anyone who wants in depth knowledge of IIS, studying for the Implementing and Supporting Microsoft Internet Information Server 4.0 exam  is worthwhile. Anyone passing this exam achieves Microsoft Certified Professional status. The exam can also be used to earn credit towards the highly sought after Microsoft Certified Systems Engineer + Internet and Microsoft Certified Professional + Internet certifications.
Summary & Conclusions
Internet Information Server is Microsoft's attempt to establish Windows NT Server as a viable alternative to Unix in the lucrative web server hosting market. IIS 4.0 is a quality application - it is reliable, easy to use, and yet is packed full of useful and advanced features. However, despite the rapid growth in the number of web servers on the Internet, IIS has not yet made significant inroads into the huge market share of Apache (in August 1999, Apache had a 55% market share compared to 22% for Microsoft servers ). It will be interesting to see if the release of IIS 5 (an essential part of Windows 2000) will increase the market share of IIS.
- Active Server Pages, Ariadne issue 20
- Windows NT Server: Web Services, Microsoft
- Dell PowerEdge Servers, Dell
- How to Install Site Server 3.0 with All Updates, Microsoft
- Microsoft FrontPage, Microsoft
- ActivePerl, available from the ActiveState Tool Corp. website
- Windows NT Explorer: The Microsoft Site Server Search Facility, Ariadne issue 19
- 70-087: Implementing and Supporting Microsoft Internet Information Server 4.0, Microsoft certification exam preparation guide
- Web server survey, Netcraft
- Component section of 15seconds
- Microsoft COM Technologies, Microsoft
- Microsoft Universal Data Access, Microsoft
Article Title: 'Internet Information Server'
Author: Brett Burridge
Publication Date: 20-Sep-1999
Publication: Ariadne Issue 21
Originating URL: http://www.ariadne.ac.uk/issue21/nt-explorer/intro.html