How to successfully migrate SmarterStats


Here’s the scenario: You are tasked with migrating the current installation of SmarterStats to a new server. What steps do you take to prepare and execute this task to ensure that it is completed successfully?

Well, it’s as easy as 1,2,3. So here are the 3 broad steps to successfully migrate SmarterStats to a new server:

  1. Install SmarterStats 10.5 on the new server
  2. Setting up SmarterStats 10.5 as an IIS website
  3. Migrate the SmarterStats logs and configurations from existing server

Before we dig into the details of the 3 steps, here’s a quick look at the source and destination environments:

Source environment (existing)

  • Windows Server 2008
  • IIS 7.0
  • SmarterStats 8

Target environment (new)

  • Windows Server 2012 R2
  • IIS 8.5
  • SmarterStats 10.5

Step 1 – Install SmarterStats 10.5 on the new server

Well, this is definitely the easiest step to complete. All you need to do is to download the software and use the wizard to run through and complete the installation of SmarterStats.

Visit this site to download SmarterStats 10 : https://www.smartertools.com/smarterstats/downloads. You should see the following downloaded file: SmarterStats10_Setup.exe

The installation consists of two parts – an initial install and a subseqent setup part.

Part 1: SmarterStats 10.5 Installation

Follow the wizard and make the following selections:

  • Accept the licence agreement
  • Destination Location (e.g.) : C:\Program Files (x86)\SmarterTools\SmarterStats\

smarterstats-4

Part 2: SmarterStats 10.5 Setup

Click on Begin Setup and enter or select the following (don’t worry too much about this part as you will be migrating these information over from the existing server, and so it will be overwritten):

  • License Setup: leave licence key blank (using free version)
  • Create System Administrator
    • Username: <your admin user name>
    • Password: <your admin password>
  • Default System Settings
    • SmarterLogs Path (e.g): C:\SmarterLogs
    • Time Zone: <Select your time zone>
  • Default SMTP Settings (left blank for now)

smarterstats-7

Step 2 – Setting up SmarterStats 10.5 as an IIS website

Now that installation is done, let’s move on to disabling the built-in web server and setup an IIS SmarterStats website for admins to carry their tasks. Here’s an overview of the tasks for this step:

  • Disable the default SmarterStats web server
  • Add IIS ISAPI components required by SmarterStats
  • Create an IIS application pool for use by SmarterStats
  • Create a new IIS SmarterStats website
  • Verify the IIS settings

2.1 Disable the default SmarterStats web server

Follow these steps to stop and disable the default Web server that is included with SmarterStats. This will also have the side-effect of disabling any shortcut for SmarterStats that may be placed on your desktop until you update it with the new URL for the SmarterStats site created in IIS.

  • Click on the Windows icon (bottom left – Windows 10 Start button) and then on the desktop scroll to find in the SmarterStats section the SmarterStats Web Server Config icon
  • Click on the SmarterStats Web Server Config icon to launch it
  • Click on the Stop button
  • Change the Startup Mode to Disabled
  • Click on the Apply button

To confirm that it’s disabled, open up Windows services, and look for the SmarterStats Web Server. It should now have a status of stopped, and a start up type of disabled.

Note:

You can also stop and disable the SmarterStats Web server from within the Services administrative tool if you are more comfortable using the Windows Server admin tool set.

smarterstats-15  smarterstats-16

2.2 Add IIS ISAPI components required by SmarterStats

Follow these steps to add the necessary IIS components:

  • Click on Server Manager, and click Manage on the top menu
  • Select Add Roles and Features
  • Select Role-based or feature-based installation for Installation Type
  • For Server Selection, choose Select a server from the server pool, and click on the server to manage (this will be the name of the local server where you have just installed SmarterStats 10.5 in the previous step)
  • In the Server Roles, ensure the following features are selected:
    • ASP.NET
    • .NET Extensibility
    • ASP
    • CGI
    • ISAPI Extensions
    • ISAPI Filters
  • Add these features

smarterstats-17  smarterstats-20

2.3 Create an IIS application pool for use by SmarterStats

Let’s create an IIS application for use by SmarterStats. Here are the steps:

  • Click Server Manager, Tools and then Internet Information Services Manager
  • Right click on Application Pools from the tree view and choose Add Application Pool
  • Name the new application pool SmarterStats, or something similarly easy to identify
  • Set the .Net Framework Version to v4.0.x
  • Set the Application Pools Managed Pipeline to Integrated
  • Ensure Start application pool immediately is checked
  • Click OK

smarterstats-21

2.4 Create an IIS SmarterStats website

Now that the IIS ISAPI components are added, and an application pool for SmarterStats is created, we can go ahead and create the SmarterStats website as follows:

  • If Internet Information Services Manager is closed, then click Server Manager, Tools and then Internet Information Services Manager
  • Click on your IIS ServerName, and on the right side, under IIS, double-click ISAPI and CGI Restrictions
  • Verify that ASP.NET v4.0 is allowed (If not, right click on ASP.NET v4.0.x and select Allowed)
  • On the left side of the page, right click on Sites in the tree view and choose Add Website
  • Name the site SmarterStats
  • If you created an Application Pool name other than SmarterStats, click Select and choose the correct Application Pool
  • For the physical path, browse to the SmarterStats -> MRS folder. The default location is C:\Program Files (x86)\ SmarterTools\SmarterStats\MRS
  • For Binding, choose an IP address to use for Webmail. If this IP address is shared with another Web site, you will need to use a different port or Host Headers. For more information about using Host headers, refer to the IIS documentation
  • Make sure Start Web site immediately is checked
  • Click OK

smarterstats-22a  smarterstats-22b

2.5 Verify IIS settings

Finally, let’s verify the IIS settings that were applied.

  1. In IIS Manager, click on your IIS ServerName
  2. Under IIS, double click ISAPI and CGI Restrictions
  3. Verify that ASP .NET v4.0 is allowed. If it is not, right-click on ASP .NET v4.0 and select Allowed
  4. In the tree view, click Sites
  5. Expand (or double click) the SmarterStats site
  6. Click on the App_Themes folder
  7. Under IIS, double click HTTP Response Headers
  8. Under the Action menus, click Set Common Headers
  9. Enable the Expire Web content setting
    1. Click After
    2. Add 7 for the number of days
  10. Click OK
  11. Click on Application Pools in the tree view
  12. Right click on the SmarterStats application pool and select Advanced Settings
  13. Under the Process Model heading, ensure the the Identity is set to the NetworkService account
  14. Click on Server Manager, Tools menu, Services, then verify that the World Wide Publishing Service is running

Step 3 – Migrating SmarterStats logs and configurations from existing server

Here are the steps to migrate the configurations from an existing installation to a new installation:

  • Create a folder for SmarterStats logs and copy over the SmarterStats logs from the existing server
  • Confirm that Network Service has full control permissions on the following folders and their subfolders and files:
    • SmarterStats program folder, e.g. C:\Program Files (x86)\SmarterTools
    • SmarterStats logs folder, e.g. C:\SmarterLogs
  • Stop the SmarterStats service, SmarterStats application pool and IIS site on both the existing and new servers
  • On the new server, make a copy of the following files before replacing them with the copy from the existing server:
    • AppConfig.xml (called it something like AppConfig-orig.xml)
    • Any site xml files (most likely none for a new install if no sites were added)
    • SiteList.dat (name it SiteList-orig.dat)
  • Copy AppConfig.xml from the existing server to the new server, and place it in the App_Data\Config folder, replacing the existing file, e.g C:\Program Files (x86)\SmarterTools\SmarterStats\MRS\App_Data\Config\
  • Open AppConfig-orig.xml and look for an XML element similar to this (the ServerName and ServiceKey attributes will be different for you):
    <RemoteServer ServerID=”1″ ServerName=”your-new-server-name” IP=”127.0.0.1″ ServiceKey=”the-new-generated-service-key-digits” />
  • Copy the RemoteServer XML element and replaced this same element in AppConfig.xml. Please note that AppConfig.xml is now the one that you copied over from the existing server. We want to ensure that we’re using the values from the newly created RemoteServer XML so that SmarterStats is using the new server name and service key, but keeping the other configurations which was migrated from the existing server.
  • Copy the XML site definitions and configurations file from your existing server and place them in the following folder:
    C:\Program Files(x86)\SmarterTools\SmarterStats\MRS\App_Data\Sites\
    If IIS site ID has changed, open up each site’s xml configuration file and update them, i.e. look for these: W3SVCx, where x is the site id.
  • Copy across the Site List data file, i.e. copy the following file to from the existing server and place it in its corresponding location on the new server, i.e.:
    e.g. C:\Program Files (x86)\SmarterTools\SmarterStats\Services\SiteList.dat
    The SiteList.dat file is usually empty after a new installation
  • Start the SmarterStats service (Windows services) on the new server
  • Start the IIS SmarterStats site and application pool on the new server
  • Log into as admin and check the following:
    • Sites, users and configurations have been successfully picked up by SmarterStats
    • Logs are imported for all sites
    • Reports are generated for new IIS logs

Important notes:

  • You need to update the xml and dat files that you have copied across from the existing server if the following have changed on the new server:
    • SmarterStats logs location
    • IIS logs locatioin
    • IIS site ID, and hence their logs folder names, i.e. those folder that begins with W3SVCx, where x = site ID
  • Also, you need to use the new ServerName and ServiceKey attributes in the RemoteServer XML element in AppConfig.xml that was generated when you install SmarterStats on the new server

That’s all there is to it. If everything works as expected, then you have successfully upgraded and migrated SmarterStats to a new server.

Advertisements

One thought on “How to successfully migrate SmarterStats

  1. This is an awesome step-by-step. I have been having issues with the built-in SmarterStats web server crashing randomly, so I have been looking to move it to an IIS site, and your guide made it a piece of cake! Thanks for the help!

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s