Install multiple instances of inRiver PIM
inRiver version 6.3.0 SP2
From inRiver Wiki: "From version 6.3 it is possible to have multiple inRiver servers in one system" inRiver Wiki (requires login)
For this walk-through I will use the Customer1 and Customer2 as the names on the instances installed.
First instance
Download and install inRiver PIM
Once the installation starts, choose Advanced installation Set server address: http://localhost:8080/ Set installation folder: C:\Program Files\inRiver AB Customer1
Set database connectionstring
Data Source=.;Initial Catalog=Customer1PIM;User ID=dbUserCustomer1PIM;Password=inriver123
Set web portal name: inRiver Web Portal Site Customer1 Set app pool name: inRiverWebPortalAppPoolCustomer1
Run installation
Create database Customer1PIM with filestream enabled
Create login dbUserCustomer1PIM with password inriver123
Map the login to Customer1PIM database with db_owner role
Enable configurations
Rename file "C:\Program Files\inRiver AB Customer1\inRiver Server\inRiver.Server.exe.Config.Sample" to "C:\Program Files\inRiver AB Customer1\inRiver Server\inRiver.Server.exe.Config"
Rename file "C:\Program Files\inRiver AB Customer1\inRiver Connect\inRiver.integration.exe.config.Sample" to "C:\Program Files\inRiver AB Customer1\inRiver Connect\inRiver.integration.exe.config"
Change configurations
In C:\Program Files\inRiver AB Customer1\inRiver Server\inRiver.Server.exe.Config, change the message queue names
<add key="ServerInternalLogMessageQName" value="Customer1ServerInternalLog" /> <add key="ConnectNotificationMessageQName" value="Customer1ConnectNotifications" />
In C:\Program Files\inRiver AB 3 Customer1\inRiver Connect\inRiver.integration.exe.config, change the message queue names
<setting name="ServerListenerMessageQName" serializeAs="String"> <value>Customer1ServerListener</value> </setting> <setting name="ConnectInternalLog" serializeAs="String"> <value>Customer1inriverConnectInternalLog</value> </setting> Delete services created by inRiver installation
In a command prompt with administrative privileges run the following commands
C:\>sc.exe delete InRiverConnectWindowsService6 C:\>sc.exe delete InRiverServerWindowsService6 Create services for the inRiver server and connect services
In a command prompt with administrative privileges run the following commands C:\>sc.exe create inRiverServerServiceCustomer1 binPath= "C:\Program Files\inRiver AB Customer1\inRiver Server\inRiver.Server.exe" start= auto C:\>sc.exe create inRiverConnectServiceCustomer1 binPath= "C:\Program Files\inRiver AB Customer1\inRiver Connect\inRiver.Integration.exe" start= auto depend= inRiverServerServiceCustomer1 C:\>sc.exe start inRiverServerServiceCustomer1
Navigate to http://localhost to verify inRiver web portal is up and running
Second instance
Copy the folder "C:\Program Files\inRiver AB Customer1" to "C:\Program Files\inRiver AB Customer2" Give the user IIS_IUSRS full control on the folder "C:\Program Files\inRiver AB Customer2\inRiver Web"
Change configurations
Open the file C:\Program Files\inRiver AB Customer2\inRiver Server\inRiver.Server.exe.Config in a text editor
Change server address(use a different port than 8080)
<add key="ServerUrl" value="http://localhost:9090/" /> Change message queue names
<add key="ServerInternalLogMessageQName" value="Customer2ServerInternalLog" /> <add key="ConnectNotificationMessageQName" value="Customer2ConnectNotifications" /> Change IntegrationRestServerUrl(use a different port than 8081)
<add key="IntegrationRestServerUrl" value="http://localhost:9091/" /> Change connectionstrings
<connectionStrings> <add name="inriver" providerName="System.Data.SqlClient" connectionString="Data Source=.;Initial Catalog=Customer2PIM;User ID=dbUserCustomer2PIM;Password=inriver123"/> <add name="inriverResources" providerName="System.Data.SqlClient" connectionString="Data Source=.;Initial Catalog=Customer2PIM;User ID=dbUserCustomer2PIM;Password=inriver123"/> </connectionStrings>
Open the file C:\Program Files\inRiver AB Customer2\inRiver Web\Web.config in a text editor
Change server address
<add key="ServerUrl" value="http://localhost:9090/" /> Change client endpoint
<client> <endpoint binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IIntegrationService" contract="IntegrationServiceReference.IIntegrationService" name="WSHttpBinding_IIntegrationService" address="http://localhost:9090/IntegrationService/"/> </client>
Open the fileC:\Program Files\inRiver AB Customer2\inRiver Rich Client\inRiver.RichClient.exe.config in a text editor
Change server address
<setting name="inRiverServer" serializeAs="String"> <value>http://localhost:9090/</value> </setting>
Open the file C:\Program Files\inRiver AB Customer2\inRiver Model Tool\inRiver.PIM.ModelTool.exe.config in a text editor
Change server address
<setting name="inRiverServer" serializeAs="String"> <value>http://localhost:9090/</value> </setting>
Open the file C:\Program Files\inRiver AB Customer2\inRiver Connect\inRiver.integration.exe.config in a text editor
Change server address
<setting name="inRiverServerUrl" serializeAs="String"> <value>http://localhost:9090/</value> </setting> Change message queue names
<setting name="ServerListenerMessageQName" serializeAs="String"> <value>Customer2ServerListener</value> </setting> <setting name="ConnectInternalLog" serializeAs="String"> <value>Customer2inriverConnectInternalLog</value> </setting> Change OwinRestServerUrl
<setting name="InternalOwinRestServerUrl" serializeAs="String"> <value>http://localhost:9091/</value> </setting> Create database
Create database Customer2PIM with filestream enabled Create login dbUserCustomer2PIM with password inriver123 and map the login to Customer2PIM database with db_owner role
Create website in IIS
Add website
Create services for the inRiver server and connect services
In a command prompt with administrative privileges run the following commands
C:\>sc.exe create inRiverServerServiceCustomer2 binPath= "C:\Program Files\inRiver AB Customer2\inRiver Server\inRiver.Server.exe" start= auto C:\>sc.exe create inRiverConnectServiceCustomer2 binPath= "C:\Program Files\inRiver AB Customer2\inRiver Connect\inRiver.Integration.exe" start= auto depend= inRiverServerServiceCustomer2 C:\>sc.exe start inRiverServerServiceCustomer2 Navigate to http://localhost:81 to verify inRiver web portal for Customer2 is up and running NOTE: If you use host name on the websites, all inRiver Web Portals could run on port 80. This way it is easier to remember the url for each inRiver Web Portal
