Monday, March 29, 2010

Moving Reporting Services From 80 port to other

One of my customers had following problem:
SQL Server and Microsoft CRM were deployed on one server. CRM was deployed on 5555 port.

Then Apache was deployed on this server on default port. After this action reports of CRM were broken (because RS works on default 80 port). I've fixed this issue using following steps:

1. I've created dummy website on port 4444.
2. I've opened following folder \MSRS10.MSSQLSERVER\Reporting Services\ReportServer and opened file rsreportserver.config with notepad.
3. I've found following lines:

 <URLReservations>
<Application>
<Name>ReportServerWebService</Name>
<VirtualDirectory>ReportServer</VirtualDirectory>
<URLs>
<URL>
<UrlString>http://+:80</UrlString>
<AccountSid>S-1-5-18</AccountSid>
<AccountName>LocalSystem</AccountName>
</URL>
</URLs>
</Application>
<Application>
<Name>ReportManager</Name>
<VirtualDirectory>Reports</VirtualDirectory>
<URLs>
<URL>
<UrlString>http://+:80</UrlString>
<AccountSid>S-1-5-18</AccountSid>
<AccountName>LocalSystem</AccountName>
</URL>
</URLs>
</Application>
</URLReservations>


and change it to:

 <URLReservations>
<Application>
<Name>ReportServerWebService</Name>
<VirtualDirectory>ReportServer</VirtualDirectory>
<URLs>
<URL>
<UrlString>http://+:4444</UrlString>
<AccountSid>S-1-5-18</AccountSid>
<AccountName>LocalSystem</AccountName>
</URL>
</URLs>
</Application>
<Application>
<Name>ReportManager</Name>
<VirtualDirectory>Reports</VirtualDirectory>
<URLs>
<URL>
<UrlString>http://+:4444</UrlString>
<AccountSid>S-1-5-18</AccountSid>
<AccountName>LocalSystem</AccountName>
</URL>
</URLs>
</Application>
</URLReservations>


4. I've opened SQL Server Management Studio and executed following query against MSCRM_Config Database - Update organization Set SrsUrl = 'http://v1:4444/reportserver'

Where v1 - is server where SQL and SRS were installed and 4444 - port on which reportserver were deployed.

Everything began to work after reboot of server.