I was setting up a Oracle WebCenter 12c Suite in a local development environment utilizing a Windows Server 2012 R2 Operating System with a Microsoft SQL Server. Instead of using a OHS (Oracle HTTP Server), I wanted to try using Microsoft IIS (Internet Information Services) to handle the forwarding of sub-sites to the specified ports. Since the Oracle applications run specified ports (ex. 16200 for Content Server), when a user requests the domain on the default ports (80 and 443) on browsers it won’t redirect to the content server – example: www.mydomain.com/cs vs. www.mydomain.com:16200/cs. The reason I chose to use IIS was because it is already a feature built-in to Windows Server, and thus is one less application to manage.
That being said, IIS and OHS perform in the same manner but are setup and configured differently based on requirements. Oracle provides documentation about using the Oracle Plug-in for Microsoft IIS, but the content is pretty outdated on the Oracle site. The page first references IIS 6.0, which was released with Windows Server 2003 in April 2003. It has now ended its support as of July 14th, 2015. Lower on the page, they show steps for IIS on Windows Server 2012 R2, which got me started. In the next part of this post, I will review the steps I took to get all functionality working, as well as the limitations/flaws I incurred.
Step 1: Install IIS on the Server
The first part was to install IIS on the server. In Server 2012, open the Server Manager and select Add Roles and Features. From there select the option to add the IIS components.
Step 2: Select Default Web Site
Once IIS has been installed, open it and select the Default Web Site. If you right-click and select edit bindings, you can see the default site is binded to port 80, which is what we want since port 80 is the default port for all web applications.
Step 3: Select Application Pools
Following the instructions from Oracle, download the plug-in and put it in the system folder close to the root level on the desired drive. For this blog, I have it in C:\IISProxy\. For each server (Content Server, Portal, etc) you need to perform configurations in IIS. Open IIS and navigate to the Application Pools section. Select Add Application Pool and create a pool with a specific name for each server. There needs to be separate application pools for specific port forwarding to work correctly.
Step 4: Configure Properties
Once created, open Windows Explorer and create a folder inside IISProxy called “CS.” Copy all he plug-in files into the CS folder. Now open the iisproxy.ini file and configure the properties to match your environment. Make sure to configure the Debug parameter accordingly to tailor on your environment.
Step 5: Select the Created Application Pool
Open IIS and select the Default Web Site option. Right-click and select Add Application. Add the Alias name and select the Application Pool created above. Set the physical path to the folder created above and make sure the connection is setup for pass-through authentication.
Step 6: Set Up Handler Mappings
Once OK has been selected, the application should now be displayed on the tree on the left. The next step is to setup handler mappings for how IIS will handle requests coming in. Click on the “cs” application you just created and on the main display there should be a Handler Mappings icon to click. Double click the icon. This is where we will setup the routing of static files vs content server requests. On the right side, click the “Add Script Map” icon. Add the request path of “*” and add the folder path to the iisproxy.dll. Open the request restrictions and verify the “Invoke handler…” checkbox is unchecked. Open the access tab and select the Script radio button. Click OK and verify the mapping has been applied.
Step 7: Map Static Files
Next, we will setup the mapping for static files. Click “Add Module Mapping” Add “*” for the request path, “StaticFileModule,DefaultDocumentModule,DirectoryListingModule” for the Module and give it a name. Open request restrictions and select the file or folder radio option. Navigate to the access tab and select the read radio button. Click OK and verify the mapping was applied.
Step 8: Verify Mapping Execution
After the mappings have been setup, we need to verify they are executed in the correct order. Do this by going to the back to the handler mappings screen and clicking “View Ordered List”
Step 9: Restart the IIS Server
After these steps are completed, restart the IIS server. To do this, open command-prompt as an administrator and type “iisreset”. Once restarted, you now should be able to view the content server on port 80. If you have other redirects you would like to perform, you can perform the same steps above with a different name (ex. Portal, Inbound Refinery, Console, Enterprise Manager, etc).
With Oracle’s tutorial out-of-date and missing key steps, it was difficult to determine how to set everything up. With some trial and error and investigation, I think I outlined in the 9 steps above how to help you quickly setup IIS with the WebCenter Suite on a Windows environment so specific port numbers are not needed. Obviously with any technology decision, application evaluations should take place to determine if IIS or OHS is a better fit. Good luck, and leave a comment if you have any questions or need further clarification.