If you are faced with installing Sage CRM for the first time then is can be a little daunting. This is especially true when you need to think about not only the required hardware and software but application and system security and the possible need to cope with large numbers of users and making sure that those users experience the best system performance possible.

But the best way to start anything is to begin at the beginning.

The first thing you need to do is to gather together all the information that you will need and make sure that you have access to the latest documentation and help resources.

The main guides you will need are the following

  • System Administrator Guide
  • Software Guide & Mobile Features (formerly called the Support Matrix)
  • Release Notes

These are updated for each version of Sage CRM but you can find these on the community.

The documentation for each supported version of Sage CRM can be found here: http://help.sagecrm.com/ 

These guides together will provide you with the details of the system requirements and minimal hardware recommendations. It is very important to check all the versions of the proposed system right the way from the database version to the browser to be used and the version of Microsoft Office that the customer wishes to use.

Another useful resource downloadable from the Help Center is the implementation Workbook which provides a series of steps through the process of implementation from gathering the requirements to system review after go live and beyond.

The Installation and Upgrade section within the System Administration Guide provides the most detailed path through the process of installing Sage CRM and I don't intend to duplicate that in this article.

It nevertheless is useful to emphasise a few points. In an earlier article about "System Architecture" I discussed the hybrid nature of the system design. Sage CRM is a product in transition.

The eware.dll part of the system uses ADO when interacting with the database and the Java based features use JDBC.

This means that when using MS SQL Server installs TCP/IP must be enabled and the SQL server needs to have a case insensitive collation. Collations specify the rules for how strings of character data are sorted and compared, based on the norms of particular languages and locales.  A binary collation, or a case sensitive collation, is not supported by Sage CRM.

We typically do not have to worry about the collation on new installs of Sage CRM as CRM does not inherit the default database Server collation, it creates its own collation on the Sage CRM database during the installation process. These collations are:

  • For EN Installations = Latin1_General_CI_AS
  • For DE Installations = Latin1_General_CI_AS
  • For ES Installations = Modern_Spanish_CI_AS
  • For FR Installations = French_CI_AS
  • For CS Installations = Chinese_PRC_CI_AS

Understanding about the collations used by different systems becomes important during the customization of the system when you may need to create connections to 3rd party databases such as accounting or other back office databases. That is discussed in other articles concerned with advanced customization.

The Initial Database Size can also be set during installation. The default setting of 512 MB can be changed but the size must be an integer and the minimum is 50

E.g.

1024 (for 1 GB)
2048 (for 2 GB)
4120 (for 5 GB)
10240 (for 10 GB)

The planned size of the database is going to have a important bearing on the system requirements which I will discuss later in this article.

Another thing to point out is that database server authentication must be configured for SQL Server and Windows Authentication Mode

You shouldn't use the database 'sa' user in a live system. The database logon used by Sage CRM needs to have the rights to add, delete, and change data in every table within the Sage CRM database.

As you run the installation program it will check for prerequisite software and install it where possible. It will also carry out automatic configuration of the system especially of the web server to make sure that the necessary modules are installed.   Where it can not carry out the automatic installation of the prerequisite software then it will prompt you. For example on IIS 7 onwards it will check whether the following extensions are installed on the web server as these are necessary for Sage CRM to function.

  • ASP
  • ISAPI EXTENSIONS
  • ISAPI FILTERS

It will display a message

Setup has detected that your IIS installation is incomplete. The following components are missing or not installed correctly:
<component1>
<component2>
<componentN>

You then can check these are available.

The Installation and Upgrade section of the System Administration Guide makes a number of general recommendations about the hardware and software to use. There are general observations on the hardware such as

  • The Web Server should use disk mirroring (RAID 1).
  • The Database Server should use a RAID 10 disk array system.

If you have a larger implementation that you should use a fibre channel SAN and every customer should ensure backup and recovery capabilities. Among these capabilities the documentation recommends the use of a ‘Hot stand-by’ system, an Uninterruptible Power Supply and that Hyper-threading should be turned off in older CPUs.

But how do we plan for the memory to be used in the server? Should we think about splitting the database from the web server or even think about multiple web servers?

Below is an graphic based on the information in the System Administration guide that may help.

When thinking about the number of 'users' within the system I actually prefer to think about the number of 'actors' who interact with the database and their relative number of SQL transactions. The users who log on are the obvious 'actors' but you might not think of the Exchange Integration engine or an integration with a Sage BMS as an actor but these may generate significant interactions with the database. Where companies encourage mobile computing then the iPhone or Windows apps add to the load the system carries as does a web services based application. Even the escalation and keyword search indexer services act on the database with frequent SQL queries. And some of these 'actors' actually interact with the database far more frequently and intensely that a simple 'sales' user.

This means that the prospect of implementing a multi-server environment may be sooner than you first thought.