What is the Difference Between IIS and Tomcat?

Tomcat is known most popular open-source Java server, you can easily deploy in any server or a Linux machine. While  we need to pay for licensing for IIS to deploy on a windows machine.

Deploying an internet server isn’t a one step deal. You would need to install a couple of servers that handle different aspects of a web server. The first one that you would need to install is the HTTP server. IIS (Internet Information Services) is a web server developed by Microsoft and a good choice for most people who are already comfortable with using Windows. Tomcat is another server, but it isn’t meant to process HTML documents, it is intended to run Java and JSP applications. The tomcat was developed by Apache as a Java/JSP server. It is developed primarily to communicate with Apache’s own web server but it is also compatible with IIS or any other web server available.

Create a Virtual Directory in IIS 7.0


A virtual directory is a directory name, used in an address, which corresponds to a physical directory on the server. You can add a virtual directory that will include directory content in a site or an application without having to move the content physically into that site or application directory.

To add a virtual directory

You can perform this procedure by using the user interface (UI), by running Appcmd.exe commands in a command-line window, by editing configuration files directly, or by writing WMI scripts.
User Interface
To use the UI


Open IIS Manager. For information about opening IIS Manager, see IIS 7.0: Open IIS Manager.

In the Connections pane, expand the Sites node in the tree, and then click to select the site in which you want to create a virtual directory.

In the Actions pane, click View Virtual Directories.

On the Virtual Directories page, in the Actions pane, click Add Virtual Directory.

In the Add Virtual Directory dialog box, type a name in the Alias box. This alias is used to access the content from a URL.

In the Physical path box, type the physical path of the content folder, or click Browse to navigate through the file system to find the folder.

Optionally, click Connect as to specify credentials that have permission to access the physical path. If you do not use specific credentials, select the Application user (pass-thru authentication) option in the Connect As dialog box.

Optionally, click Test Settings to verify the settings that you specified for the virtual directory.

Click OK.

Command Line

To add a virtual directory to the root application in a site, use the following syntax:

appcmd add vdir /app.name:string/ /path:string /physicalPath:string

The variable app.namestring is the site name and the / following the name specifies that the virtual directory should be added to the root application of the site. The variable pathstring is the virtual path of the virtual directory, such as /photos, and physicalPathstring is the physical path of the virtual directory’s content in the file system.

For example, to add a virtual directory named photos with a physical location of c:images to the root application in a site named contoso, type the following at the command prompt, and then press ENTER:

appcmd add vdir /app.name:contoso/ /path:/photos /physicalPath:c:images

To add a virtual directory to an application other than a site’s root application, type the name of the application after / in app.namestring. For example, to add the same virtual directory used in the previous example to an application named marketing in a site named contoso, type the following at the command prompt, and then press ENTER.


Configuring Windows 2000 IIS for CGI

· Install Windows Internet Information Server (IIS) (Windows XP screen shots)

  1. Start > Settings > Control Panel > Add/Remove Programs
  2. Add/Remove Windows Components

Check the box for Internet Information Server (IIS); click the “Details…” button to select IIS components:

Windows XP

These are the components I installed, however you should not need FTP or SMTP if you only want to test CGI scripts:

Windows XP

Windows XP



Test the Server

  1. Assumptions:
    • %SystemDrive% = C: <!–
    • %SystemRoot% = C:WINNT –>
    • %UserDomain% = LOCALHOST

Use the SET command in a Command Prompt window to check your settings.
Make applicable adjustments if %SystemDrive% or %UserDomain% have different values on your system.

  1. Create a simple HTML document in the default server directory.

server_test.html in the default server directory C:Inetpubwwwroot

<title>Server Test</title>
<!-- server_test.html -->
The server is working
  1. Enter http://localhost/server_test.html in your browser to test the server

If the IIS is installed and working you should see your test document displayed in the browser:

Testing Internet Information Server (IIS)

· [TOP]


Install Perl

Download a current Perl binary distribution from www.activestate.com
The following are direct download links for ActiveState’s binaries for recent major versions of Perl. You may want to install more than one version depending on your need/desire to have a version compatible with the Perl you use on a Unix system.

Other ActiveState links:

See Introduction to Perl for additional information about installing ActivePerl and other Perl binary distributions on Windows operating systems.



Configure the Server

  1. See assumptions under “Test the Server” and make adjustments as necessary
  2. You must be logged on as Administrator to configure IIS
  3. The default location for CGI scripts is C:InetpubScripts
  4. The URL to access scripts is http://localhost/scripts/script_name
  5. Start > Settings > Control Panel > Administrative Tools Internet Services Manager
    Note: You may find it convenient to drag the Internet Services Manager menu item to the Desktop with the right mouse button and create a shortcut.
  6. Click on the “+” to expand *localhost in the left pane

Right-click and select Start or Stop as required to start or stop services.

Starting and Stopping localhost services

  1. You only need Default Web Site to test CGI scripts. For security reasons you probably want to stop the services except when you are testing scripts so your server is not open to the Internet if you have an “always on” connection.

Click on Default Web Site in the left pane to expand all the items in the right pane; right-click
on the Scripts folder and select Properties;

Click the “Create” button in the Virtual Directory tab so that the “Configuration” button is available (the “Create” button will change to “Remove”:

IIS Virtual Directory tab after clicking 'create'

  1. Click the “Configuration” button and look for Perl file extensions in the App Mappings tab (usually .pl and .plx)
    If you are using a Perl binary other than ActiveState, or if you installed ActivePerl from a ZIP file rather than the Windows installer, the extensions for Perl source files will probably not be present, in which case use the “Add” button to add a new mapping

Select the .pl extension and click the “Edit” button or, if no Perl extensions were listed, click the “Add” button.

Perl and Python extensions in the Virtual Directory App Mappings tab

Edit or Add a new Application Extension Mapping as follows:

Perl extensions in the Virtual Directory App Mappings tab

j. Notes:

    • Edit the path to your Perl executable as required.
      You may have multiple Perl installations; edit the path to reflect the installation/version you are currently using.
    • The ActivePerl installation does not include the -T switch to perl.exe as shown; however it must be part of the command line if you use it in the shebang line in your scripts.
      If you are adding a new extension mapping be sure to include the -T switch.
    • If adding a new Application Extension Mapping be sure to enter the fields exactly as shown. Note in particular the arguments “%s” %s. I cannot find any definitive documentation for the syntax, but this is what works.



Test the Server and CGI

Create a simple Perl script named cgi_test.pl in C:InetpubScripts as follows:

#!/usr/bin/perl -T
# cgi_test.pl
use warnings;
print "content-type: text/htmlnn";
    # Important! extra blank line after header
print "CGI is working";
  1. Enter http://localhost/scripts/cgi_test.pl in your browser

If CGI and the Perl script are working you should see the following displayed in the browser:

Testing CGI

c. Notes:

    • Under Windows and IIS the path information in the shebang line is not required or used;
      #!perl -T
      is perfectly valid.
    • However. if you are testing scripts that will ultimately be uploaded to a Unix server you may want to use the same shebang that your Unix server requires, such as
      #!/usr/bin/perl -T
      Windows will read the command line switches and ignore the path.



Internet Services Manager “Run As” Shortcut

You want to be able to manage IIS, such as starting and stopping services, but do not want to log off your user account, log on as Administrator to do a simple task, then log off and back on to your user account again. And you definitely do not want to do your daily development work in the Administrator account.

You could navigate to Internet Services Manager via the Start Menu, press the shift key while right-clicking on the Internet Services Manager menu item, and get the “Run As” prompt; however, better to create a shortcut to do all that for you.

  1. From your normal user account create a shortcut to Internet Services Manager
  2. Start > Settings > Control Panel > Administrative Tools > Internet Services Manager
  3. Holding down the right mouse button drag the Internet Services Manager menu item onto the Desktop and select “Create Shortcut(s) Here”

Right-click on the shortcut, select properties, and check the “Advanced” button.

Check “Run with different credentials”

Run with different credentials

When you use the shortcut you will be prompted for the user account and password to run the application. The default is Administrator, which is usually what you want.

Run As Other User



Create new IIS Virtual Directory

You want to be able to create, add, and edit scripts, however you do not want to do your development work under the Administrator account; and you do not want to log out of your user account, log on as Administrator to copy files to the default scripts folder, then log back on to your user account. Solution: create a IIS Virtual Directory that is accessible from your user account.

  1. Open the Internet Services Manager snap-in and create a new Virtual Directory
  2. Right-click on Default Web Site in the l

    eft pane, select New > Virtual Directory

  3. Work through the Virtual Directory Creation Wizard

Choose a Virtual Directory Alias (this will be the path following the LOCALHOST domain: http://localhost/usr-cgi

Virtual Directory Alias

Choose a Web Site Content Directory where you have access from your normal user account.

Virtual Directory Creation

When you get to the Access Permissions step in the Wizard be sure to check the “Execute…” box in addition to the Read and Run boxes already checked by default.

Virtual Directory Access Permissions

  1. After you have created the new virtual directory you must also configure it just like the Default Directory above. See 4. Configure the Server above.

Web stats- Urchin

This software is used to track the logs of IIS and apache and displays reports.

  • In-house Flexibility: Configure Urchin to fit your specific requirements and process/reprocess log files as frequently as you wish.
  • Great for intranets: Analyze firewall-protected content, such as corporate intranets, without any outside internet connection.
  • Pagetags or IP+User Agent: Choose which methodology works best for you. You can even have the pagetags make a call to your Google Analytics account and run both products together allowing you to audit the pre and post processed data.
  • Advanced Visitor Segmentation: Cross segment visitor behavior by language, geographic location, and other factors.
  • Geo-targeting: Find out where your visitors come from and which markets have the greatest profit potential.
  • Funnel Visualization: Eliminate conversion bottlenecks and reduce the numbers of prospects who drift away unconverted.
  • Complete Conversion Metrics: See ROI, revenue per click, average visitor value and more.
  • Keyword Analysis: Compare conversion metrics across search engines and keywords.
  • A/B Test Reporting: Test banner ads, emails, and keywords and fine-tune your creative content for better results.
  • Ecommerce Analytics: Trace transactions to campaigns and keywords, get loyalty and latency metrics, and see product merchandising reports.
  • Search engine robots, server errors and file type reports: Get the stuff that only log data can report on.
  • Visitor History Drilldown: dig into visitor behavior with the ability to view session/path, platform, geo-location, browser/platform, etc. data on an individual-visitor basis (note: this data is anonymous).
Feature Urchin 6 Google Analytics
Install and manage on your own servers Yes No
Can be used on firewall-protected corporate intranets Yes No
Reprocess historical data (from logfiles) Yes No
Can process/re-process your log files locally Yes No
Can collect information through tags No Yes
Reports on robot/spider activity Yes No
Reports on server errors/status codes Yes No
Tightly integrated with AdWords No Yes
Can report on paid search campaigns Yes Yes
Ecommerce/Conversion reporting Yes Yes
Geotargeting Yes Yes
Free No Yes
Visitor session/navigation path analyses Yes No
Raw data accessible for custom report-building Yes No
Exclusively supported by authorized consultants Yes No


Web Statistics -AWStats

AWStats is short for Advanced Web Statistics. AWStats is powerful log analyzer which creates advanced web, ftp, mail
and streaming server statistics reports based on the rich data contained in server logs. Data is graphically presented in
easy to read web pages.
Designed with flexibility in mind, AWStats can be run through a web browser CGI (common gateway interface) or directly
from the operating system command line. Through the use of intermediary data base files, AWStats is able to quickly
process large log files, as often desired. With support for both standard and custom log format definitions, AWStats can
analyze log files from Apache (NCSA combined/XLF/ELF or common/CLF log format), Microsoft’s IIS (W3C log format),
WebStar and most web, proxy, wap and streaming media servers as well as ftp and mail server logs.

AWStats’ reports include a wide range of information on your web site usage:
* Number of Visits, and number of Unique visitors.
* Visit duration and latest visits.
* Authenticated Users, and latest authenticated visits.
* Usage by Months, Days of week and Hours of the day (pages, hits, KB).
* Domains/countries (and regions, cities and ISP with Maxmind proprietary geo databases) of visitor’s hosts (pages, hits, KB,
269 domains/countries detected).
* Hosts list, latest visits and unresolved IP addresses list.
* Most viewed, Entry and Exit pages.
* Most commonly requested File types.
* Web Compression statistics (for Apache servers using mod_gzip or mod_deflate modules).
* Visitor’s Browsers (pages, hits, KB for each browser, each version, 123 browsers detected: Web, Wap, Streaming Media
browsers…, around 482 with the “phone browsers” database).
* Visitor’s Operating Systems (pages, hits, KB for each OS, 45 OS detected).
* Robots visits, including search engine crawlers (381 robots detected).
* Search engines, Keywords and Phrases used to find your site (The 122 most famous search engines are detected like
Yahoo, Google, Altavista, etc…)
* HTTP Errors (Page Not Found with latest referrer, …).
* User defined reports based on url, url parameters, referrer (referer) fields extend AWStats’ capabilities to provide even
greater technical and marketing information.
* Number of times your site is added to Bookmarks / Favorites.
* Screen size (to capture this, some HTML tags must be added to a site’s home page).
* Ratio of integrated Browser Support for: Java, Flash, Real G2 player, Quicktime reader, PDF reader, WMA reader (as
above, requires insertion of HTML tags in site’s home page).
* Cluster distribution for load balanced servers.
In addition, AWStats provides the following:
* Wide range of log formats. AWStats can analyze: Apache NCSA combined (XLF/ELF) or common (CLF) log files,
Microsoft IIS log files (W3C), WebStar native log files and other web, proxy, wap, streaming media, ftp and mail server log
files. See AWStats F.A.Q. for examples.
* Reports can be run from the operating system command line and from a web browser as a CGI (common gateway
interface). In CGI mode, dynamic filter capabilities are available for many charts.
* Statistics update can be run from a web browser as well as scheduled for automatic processing.
* Unlimited log file size
What is AWStats / Features Overview 2/87 13/04/2008
* Load balancing system split log files.
* Support ‘nearly sorted’ log files, even for entry and exit pages.
* Reverse DNS lookup before or during analysis; supports DNS cache files.
* Country detection from IP location (geoip) or domain name.
* Plugins for US/Canadian Regions, Cities and major countries regions, ISP and/or Organizations reports (require non free
third product geoipregion, geoipcity, geoipisp and/or geoiporg database).
* WhoIS lookup links.
* Vast array of configurable options/filters and plugins supported.
* Modular design supports inclusion of addition features via plugins.
* Multi−named web sites supported (virtual servers, great for web−hosting providers).
* Cross Site Scripting Attacks protection.
* Reports available in many international languages. See AWStats F.A.Q. for full list. Users can provide files for additional
languages not yet available.
* No need for esoteric perl libraries. AWStats works with all basic perl interpreters.
* Dynamic reports through a CGI interface.
* Static reports in one or framed HTML or XHTML pages; experimental PDF export through 3rd party “htmldoc” software.
* Customize look and color scheme to match your site design; with or without CSS (cascading style sheets).
* Help and HTML tooltips available in reports.
* Easy to use − all configuration directives are confined to one file for each site.
* Analysis database can be stored in XML format for easier use by external applications, like XSLT processing (one xslt
transform example provided).
* A Webmin module is supplied.
* Absolutely free (even for web hosting providers); source code is included (GNU General Public License).
* Works on all platforms with Perl support.
* AWStats has a XML Portable Application Description.
AWStats usage has the following requirements:
* You must have access to the server logs for the reporting you want to perform (web/ftp/mail).
* You must be able to run perl scripts (.pl files) from command line and/or as a CGI. If not, you can solve this by
downloading latest Perl version at ActivePerl (Win32) or Perl.com (Unix/Linux/Other).

reference : http://awstats.sourceforge.net/