When selecting the SugarCRM On-Site, SugarCRM provides a lot of options around the supported platforms. You have options around the database, operating system, and web server. Before reading further, you might want to take a look at the supported platforms.
After helping hundreds or maybe thousands of SugarCRM customers, I have a strong opinion on this topic. My opinion is that you should only host SugarCRM on a LAMP stack ( Linux, Apache, MySQL and PHP ).
Can it be done other ways? Yes.
Have I helped customers do it with success? Yes.
But, this doesn’t mean that you should and I will tell you why.
For the database, you have 4 options which are MySQL, MSSQL, Oracle and DB2. Oracle and DB2 are only available in the enterprise edition.
Out of these, the majority of SugarCRM users and developers utilize MySQL. This means that any issue with a MySQL version is found and fixed first. Although I can’t confirm this, my understanding is that most of the SugarCRM internal team test and develops against MySQL.
The second most common, from my experience, is MSSQL. I have generally found that connecting PHP applications to MSSQL is a painful experience. If you have done this many times or are used to it then it can go quickly. Otherwise, you will spend a lot of time on what should be a simple setup.
SugarCRM itself didn’t support MSSQL until later versions of the SugarCRM 7. From that, I infer that not enough people host on it and that it added complexity to the solution.
The benefit of MSSQL is that the performance is great and if your IT team is used to it then you can leverage it well.
Oracle and DB2
These are the least used databases with SugarCRM. To me, this means that they see the least number of updates. They also require expensive licenses from Oracle or IBM which adds additional cost.
The other issue you run into here is with support and development. If this is the least used then when you have an issue, you probably need a specific resource familiar with these databases. This also adds complexity in development since the developer will need to work and test against these databases.
Your options for a web server are Apache and IIS and they fall into the same situation as the databases.
Most installations are on Apache which ensures better support, setup, and quick fixes should you run into a problem. I have helped customers set up on IIS and MSSQL stacks but there is significantly less information available on making SugarCRM work in this configuration. It would be fair to say that I have run into more issues related to MSSQL than because of IIS.
The details above are the same for the operating system when comparing Windows and Linux. Most people host on Linux servers so you will find more information on setup when using RedHat, CentOS, Ubuntu and common Linux OS’es.
Since SugarCRM can utilize DB2, companies with IBM products will naturally want to host on IBM servers. I have been down this road and it is a cumbersome path that I would not recommend. There is a lot of marketing information about the IBM SugarCRM partnership but finding people who have setup SugarCRM on various IBM product is few and far between. They do exist but there aren’t many.
The last item doesn’t really have to do with the stack but I thought it would be helpful to mention. Almost all of the SugarCRM modules are built and tested on a LAMP stack. I say almost because I am sure someone bucks the trend but I have never met that person. Most module developers don’t test on any other configurations and will wait until an issue arises on a non-LAMP stack to then fix it.
In conclusion, I would like to point out that I think it is just a numbers game. It isn’t that SugarCRM doesn’t or won’t work well on non-LAMP stack. It is that so many people use it that it is easier to support, develop on, get help with and purchase modules for.