IIS Installation Guide

Description

A guide to installing the Alpha Anywhere Appication Server for IIS.

Alpha Anywhere Application Server for IIS Installation Guide

 Preface

This document is one of a group of documents on using the Alpha Anywhere Application Server for IIS. The documents are:

The server names and IP address have been blurred in accompanying images.

Minimum Requirements

For a production environment the minimum IIS server version is 7.5 and Windows Server 2008 R2. The steps and images below are from IIS 8.0 and Windows Server 2012 Standard.

For a development environment Windows 7 (32-bit or 64-bit) is the minimum desktop version.

These instructions require that you are logged in as a local administrator.

Install IIS

These directions assume familiarity with IIS and Windows Server 2012. See Detailed steps to install IIS on Windows Server 2012 in the appendix for more detailed set of instructions if you are not familiar with IIS and Windows Server 2012. For a Windows 7 development machine see the Detailed Steps to Install IIS on Windows 7 in the appendix.

  1. Add the Web Server (IIS) role.

    Include the Management Tools feature and select the Management Service. This service is required for publishing. The IIS Management Console is not required unless you want to manage IIS locally.

  2. Include ASP.NET 4.5 role service under Application Development. If you are using IIS 7.5 on Windows Server 2008 R2 the option is labelled ASP.NET with no version specified. However, you must have .NET 4.5 installed on Windows Server 2008 R2.

  3. Include the Application Initialization role service under Application Development for a better user experience. For more details or if you are running IIS 7.5 see Application Initialization in the appendix.

  4. While not required it is a good idea to include the Tracing feature under Health and Diagnostics to aid debugging when web requests fail.

  5.  Verify the IIS Install

    Once the install is complete open a browser on the same machine and type localhost in the URL bar to verify IIS is operating correctly. You should see the default IIS page:

Install Alpha Anywhere Application Server for IIS

Download and run the Alpha Anywhere Application Server for IIS installer a5v12_ApplicationServerIIS.exe. The components are installed by default in the folder:

C:\Program Files (x86)\A5V12 Application Server for IIS

See details about the components that are installed in the appendix. Of note, Alpha Anywhere Application Server for IIS uses the ASP.NET State Service for session state. This service is started if it isn't running already and it is set to startup automatically by the installer.

 Silent Install

To install the Alpha Anywhere Application Server for IIS silently (or unattended) you will need to specify the location of a file that contains your license key. You may also specify a different install location. Both of these settings are done using environment variables.

To specify an install location that is different than the default "C:\Program Files (x86)\A5V12 Alpha Anywhere Application Server for IIS" set an environment variable named A5_MAINDIR.

For silent installs, you must also set an environment variable called SILENT to YES.

To have the installer also set the license key set an environment variable named A5_LICENSE_PATH to the path of an AlphaAnywhere.lic file.

Then install silently by using the /s parameter

a5v12_ApplicationServerIIS.exe /s

The AlphaAnywhere.lic file is a text file you create that contains the license key in a JSON object.

Here's an example AlphaAnywhere.lic file:

{
    "license":"78463547356386753099785082705723"
}

Here's an example batch file for running the installer silently assuming that the folder has a5v12_ApplicationServerIIS.exe and AlphaAnywhere.lic files:

cd c:\AlphaInstaller
set A5_MAINDIR=C:\AAIIS_Install
set A5_LICENSE_PATH=C:\AlphaInstaller
a5v12_ApplicationServerIIS.exe /s

Licensing Alpha Anywhere Application Server for IIS

Once the Alpha Anywhere Application Server for IIS is installed it will run in unlicensed mode. 5 users can be active on an unlicensed mode server allowing development and testing to be done without needing a license. If more users are needed or the server is running in production a license is required.

To set the license, open IIS Manager, select the server node, and open the License Information feature.

Enter your license key into the "License key" prompt and then click the apply link.

In order to properly license Alpha Anywhere Application Server for IIS the machine must have outbound port 443 open. The product will contact https://activation.alphasoftware.com to validate licensing and create and refresh a license lease. Additionally, time servers may be contacted for checking if the system clock is in sync. The time servers are:

  • time.nist.gov outbound port 13
  • pool.ntp.org outbound port 123

The checkbox for "Store key with shared configuration" will only be enabled if you have first enabled "Shared Configuration" for your server. See Enabling Shared Configuration in the appendix for more information.

  •  License Information Data

    The license information data is stored in the registry under the key

    HKEY_LOCAL_MACHINE\Software\Alpha Software\Alpha Anywhere Application Server for IIS 12.0

    in the 32-bit hive. Use this key path when running 32-bit Windows 7 on a development machine. When running on a 64-bit server or development machine the key path is

    HKEY_LOCAL_MACHINE\Software\WoW6432Node\Alpha Software\Alpha Anywhere Application Server for IIS 12.0

Publish Directly to IIS

Alpha Anywhere Developer Edition publishes a web application directly to an IIS server. To publish directly to an IIS Server from Alpha Anywhere Developer Edition you are required to install two Microsoft components on the IIS Server.

The server requires Microsoft Web Deploy 3.5 or later, adding the Management Service feature and enabling remote connections in IIS, and opening up some inbound ports with firewall rules on the server you want to publish to.

The Alpha Anywhere Developer Edition machine requires the IIS Management Console and Microsoft Web Deploy 3.5 or later. Installing the IIS Management Console will install the required assembly Microsoft.Web.Administration.dll that is not redistributable and is needed for direct publishing. The IIS Management Console install can be found under the Control Panel’s “Programs and Features” section in the “Turn Windows features on or off” link on client operating systems (i.e. Windows 7 and Windows 8). Microsoft Web Deploy 3.5 or later will install the Microsoft.Web.Deployment assemblies.

In order to publish using integrated Windows authentication you must run Alpha Anywhere Developer Edition as administrator. Running it under a local administrator account is not enough. You must either right-click on the program icon and choose "Run as administrator" or go into the program icon's properties and set it to be Run as administrator.

To allow direct publishing from Alpha Anywhere Developer Edition to IIS you will need to make some configuration changes on the IIS server machine. Select the tab below for the type of operating system that IIS is installed on: Server OS for Windows Server 2008R2, 2012, or 2012R2; or Client OS for Windows 7, 8, or 8.1.

  •  Server OS (Windows Server 2008R2, 2012, 2012R2)

    You will need to enable remote connections to IIS Management Service which will open up port 8172.

    The following list is a summary of ports that are opened by these instructions.

    • 8172 (This can be configured in the Management Service feature in IIS Manager.)
    1. Check Enable remote connections in IIS Manager Management Service at the server level. This will open up port 8172 in the server's firewall. This is listed as Web Management Service (HTTP Traffic-In) in the Windows firewall inbound rules.

      Disabling remote connections (unchecking Enable remote connections) does not disable the inbound firewall rule for port 8172 Web Management Service (HTTP Traffic-In). This will have to be done manually to close that port.
    2. To publish from Alpha Anywhere Developer Edition to an IIS server, the user you are publishing under needs to have local administrator access on the IIS server machine. The user or group a user is in also needs to be given privilege to run some utilities during publish. This privilege is the "Replace a process level token" privilege in the Local Security Policy. This is required so that a site and application pool can be created at publish time if needed. This privilege is also required so that server configuration can be validated to ensure that the web application will run as expected. Select the users and/or groups that are allowed to publish to IIS from Alpha Anywhere Developer Edition.

      • To select users and/or group that are allowed to publish go to the "Direct Publishing" feature in the Alpha Anywhere group in IIS Manager.

      • In the example image below, the machine's "administrators" group is given the "Replace a process level token" privilege so that the Alpha Anywhere Developer Edition will be able to publish using any user that is in the IIS server machine's local administrators group.

        When remotely managing an IIS server additional controls will be shown below the "Add User or Group..." and "Remove" buttons. In order to select users or groups on the remote server port 445 must be opened in the firewall. This port is prone to probing attacks andis closed by default. The added button "Enable Remote Active Directory Access" will open port 445 for your local IP address only on the remote server so that the remote server will allow the user and group lookup. When you are done adding users or group, click on the button again(it will be labelled "Disable Remote Active Directory Access") to close the firewall port.
  •  Client OS (Windows 7, 8, 8.1)

    Publishing to IIS on a client operating system is only supported for development purposes. Publishing is done through "localhost". No other configuration is required in IIS for this case.

Finally, add the Web deploy extension to IIS. Start up Internet Information Services (IIS) Manager from the Server Manager "Tools" dropdown.

Click on the "Get New Web Platform Components" link in IIS Manager when the server node is selected in the Connections pane on the left.

You may need to download the Microsoft Web Platform Installer manually if using Windows Server 2008R2 with IIS 7.5.

Search for web deploy

Click Add and then Install.

This completes the configuration for publishing directly from Alpha Anywhere Developer Edition to IIS. Continue to the Alpha Anywhere Application Server for IIS Getting Started Guide to publish a sample application to IIS.

Under some circumstances Web Deploy may not get fully installed which may cause an error during publish. Use the "Workaround" in this known issue to validate and/or fix the Web Deploy installation.

Appendix A

 Detailed Steps to install IIS on Windows Server 2012

In the Server Manager select Add roles and features.

Select Next through the Before You Begin page and then select Role-based or feature-based installation on the Installation Type page.

Select your server on the Server Selection page.

Select Web Server (IIS) in the list of roles on the Server Roles page.

If you already have IIS installed Web Server (IIS) will have (Installed) appended to it.

When you select Web Server (IIS) the wizard will prompt you to add management tools for IIS. As the dialog states, you will need these tools to manage IIS. If you don't have these tools installed anywhere else or if you want to manage IIS locally you will need to add this feature. If you are unsure, add the features. You can remove the features later if you decide you don't want or need IIS management tools local to the server.

Select ASP.NET 4.5 on the Features page.

Continue through the wizard until you get to Role Services page for Web Server Role (IIS).

Note: If IIS had already been installed the feature selection nodes of the tree will be listed under the "Web Server (IIS) (Installed)" node rather than as a separate "Web Server Role (IIS)" step in the wizard.

There is 1 default setting that must be selected and 4 default settings that you may want to change.

The default setting that must be selected is:

  1. ASP.NET 4.5

This required setting will also automatically select 3 other settings

  1. .NET Extensibility 4.5

  2. ISAPI Extensions

  3. ISAPI Filters

The 4 default settings that you may want to change are:

  1. Directory Browsing under Common HTTP Features. Usually allowing directory browser is considered a security risk because it can reveal information about your application that may provide an attacker with clues on how to attempt to breach your security. It is recommended to turn this off.

  2. Tracing under Health and Diagnostics can be used to help diagnose problems with page requests. Alpha Anywhere Application Server for IIS participates in this feature adding diagnosis information to page requests it handles. You are less likely to need this on a production server, but it may be useful on a testing or development server.

  3.  Application Initialization

    Application Initialization under Application Development. Application Initialization allows IIS to pre-load a web application before the first user visits the application preventing the user from experiencing load delays. Application Initialization also allow IIS to continue to use a running application pool while it pre-loads another instance of an application pool for an application pool recycle. This again prevents any load delays to a user using the application. While this feature isn't required it will give end users a better experience using your web applications. If you are using IIS 7.5 you need to complete installation of IIS, follow the steps Install Application Initialization in IIS 7.5 in the appendix to get this feature and then return to IIS role services in the Add Roles and Feature Wizard to add this feature.

  4. Management Service under Management Tools. This is required if you want to remotely manage this IIS instance or if you want to be able to deploy directly to IIS from Alpha Anywhere Developer Edition.

Select Next and then Install on the Confirmation page.

Once the install is complete return to the IIS Install steps to verify the IIS install and then continue from there to install Alpha Anywhere Application Server for IIS and configure direct publishing.

Appendix B

 Alpha Anywhere Application Server for IIS Installed Component Details

There are six modules of note installed for the Alpha Five Application Server for IIS.

  • A5IISInstallServer.exe
  • A5IISBootstrap.dll
  • A5IISManagedPlugin.dll
  • A5IISManagerClient.dll
  • A5IISManagerServer.dll
  • A5IISPublish.dll
  •  A5IISInstallServer.exe

    This program registers all of the components, updates IIS and .NET framework configuration files, sets file read access permissions on IIS' redirection.confg file, will start IIS' built-in state server service ASP.NET State Service and set that service to automatic startup. The installer runs this program. You should not need to run it again unless you are instructed to do so by support.

  •  A5IISBootstrap.dll

    This .NET assembly is used to initialize the configuration of a web application on startup.

  •  A5IISManagedPlugin.dll

    This .NET assembly contains the module and handlers that are used by IIS to service web requests. This is the core of the IIS integration logic.

  •  IIS Manager Extensions

    The .NET assemblies A5IISManagerClient.dll and A5IISManagerServer.dll are IIS Manager Extensions. The client component (A5IISManagerClient.dll) is automatically downloaded from the server where it is installed when a client running IIS Manager connects to the server. A5IISManagerServer.dll provides access to the web.config file sections that make up the Alpha Anywhere Application Server for IIS configuration.

  •  A5IISPublish.dll

    This is technically part of the development environment. A5IISPublish.dll is an assembly that is registered and loaded into the Alpha Anywhere development environment to provide publication services.

Appendix C

 Detailed Steps to Install IIS on Windows 7

  •  Step 1: Open the Control Panel

    Open the control panel by selecting the option from the Start menu. The All Control Panel Items dialog will be displayed.

  •  Step 2: Select Programs and Features

    Double click on Programs and Features from the list of items on the All Control Panel Items display. The Programs and Features dialog will be displayed.

  •  Step 3: Turn Windows Features on or off

    On the left of the Programs and Features dialog you will see a link labeled "Turn Windows Features on or off". Click on this link to open the Windows Features Dialog as shown below.

  •  Step 4: Turn on World Wide Web Services

    If it is not already checked, check the box labeled World Wide Web Services to install IIS. Be sure to open the Application Development Features and check ASP.NET as well. You should see some other items automatically become checked.

    Click the button labeled OK to continue installation.

Appendix D

 Install Application Initialization in IIS 7.5

When IIS Manager starts it will prompt you to download the Microsoft Web Platform Installer if you don't already have it installed. If you do not have it installed already, install it. It should launch after installation, but if it does not or you already have it installed click on the "Get New Web Platform Components" link in IIS Manager when the server node is selected in the Connections pane on the left.

Search for Application Initialization

Click Add and then Install.

Appendix E

 Enabling Shared Configuration

IIS has the concept of a shared configuration where multiple servers use a single configuration stored in a shared folder. This feature is available when the server node is selected in IIS Manager.

Read the IIS documentation for more information on this feature. When this feature is enabled and you choose "Store key with shared configuration" in the Alpha Anywhere Application Server for IIS License Information feature, the license key will be written to a file in the shared configuration folder. The name of the file is Alpha Anywhere Application Server for IIS 12.0.lic