Deploying ASP

download Deploying ASP

of 33

Transcript of Deploying ASP

  • 7/29/2019 Deploying ASP

    1/33

    Deploying ASP.NET Applications

    After creating and testing your ASP.NET application, the next step is to deploy the

    application. Deployment is the process of distributing the finished application to beinstalled on other computer. We can use the built-in deployment feature that comes with

    Visual studio .NET to create a Windows Installer file - a .msi file for the purpose ofdeploying applications.

    Deploying Applications

    To start, open the Web Application project you want to deploy. Say, you have a projectnamed "Deploy" with ten Web pages in it. Select File->Add Project->New Project from

    the main menu. From the Project Types pane select Setup and Deployment Projects and

    from the Templates pane select Web Setup Project. Type WebSetup1 for name andspecify a location in the location box and click OK. The New project dialogue box looks

    like the image below.

    When you click OK on the above dialogue box, the project is added to the solution

    explorer window and also a File System Editor window appears as shown in the imagebelow.

  • 7/29/2019 Deploying ASP

    2/33

    The File System Editor window has two panes. Select Web Application Folder in the leftpane in this window. From the Action menu (on main menu), select Project Output to

    open the Add Project Output Group dialog box. It looks like the image below.

  • 7/29/2019 Deploying ASP

    3/33

    Make sure that Deploy is selected in the Project drop-down list and select Primary

    Output from the list and click OK. You also can select other options depending upon theusers of your application.

    Now, in the File System Editor window, select Web Application Folder and open it's

    Properties window. The Properties window for the Web Application Folder looks like theimage below.

  • 7/29/2019 Deploying ASP

    4/33

    In this window, set the VirtualDirectory property to any name, say FinishedApp.FinshedApp will be the folder on the target machine where you will install this

    application. The name you set for this VirtualDirectory property should not already exist

    on the target machine. If it does, the contents in the folder will be overwritten. Also, setthe DefaultDocument property to any page in the application. The page you set in this

    property will be the default page for the Web Application. Once you are finished with the

    Properties window build the solution by selecting Build->Build WebSetup1 from themain menu. After the solution is built sucessfully, a WebSetup1.msi file is created in the

    Debug directory of the Web Setup project. The default path to the debug directory is as

    follows:

    C:\Documents and Settings\Administrator\My Documents\Visual StudioProjects\deploy\WebSetup1\Debug.

    Installing the Application

    You can copy the WebSetup1.msi file to the target machine and double-click to install

    the Web Application. When you double-click the setup file the dialog that opens looks

    like the image below.

  • 7/29/2019 Deploying ASP

    5/33

  • 7/29/2019 Deploying ASP

    6/33

    Click next and you will be taken to the next dialog which looks like the image below.

    You can use the default Virtual Directory specified by the installer or you can specifyone. Click next to install the application.

    Deploying ASP.NET Applications

    Using the Copy Project Option

    Another option to deploy your ASP.NET application developed using Visual Studio

    .NET is to use the copy project option. This option is very helpful if you decide to hostyour ASP.NET application with a hosting provider. The hosting provider allocates some

    space for you on his Web server and you are required to deploy your application/Website.

    To host your ASP.NET application on a hosting provider's server you need to followthese steps.

    The first thing you need to do before deploying any ASP.NET Web application is to

    change the Active Solution Configuration from Debug to Release as shown below. This

    allows the compiler to optimize the code, remove debugging related symbols from codeand makes the code run much faster. To open the Configuration Manager, right-click on

    the Web project in the Solution Explorer window and select Project->Properties. The

    properties dialog box looks like the image below.

  • 7/29/2019 Deploying ASP

    7/33

    On this dialog, click on Configuration Properties towards the left and click the

    "Configuration Manager" button towards the right side. The Configuration Manager

    dialog looks like the image below.

  • 7/29/2019 Deploying ASP

    8/33

    On this diaolg select Release from the drop-down list found at top-left.

    To copy your Web project onto the target server, select Project->Copy Project from the

    main menu. Selecting this option will display a dialog box as shown in the image below.

    The Copy Project dialog provides the following options.

    Destination Project Folder

    Used to specify the location to which you want to copy the project. The location can beon the same machine or on a remote server.

    Web access method

    The Web access method option determines the access method that is used to copy the

    Web project to the destination folder. There two types of Web access methods:

    File share: Allows to directly access the project files on the Web server through a file

    share.FrontPage: Specifies that you want to use the HTTP-based FrontPage Server Extensions

    to transfer your project files to the server.

    Copy

    The Copy option provides three types which are as follows:

  • 7/29/2019 Deploying ASP

    9/33

    Only files needed to run this application: Copies built output files (DLLs and references

    from the bin folder) and any content files (.aspx, .asmx). It is recommended to deploy the

    application using this default option.All project files: Copies built outputs (DLLs and references from the bin folder) and all

    files that are in the project. This includes the project file and source files.

    All Files in the source project folder: Copies all project files and any other files that are inthe project folder (or subfolder) being transferred to the destination folder.

    To copy the Web Application, select your options based on the application type from the

    above dialog box and click OK. This will result in the ASP.NET Web application being

    deployed on the target server as shown in the image below.

    Some hosting providers require you to enable FrontPage Extensions on your account

    which can be done via the control panel.

    onfiguring Websites in Windows .NET Server/IIS 6.0

    At times there might be situations where you need to host your ASP.NET applications

    from your corporate server or your own machine. A scenario where this might beneeded is when you have large amounts of data on your Web site and you are concerned

    about the big bucks your hosting provider will charge you for disk space, bandwidth and

    database maintenance. Internet Information Services 6 (IIS 6) can be used for hostingyour Web site. IIS 6 is a powerful platform for hosting Web sites. Creating and

    configuring Web sites and Virtual Directories using IIS are as easy as 1-2-3. In this

    section we will see how we can create a Website using IIS 6.0 and configure it.

    Creating a Website

    The first thing you need before creating a Web site using IIS 6.0 is a unique IP address

    that identifies your computer on the network. This address takes the form of a string of

    four numbers separated by periods (.). For your site to be up and running you also need a

    connection to the Internet. You need to lease a line from an Internet Service Provider(ISP) or a telephone company. When you open IIS Manager in Administrative Tools and

    select Web sites in the console tree, and right-click on default Web site and open it's

    properties you will find that the IP address for the default Web site is All Unassigned.

  • 7/29/2019 Deploying ASP

    10/33

    This means any IP address not specifically assigned to another Web site on the machine

    opens the Default Web site instead. A typical use for the Default Web site is to display

    general information like a corporate logo and contact information.

    Let's assume that we will use the IP address 169.16.13.211 for creating

    Startvbdotnet.com and C:\Startvbdotnet is the folder where the homepage for this site islocated. To create the Startvbdotnet Web site, right-click on the Web Sites node and

    selectNew->Web Site to start the Web Site Creation Wizard as shown in the imagesbelow.

  • 7/29/2019 Deploying ASP

    11/33

    Click Next on the Web site creation wizard dialog and type a description for the site asshown in the image below.

  • 7/29/2019 Deploying ASP

    12/33

    After typing the description click next to open the dialog where you need to specify the

    IP address and port number for your Web site. As mentioned above, type 169.16.13.211

    in the IP address textbox and 80 in the TCP port textbox. The dialog looks like the imagebelow.

    Click Next and specify C:\Startvbdotnet as the home directory for the site. Notice the

    checkbox that says "Allow anonymous access to this Web site". By default, it is checked,which means the Web site which we are creating is accessible by general public on the

    Internet. If you are creating an intranet site which will be used only by authenticatedusers then you need to uncheck this checkbox. The image below displays that.

  • 7/29/2019 Deploying ASP

    13/33

    Click Next to get to the Web Site Access Permissions dialog. By default, the Read and

    Run scripts checkboxes are checked which means that your Web site will run scripts suchas ASP and is only a read-only Web site where users can't make changes to it. If you

    want users to download content from your Web site, modify it and upload the modified

    content then you need to check the Write checkbox. The image below displays that.

  • 7/29/2019 Deploying ASP

    14/33

    Click Next and then Finish to create the new Web site. The image below displays the new

    Web site which we created in IIS.

    Configuring Websites in Windows .NET Server/IIS 6.0

  • 7/29/2019 Deploying ASP

    15/33

    Virtual Directories

    A virtual directory is a friendly name, or alias, either for a physical directory on your

    server hard drive that does not reside in the home directory, or for the home directory onanother computer. Because an alias is usually shorter in length than the path of the

    physical directory, it is more convenient for users to type. The use of aliases is alsosecure because users do not know where your files are physically located on the server

    and therefore cannot use that information to modify your files. Aliases also make it easierfor you to move directories in your site. Rather than changing the URL for the directory,

    you change the mapping between the alias and the physical location of the directory.

    You must create virtual directories if your Web site contains files that are located in adirectory other than the home directory, or on other computer's hard drive. To use a

    directory on another computer, you must specify the directory's Universal Naming

    Convention (UNC) name, and provide a user name and password for access rights.

    Also, if you want to publish content from any directory not contained within your homedirectory, you must create a virtual directory.

    Creating a Virtual Directory

    Let's say Startvbdotnet keeps their contacts in a folder called C:\StartvbdotnetContacts on

    their web server and would like users to be able to use the URL

    http://169.16.13.211/contacts when they need to access contact information. To do thiswe need to create a virtual directory that associates the /contacts portion of the URL, the

    alias for the virtual directory, with the physical directory C:\StartvbdotnetContacts where

    these documents are actually located.

    To create a new virtual directory, right-click on Startvbdotnet Web site and select New->Virtual Directory to start the Virtual Directory Creation Wizard. The images below

    display that.

  • 7/29/2019 Deploying ASP

    16/33

  • 7/29/2019 Deploying ASP

    17/33

    Click Next and type the alias for the virtual directory, say, contacts as shown in the image

    below.

  • 7/29/2019 Deploying ASP

    18/33

    Click Next and specify the physical folder on the local server to map to this alias. The

    physical folder on the server is C:\StartvbdotnetContacts. The image below shows that.

    Click Next and specify permissions for this Virtual Directory as shown in the image

    below.

  • 7/29/2019 Deploying ASP

    19/33

    Click Next and finish the virtual directory creation wizard. The images below displays

    the result. You cansee the new virtual directory, contacts, with a gear symbol in the IIS wizard.

  • 7/29/2019 Deploying ASP

    20/33

    When users type http://169.16.13.211/contacts in their browser they will be shown a pagewith contact information for Startvbdotnet Web site. What actually happens is the content

    comes from a directory located outside the Web site directory but the address bar in the

    browser shows that the directory is part of the Web site.

    Configuring Websites in Windows .NET Server/IIS 6.0

    Controlling Access to Web Site

    Now that we created a Web site and a virtual directory we will look at some of the

    administrative tasks that are required to control the Web site. The settings in

    this article apply only to Startvbdotnet Web site which we created in IIS and not to allWeb sites under IIS. The procedure is same if you want to set the properties for all Web

    sites. If you want to set the following properties for all Web sites under IIS then you needto right-click on Web Sites in IIS and select properties from the menu and follow the

    steps which are mentioned in this article.

    When you right-click on the Startvbdotnet Web site in IIS and select properties, the

    properties window that is displayed looks like the image below.

  • 7/29/2019 Deploying ASP

    21/33

    As you might notice from the above image the dialog box displays information as tabs,all of which are discussed below.

    Web Site Information (Web Site Tab)

    By defaut, the Web site tab is displayed when you right-click and select properties for

    any of the Web sites in IIS. The information under Web site tab is discussed below.

    Web site identification

    The Web site identification part displays general information like the description of the

    Website, IP address and the port number it is using.

    Connections

    Connection timeout

    Connection timeouts are used to reduce the amount of memory resources that are

    consumed by idle connections. Time-out settings also allow you to specify how long

  • 7/29/2019 Deploying ASP

    22/33

    server resources are allocated to specific tasks or clients. The default connection timeout

    setting set by IIS is 120 seconds which means that when a visitor accesses your site and

    has no activity on your site for 2 mins his connection will be timed out.

    Enable HTTP Keep-Alives

    Most Web browsers request that the server keep the client connection open while the

    server sends multiple elements like .htm files and .gif or .jpeg files to the client. Keeping

    the client connection open in this way is referred to as an HTTP Keep-Alive. Keep-Aliveis an HTTP specification that improves server performance. HTTP Keep-Alives are

    enabled by default in IIS.

    Enable Logging

    The logging feature allows you to collect information about user activity on your site.

    Information such as who has visited your site, what the visitor viewed, and when the

    information was last viewed, etc, can be collected with this feature. The default loggingformat is the W3C Extended Log File Format. You can also change the logging format

    based on your preferences. To change the logging format you need to make aselection from the active log format drop-down list.

    To set how often you want your new log file to be created click the properties button to

    open the Logging Properties dialog as shown in the image below.

  • 7/29/2019 Deploying ASP

    23/33

    The Logging Properties dialog shown in the image above allows you to record log

    information on an hourly basis or daily or weekly or monthly basis or based on file size.

    If you select the Weekly option then a log file is created once every week. You can alsochange the location of the log file on your server in the Logging Properties dialog.

    Performance (Performance Tab)

    The Performance tab let's you control the performance of your Web site, like, setting the

    amount of bandwidth per second and allowing the number of simultaneous connectionsaccessing the Web site at a given time. The dialog looks like the image below.

    Bandwidth throttling

    If the network or Internet connection used by our Web server is also used by otherservices such as e-mail, then we might want to limit the bandwidth used by our Web

    server so that it is available for those other services. If our Web server hosts more than

    one Web site, you can individually throttle the bandwidth used by each site. By default,bandwidth throttling is disabled. If you want to enable it, check the checkbox and enter

    the bandwidth you want in kbps.

  • 7/29/2019 Deploying ASP

    24/33

    Web site connections

    Connection limits restrict the number of simultaneous client connections to our Web site.

    Limiting connections not only conserves memory but also protects against maliciousattacks designed to overload our Web server with thousands of client requests. By

    default, unlimited connections are allowed. If you want to limit the number ofconnections then you need to select the "Connections limited to" radio button and enter

    the number of connections you want to access your site at a given time.

    Home Directory

    The Home Directory tab in the properties dialog for the Web site is displayed below.

    As you can see from the image above, the content for this Web site comes from the localpath on the server. If you want the content for this Web site to come from another

    computer located on a network you need to select the radio button which says "A share

    located on another computer" and enter the computer on the network.

    Redirecting

  • 7/29/2019 Deploying ASP

    25/33

    Sometimes when your site is experiencing technical difficulties or if you are doing

    maintenance you need to redirect visitors to another site or to another page informing

    what is going on. IIS lets you redirect a Web site to a different file or folder on the samemachine or to an URL on the Internet. To configure redirection you need to select the "A

    redirection to a URL" radio button under the home directory and choose the redirection

    option you want to use and specify the path as shown in the image below.

    Configuring Websites in Windows .NET Server/IIS 6.0

    Controlling Access to Web Site

    Custom Errors

    You can configure Internet Information Services (IIS) to send default HTTP 1.1 errormessages or custom error messages. Custom error messages can be mapped to a file

    name or to a URL. The image below displays Custom Errors dialog.

  • 7/29/2019 Deploying ASP

    26/33

    You can also configure your own custom error messages. To do that, click the HTTPerror that you want to change, and then click Edit to open the Edit Custom Error

    Properties dialog as shown in the image below.

  • 7/29/2019 Deploying ASP

    27/33

    To configure your own custom error, in the Message Type list box, click either File to

    return a custom error file or URL to direct the request to a custom error URL on the local

    machine.

    Note that you cannot customize the following errors: 400, 403.9, 411, 414, 500, 500.11,

    500.14, 500.15, 501, 503, and 505.

    Documents (Documents Tab)

    The Documents dialog is displayed in the image below.

    Enable default content page

    The enable default content page lets you designate the default page for your Web site.

    You can specify names such as index.aspx, default.aspx, login.aspx, etc. To add a newtype you need to click the Add button and add the file which you want to be displayed to

    your users when they first enter your site.

    Enable document footer

  • 7/29/2019 Deploying ASP

    28/33

    The enable document footer option lets you add a HTML formatted footer to each and

    every document on your site. By default, it is disabled.

    HTTP Headers (HTTP Headers Tab)

    The HTTP Headers dialog looks like the image below.

    Enable content expiration

    By default, this is disabled. If you enable content expiration and set a date then thecontent on your site expires after the set date. If you notice from the above image, the

    content for Startvbdotnet is set to expire on Tuesday, Februrary 23, 2010 at 12 AM.

    Content rating

    Content rating allows to classify your site from four predefined values which are

    Violence, Sex, Nudity and Language. By default, content rating is disabled. To enablecontent rating, click the edit Ratings button to open the Content Ratings dialog as shown

    in the image below.

  • 7/29/2019 Deploying ASP

    29/33

    In the Content Ratings dialog, enable the checkbox which says Enable ratings for this

    content and select a category under which your site falls and drag the track bar to indicatethe level of the rating. You can also include an email address for contact and set an

    expiration date for this content as shown in the image above.

    Directory Security (Directory Security Tab)

    The Directory Security dialog looks like the image below.

  • 7/29/2019 Deploying ASP

    30/33

    Authentication and access control

    Authentication and access control allows us to setup access to our

    site using Authentication Methods. If you click the Edit button the AuthenticationMethods dialog that is displayed looks like the image below.

  • 7/29/2019 Deploying ASP

    31/33

    By default, the enable anonymous access checkbox is checked which means that your site

    will be accessed by everyone using the IUSR_COMPUTERNAME (default IIS account).If you want to enforce restrictions and want users to be authenticated before they access

    your site you need to set it in this dialog.

    IP address and domain name restrictions

    The IP address and domain name restrictions allows us to grant or deny access to usersbased on their IP address. If you click the Edit button the IP Address and Domain Name

    Restrictions dialog that is displayed looks like the image below.

  • 7/29/2019 Deploying ASP

    32/33

    By default, all computers will be granted access. If you want to deny/block a particular

    user or a group of computers then you need to select the Denied access radio button andclick the Add button to open the Grant Access dialog as shown in the image below.

    If you want to block a single computer enter the IP address of the machine and click OK.

    If you want to deny a group of computers then select the Group of computers radio buttonand enter the network address and Subnet mask number to deny that group. If you want

    to deny users based on a domain name the select the Domain name option and enter the

    domain name.

    Starting and Stopping Web site

    You can start and stop a Web site in IIS manager. To start a Web site, select the Web site,right-click on it and from the menu select start/stop as shown below.

  • 7/29/2019 Deploying ASP

    33/33