IIS 7.0 Shared Configuration
While I was preparing some demonstrations on Internet Information Services 7.0 for a technical event, I was challenged on how to present IIS 7.0 Shared Configuration feature using my local machine alone. Since I have only a 1G of RAM, I could not create a virtual machine where I could host the shared configuration file. After few glasses of water, I finally came out of a means. And the same technical presentation approach I will be adopting in this piece to guide you in the implementation of this IIS 7.0 configuration system feature.
In my previous piece, I have discussed the general features of IIS 7.0 configuration system, including configuration levels, organization of settings, applicationHost section groups, configuration schema, and other configuration files. On top of that, I have partly mentioned that the same configuration file could be shared across several Web servers in load balancing or farm, it is where IIS 7.0 shared configuration feature is made for.
1. The first step towards sharing an IIS 7.0 configuration file is to export it to UNC share in a File Server, but in my case, for demonstration purposes, I will simply export it to other location in my machine. To do this, let us open our Internet Information Manager, and then double-click Shared Configuration, as illustrated below. The Shared Configuration window will be displayed. It is illustrated correspondingly below.
2. In the Action pane of our Shared Configuration window, let us click Export Configuration. As illustrated below, the Export Configuration dialog box will be displayed.
3. In the same dialog box, let us name the UNC share location where we are going to house our shared configuration. Then again, I have simply pointed it to other local folder for our purpose. Moreover, we need to define a corresponding Encryption Key Password. Then, click OK and we will have shared configuration files. Let us open the location we have defined to verify that applicationHost.config, administration.config, and configEncKey.key files are present.
Enable Shared Configuration
1. The second step is to enable the IIS 7.0 Shared Configuration feature. In our Shared Configuration window, as illustrated below, let us check the Enable Shared Configuration checkbox, specify the physical path of our shared configuration files, supply corresponding credential, and then click Apply in the Action pane. We will be challenged to supply the Encryption Key Password we have previously defined.
2. Upon supplying a valid Encryption Key Password, we will be prompted by a message box telling us that our existing IIS encryption keys will be backed up in the current configuration directory on our local machine. To effect enabling of shared configuration, let us restart our IIS (run > cmd > iisreset /noforce), then let us close and open our IIS Manager. And that’s it! Our IIS 7.0 is already pointed to our shared configuration file.
Disable Shared Configuration
1. An optional step is to disable the IIS 7.0 Shared Configuration. In our Shared Configuration window, let us uncheck the Enable Shared Configuration checkbox, and then click Apply in the Action pane.
2. Upon clicking Apply, we will be prompted by a message box asking us whether to continue using shared configuration files and encryption key or not. This will overwrite our local configuration file at %windir%\system32\inetsvr\config by the shared configuration file. Else, the local configuration file will be used having its previous state.
3. To effect disabling of shared configuration, let us restart our IIS (run > cmd > iisreset /noforce), then let us close and open our IIS Manager. And that’s it! Our IIS 7.0 is already pointed to our shared configuration file.
Staging Shared Configuration
As I mentioned earlier, because of limited resources, I am forced to create a demonstration of this feature locally. NOTE: If you have appropriate resources, it should be demonstrated with File Server and Web Servers (load balancing) in a domain.
1. Export your configuration files through Export Configuration facility of IIS 7.0.
2. Enable the IIS 7.0 Shared Configuration feature.
3. Now that we are already pointed to our shared configuration files, create a Web site.
4. Disable IIS 7.0 shared Configuration feature. Upon being asked to continue using the shared configuration files and encryption key, choose NO to retain the previous state of our local (default) configuration files. And you will notice that the Web site we have previously created (under our shared configuration files) is not reflected as we are pointed to our local (default) configuration files.
5. It partly demonstrates that Internet Information Services 7.0 is exactly using the defined configuration files. It may be shared locally or in a network.