While installing VMware vCenter 4.x with Microsoft SQL 2008 (R2) installed on the same system you might get the following error message: The following port numbers are either invalid or already in use. VMware VirtualCenter HTTP Port: 80
By default vCenter wants to use port 80 for the HTTP service and using the netstat command you can verify which process is listening on port 80. In my case Windows wasn’t able to show the actual process name other than Process ID 4 which basically tells that the “system” is using the port.
The netstat -abo output displays: “Cannot obtain ownership information” and only shows Process ID 4
A lot of forums on the Internet talk about the fact that this is caused by Windows Remote Management (WinRM) that by default is using port 80. This story isn’t true since Windows Remote Management isn’t listening by default even while it is started as described in this Microsoft article:
By default, no WinRM listener is configured. Even if the WinRM service is running, WS-Management protocol messages that request data cannot be received or sent
Also note that only the WinRM 1.1 and earlier is using port 80 by default when configured.
WinRM 1.1 and earlier: The default HTTP port is 80.
WinRM 2.0: The default HTTP port is 5985.
There is a VMware KB article about this problem that states that it could be IIS or Microsoft SQL Server Reporting Services (SSRS). Since I personally only know this error message from IIS that is using port 80, I wanted to know what the difference was in SQL 2008.
Basically the story is that SSRS now handles HTTP via HTTP.SYS, a native OS kernel that intercepts and handles HTTP requests just like IIS. The reason for Microsoft to use this method is to make the SSRS independent of IIS.
So with this knowledge you can relate to the fact that netstat isn’t displaying the process name other than the process ID 4 which is pointing out to the “system”. To get vCenter Installed on port 80 ensure that the SSRS Service is stopped (or uninstalled when it’s not needed on the system.).