There are quite a few good blogs out there on installing Sitecore 9.0 and 9.1.
If you have already installed Sitecore 9.0, then installing Sitecore 9.1 along with it is fine. But if you have installed Sitecore 9.1 and for some reason have to get Sitecore 9.0.x run side by side with it, then you are going to have troubles.
Some issues and resolution:
1. SIF not found or method not present error!
This would most probably be the first issue you run into. Sitecore 9.1 requires SIF 2.0 and Sitecore 9.0 requires SIF 1.2
Since you have already installed SIF 2.0, running powershell install command:
Install-Module -Name SitecoreInstallFramework -Repository SitecoreGallery -RequiredVersion 1.2.1
will install the required version side by side, but that is not enough. The install package for Sitecore 9.0 will still fail with errors like missing modules or incorrect parameters. You MUST uninstall SIF 2.0 to get it to work. Use the Powershell command:
Uninstall-Module -Name SitecoreInstallFramework
Once this is done, execute the register and install commands in PS as per Sitecore 9.0 install guide.
2. Solr error:
This could easily be missed. Most older versions of Sitecore works well with most versions of Solr. But for Sitecore 9.0 and 9.1, you require very specific Solr versions. Refer here.
3. Certificate errors:
This is the most time consuming and challenging part of the process. Your next error would most likely be
Found Cert with thumbprint: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
What the error essentially means is that two certificates were found in the certificate store, when only one was expected. Therefore, it cannot proceed any further. To resolve this, you will have to delete one of the certificates (the older one corresponds to your Sitecore 9.1 certificates and newer one was generated by the Sitecore 9.0 install). The safest option is to delete the older one and continue with the install.
4. More certificate errors:
“Certificate not found” would be the most common error you will run into. The reason is that the certificate was not available in the “Trusted Certificate Store”. In my case, I had to manually export the certificate (with the private key) and import it to the Trusted Store.
5. Other certificate errors
You might see more certificate related errors. It mostly likely would be because you have quite a few self-signed used/unused certificates in the certificate store. You will have to delete those using PS commands. A quick Google search will give a bunch of relevant results for the command.
6. Database profiles error:
Next, you may encounter common installation errors with the database profiles. For this, you will have to remove the following users from the corresponding databases:
a. marketingautomationuser from *_MarketingAutomation DB
b. messagingusre from *_Messaging DB
c. pooluser from *_Processing.Pools DB
d. taskuser from *_Processing.Tasks DB
e. referencedatauser from *_ReferenceData DB
Now, you will have a working Sitecore 9.0 website! Congrats!
But when you try to load the older Sitecore 9.1 website that you already had, you will see newer errors related to certificates...
7. Recreate new self signed certificate
Since you deleted the older Sitecore certificate (in step 3), you will have to recreate a new self-signed certificate (with private key and imported to trusted store). You'll need to assign it to the required websites and update the config files where the older certificate thumbprint was present. Once all the appropriate config files and IIS bindings are updated, you'll be set.
At this stage, you'll have a functional Sitecore 9.1 and Sitecore 9.0 website running on your machine.