|Photo by ivanpw/Flickr|
Due to the extensive amount of hosting providers that are available today, building and maintaining a comprehensive list of all those compatible for use with SugarCRM is a daunting and difficult task for any single individual such as myself. However, it is also not necessary to do so, as the answers to a few questions should suffice in determining the suitability of any provider.
Before you sign up, ask these questions:
1. Which version of PHP is installed?
An answer such as PHP 5 will not suffice. It needs to be exact, such as PHP 5.3.1. While there are many versions of PHP that are compatible with SugarCRM, there are also a number of them that are not. It is worth noting that many hosting providers have a tendency to use the latest versions of PHP. This is sometimes a problem for SugarCRM as said versions may not yet have thoroughly tested. One should not assume that SugarCRM will work because the server is using the latest release.
2. How often is PHP updated and can I revert to an older version if necessary?
One common problem SugarCRM users encounter on shared hosting providers is that the provider will at random update the version of PHP in use. That action unto itself is not a problem, except that sometimes the update is to a version of PHP that is not supported by SugarCRM. The ability to switch to a different version (one supported by SugarCRM) would be a helpful capability.
3. What is the memory limit for PHP?
This is one of the most important factors. Anything below 64MB is unusable for SugarCRM. If it is less than 128MB, you will only be able to run SugarCRM Community Edition. For this scenario, the higher the number, the better.
4. Are CRON jobs allowed?
CRON is a scheduling mechanism that functions at the operating system level. If it is not allowed, the automation of tasks such as sending campaign emails, retrieving group email, pruning the database and other tasks listed in the Sugar Scheduler becomes hindered. Alternate methods to automate it would need to be used, but the chances of alternate methods being available are likely even less of an option if CRON is not available.
5. Are the following extensions available: IMAP, mbstrings, zip, curl?
Some providers choose to disable some PHP extensions, or added functionality, for their own specific reasons. Unfortunately, some of them are required for SugarCRM. For example, the IMAP extension is used to retrieve and send email, while mbstrings is used for double-byte character support. There are no workarounds should they not be available.
6. What are the maximum allowed values for max_input_time and max_execution_time?
Both should allow at least 300 seconds, which equates to 5 minutes. Shorter time windows tend to cause problems with the execution of updates, upgrades or installation of modules. Actions that process a large number of records -- such as globally updating 1 or more fields on X number of contacts -- can also be hindered or fail.
7. Are there any PHP caching or accelerators in use?
One of the easiest methods for enhancing performance of SugarCRM is by means of a PHP caching or acceleration tools. Some common options are: memcache, APC, Zend and eAccelerator. It is not required by SugarCRM, but is of great help on shared environments.
8. Do you offer shell access?
While not mandatory, having it is rather helpful. Shell access allows one to execute commands at the console and often times greatly facilitates the process of applying customizations and/or troubleshooting problems.
9. What are the disk space usage limits?
Email attachments, documents, attached files and other similar files associated with SugarCRM records are all stored in a specific folder within the SugarCRM install folder. As with the memory limit, the higher the number, the better, as it would allow one to store more files. SugarCRM does not have a defined minimum value, but anything less than 1 GB is likely to become a problem in a short amount of time, specially with a lot of users. On a related note, ask whether or not any potential limits also apply to the MySQL databases.
10. Are there any bandwidth restrictions?
Lastly, one needs to know of any hidden costs that might be incurred through day-to-day usage of SugarCRM. These are likely to come in the form of bandwidth limits. Be sure to ask of any potential limits and associated costs should they be exceeded. Most providers today offer unlimited bandwidth, but it is always worth asking.
If ever in doubt about the information you have received and its suitability for use with SugarCRM, consult the official SugarCRM system requirements page:
Some final notes on specific providers:
- I have been a long time fan of Hostgator due to the value-to-price ratio. Unfortunately, its 64MB limit for PHP memory makes it impossible to use for hosting anything other that the Community Edition, although, I wonder for how much longer. As a result, I am no longer actively promoting its use.
- TMDHosting is my new, preferred provider. The value-to-price ratio is not only better than Hostgator, but they also heavily focus on SugarCRM. Performance is noticeably superior to most other hosting providers and it is hard to beat the 512MB memory limit without actually getting a dedicated server.
- I strongly discourage the use of GoDaddy and PowWeb. GoDaddy offers some low end subscriptions that have key PHP extensions disabled, namely IMAP -- remember, there are no workarounds to missing PHP extensions. PowWeb, on the other hand, has proven to be significantly poorer on the performance side. Coupled with the fact that it also tends to be a bit more expensive than both Hostgator and TMDHosting, there is little about it that is attractive.
Do you have any other tips you would like to share with others?