I have managed to install the trial version of FMS - developer 4.5 using the defaults including Apache, and it works reasonably well. However it has used-up all the available IP addresses so that IIS does not now work. I need IIS and FMS to reside together on the same server, as IIS provides document download and upload for our web-site on a different server. I have tried changing the FMS.ini file to limit the IP and Ports used, but to little use. My server is Win2k8 R2, and IIS V7.5 + V7.0 for FTP; all 64bit.
Kind regards Ken Birch
Thank you for your interest. In answer to the points you raised.
1. Yes I did restart FMS and also I restarted the machine as well. Here is the part of the ini file I used:-
# IP address and port(s) Flash Media Server should listen on
# For example:
# ADAPTOR.HOSTPORT = :1935,80
ADAPTOR.HOSTPORT = 184.108.40.206:1935,80
2. I did not use 'netsh' as I do not know how to. However I have assigned each of the 4 other IP4 addresses for this machine to individual web-sites, all bound to port 80. The above setting in FMS allowed me to do this.
I am unable to access the web-sites recieving a 404 error from IIS, so it would appear that I am getting too IIS but all the paths have stopped working.
The FMS appears to working correctly as I can view all of the samples externally, and have viewed an MP4 file my collegue has produced, as well as an FLV file.
Would changing the FMS proxy from Apache to IIS help?
If you have any ideas, I would be greatful.
Regards Ken Birch.
You really do need to disable socket pooling on IIS. Assigning IP's to individual sites won't prevent IIS from binding to all IP addresses. What likely happened is that FMS started before IIS, so it was able to bind to the configured IP
You can test this by doing the following:
1. Stop the FMS and IIS services
2. Start IIS
3. Start FMS
If you can't access FMS on port 80, or if the FMS logs show bind errors, IIS is still binding to all IP's.
See the documentation on netsh to set a specific group of IP's for IIS to bind to.
I did as you suggested, but I had also to delete the browser history to get it not to work with the HTTP streaming; however the RTMP was still working and at present that is what we need for our production server. However I think it would be a good idea to investigate this issue for future requirements. Would using IIS instead of Apache as the http server help to solve this problem, or even side-step it.
I looked into the 'netsh' documentation but as it is a command-line interface that does so much, it is very difficult to know what to do in this circumstance. Most of the books I have on IIS and Win2k8 assume that you are using the Windows wizard type interfaces and gloss over anything to do with the Net-Shell command-line utility. I have looked at netsh's sub-contexts but I do not know where to find the required commands to control IIS's IP addresses and ports; posibilities are 'netio', 'http', 'winhttp', 'interface', 'lan', 'winsock' and 'wlan'; but I can get no further. If you have any suggestions or can recommend a web-site or book that can help I would be most greatful.
Regards Ken Birch
I have looked on the IIS web-site and found the answer, it is the 'http' sub-context of 'netsh' and the command to use is 'add iplisten ipaddress=xxx.xxx.xxx.xxx'. I did this for the 4 IP addresses that IIS uses and restarted the machine. Everything worked correctly, I then as you suggested stopped both IIS and FMS and restarted them, IIS first then FMS; and it still works!
Apparently it was not IIS that was causing the problem but a Windows start-up service 'http.sys' that was grabbing all of the port 80's, and defining an ip-listen list stopped this 'default' behaviour.
Thank you again for your help, regards Ken Birch.