So I’m a little behind on the times. Yes I’ve finally started making the switch from Mapguide Enterprise 2009 to MGE 2010. However, I need to keep 2009 around a little bit longer. This resulted in wanting to configure both 2009 and 2010 on the same server. Configuring Mapguide enterprise 2009 and 2010 on the same machine is possible, and even beneficial in a development environment. Less VMs or servers can be a good thing in these days of crazy virtual machine sprawl. Autodesk however, recommends against doing this in a production environment. You should probably heed this advice if this Mapguide installation is important – even from a workgroup development point of view. Note, these steps should be relevant for the Mapguide Open Source equivalents – though I have not tried it.
After installing Mapguide 2010 (both server and web tier) on a server running 2009 and updating the license manager appropriately, you’ll notice that the service is not running. Attempts to start the service will result in an error message logged in the Windows Application Log that looks a little bit like this:
The description for Event ID ( 0 ) in Source ( MapGuide Enterprise 2010 Server ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: Port 2801 is not available, please try using a different port.
So we need to setup one of the Mapguide installations to use a different set of ports. I’ve chosen to modify the behavior of Mapguide 2010, though these changes could be made for Mapguide 2009 instead. For this process we’ll need three free ports. For simplicity its nice to keep these ports sequential. You will need to ensure that the ports you choose are available on your system.
First we need to edit the serverconfig.ini in the C:\Program Files\Autodesk\MapGuideEnterprise2010\Server\Bin folder. First lets change the Port in the AdministrativeConnectionProperties section from 2800 to lets say 3800. Next in the ClientConnectionProperties section change the port to 3801. Finally change the port in SiteConnectionProperties to 3802.
Next we need to edit the webconfig.ini in the C:\Program Files\Autodesk\MapGuideEnterprise2010\WebServerExtensions folder. We need to update the port numbers in this config to match the numbers in the server config. Remember the web config is the client that will usually be consuming the server service. Finally, as the configuration settings for the web tier may be cached you should restart IIS using iisreset.exe. This will clear the cached port configurations and Mapguide Studio / Mapguide Administration will now work properly.
Once that is done, the 2009 repository can be migrated to 2010 by following the steps included in the Help/MGE2010UpgradingWindows.htm file on your installation disc/folder.
Once MGE 2010 has been installed I had a problem with PHP. Multiple PHPs can be bad news. I’ve found that running both MGE 2009 and 2010 using the PHP provided with 2010 seems to do the trick. First you will need to edit the Windows system path. Update the path variable there to point to the 2010 PHP installation. If a 2010 path variable exists already – remove the 2009 path. Next open the IIS manager and ensure that both the MGE 2009 and MGE 2010 virtual directory trees are pointing to the MGE 2010 php extension in the Application Extension Mappings.
Once these changes have been made, do a quick IISreset and you should now be able to login to both the Mapguide admins, as well as have Mapguide Studio connect to the appropriate servers. Again – this setup could have issues – so consider your environment and needs before configuring a server with both releases of Mapguide.
Remote Web Tiers
If you need to run a shared Mapguide server with web tiers installed on individual development machines don’t forget to set the ports on each development machine. The Mapguide installer will prompt for the Mapguide server IP address – but the webconfig.ini will need to be updated with the appropriate ports manually. Not doing do will result in your web tier talking to the 2009 server – and much confusion =)
Finally one note on IP addressees and remote web tiers. If you plan to use a remote web tier – make sure your Mapguide server is setup using the actual IP address of the server and not 127.0.0.1. If your Mapguide server is configured with 127.0.0.1, you will get a “Cannot establish connection.” error on the remote web tiers when attempting to create and use a session. Using real IP addresses (either internal or external) will prevent this error from occurring.