Monday, November 7, 2016

How to configure Website in IIS?

Webserver can be defined as a program that serves webpages of the
server to the client's browser through HTTP (Hypertext Transfer Protocol).

Computer that has Webserver program is also referred as a Webserver.
Any Computer can be used as a Webserver by installing server software and
is connected to the internet. It will have a fixed IP address and a domain name.
Apache,IIS and Nginx are the commonly used webservers.

IIS (Internet Information Services) is the webserver developed by Microsoft
which is an integral part of the Windows NT family Operating System (since
Windows NT 4.0). Earlier it was called Internet Information Server.

Installing IIS in Windows 7 :


Below are the steps to install IIS in Windows 7.

- Go to Control Panel - Programs and Features
- In the left Panel click Turn Windows features on or off
- Select Internet Information Services
- Under Internet Information Services select Web Management Tools
and World Wide Web Services. 
- Under World Wide Web Services select Application Development Features.
 and make sure default selected features like ASP.NET, .NET Extensibility,
ISAPI Extensions and ISAPI Filters are selected.

There are many sub features under the features.
Some are by default selected and we can select any additional feature if required.

Then click OK to start installation. Once installation is finished we can check
the default website by taking the url http://localhost in web browser. Then it
will display IIS 7 web page.

Next we can open IIS Manager which exists in Control Panel -> Administrative Tools.
It can also be opened from Start-> Type inetmgr.

Now IIS is ready to configure Websites. Next I will explain the steps to configure a website
in IIS.

-  Open IIS Manager

- You can see one Default Web Site under the Sites node. If we type http://localhost
or http://127.0.0.1 it is this default web site running which is pointing to the wwwroot,
default root folder of the IIS Web Server which resides inside c:/inetpub.

-  Right click the node Sites -> Add Web Site...then a window will appear as following :



















Site name can be filled with any identifiable name for your website.

Physical path has to be provided by browsing to the exact location of the website
in the local computer.

Under Binding, select default Type as http and You can provide IP address if
you have any. Otherwise it will work under default IP address 127.0.0.1 (localhost).
Default Port is 80 and this should not be changed unless your ISP blocks port 80.

In place of Host name, you can provide your Domain Name if you have any.
Otherwise leave it blank to use IP address

Then click OK and the website is ready to browse. We can test it by right clicking
on the test website -> Manage Website -> Browse.

Even though the website works fine we can add some extra configurations to
ensure it works properly.

For providing security permissions, right click on the created website ->
Edit Permissions -> Select Security tab.

For editing bindings, right click on the created website -> Edit Bindings
Then a window will open like the below :
















Here we can add more bindings like if suppose the website's domain name is
www.test.com and is provided while creating the website and in order to make
the website works for test.com, we can add binding without www here.

There are many advanced settings we can see on the right pane of IIS manager.

If we want to set Default document, click on that feature and add the name of the page
to be displayed by default if we open the website or Application. There are many default
documents already set inside IIS like default.htm,default.aspx,index.html,etc. Normally
we use any of these pages and in that case no need to add it.

Next I will explain how to add an Application under a website. Suppose I have created an Application named testApp inside wwwroot folder you can see it under default web site node.
Right click on it -> Click Convert to Application . Then a window will appear as :



















Click Ok. Then its icon will change and now the Application is ready to use.
From the right side we can set advanced settings like Authentication, Default Document, etc.

Application Pool :

Application Pool is used to group set of IIS worker processes with same configuration.
It provides isolation between Applications even if they are running on the same server
there by prevent issue on one Application affecting the remaining Applications in the
server. In IIS we can create any number of Application pools depending on server's
capacity. It provides relaibility, security and availability for the Applications.

There are two pre-defined Application Pools in IIS namely
(1) DefaultAppPool and (2) Classic .NET AppPool

For Application Pool there are two features, .NET Framework Version by which
we can select the version of Framework and Managed pipeline mode which are
of two types, Classic and Integrated.

Classic mode :
This mode is the only mode in IIS 6.0 and below. In this mode process request model
is isolated. IIS pipeline and ASP.NET pipeline are separate. Each ASP.NET request
has to undergo processing steps of IIS which is then forwarded to Aspnet_isapi dll
and the response is then again channelled back through IIS.

Integrated mode:
The latest mode introduced in IIS7 by which IIS and ASP.NET request processing
architecture is integrated to a unified process model.

Application Pool Identity :
Application pool identity is the security feature of IIS which provides privileges
for worker process in accessing resources. The three types of identities are the
following :

(1) NetworkServices :
This is the default identity of Application Pool which has the privileges of
authenticated local user account and can access remote resource using the
machine account.

(2) LocalServices :
LocalServices is a built-in account that has privileges of an authenticated local user
account. It does not have network access permission.

(3) LocalSystem :
LocalSystem is a built-in account with more privileges and it should be avoided for
security purpose. It has administrative privileges on the server and can access both
local and network resources.

Change Application Pool of a Website :
For changing Application Pool of a website right click on the website->
Manage Website -> Advanced Settings -> choose the Application Pool.

Create or Edit Application Pool :
For adding or editing Application Pools, there is Application Pools' node
in the beginning just under the server node of IIS Manager. For changing
features of Application Pool, select the Application Pool and click on
Advanced Settings on the right pane which opens a window from which we
can change the General features like Enable 32- Bit Applications, Rapid Fail
Protection features, Recycling features, etc.

Enable 32 bit Application in IIS 7 is false by default. If we want to run any legacy
32 bit Application on a server that has 64 Bit processor, we have to set it to true.
For this Windows uses WOW64 (Windows 32 on Windows 64) which is an Application
Compatibility Layer.



No comments:

Post a Comment