Installing SugarCRM

From Freephile Wiki

A pre-requisite to Importing contacts, you need to install SugarCRM if you do not already have a working system

Dependencies for SugarCRM[edit | edit source]

There are some PHP modules that Sugar relies on, so you may want to check for those prior to installing. Sugar is programmed to use the PHP IMAP module for mailing and the PHP CURL module for getting remote files.

php -m | grep -i curl
php -m | grep -i imap

If those modules are not installed, then you can install them via apt-get

sudo apt-get install php5-curl php5-imap

Download and Install SugarCRM[edit | edit source]

SugarCRM provides easy stack installers which make trying the system as close to a one-click operation as possible. That is great for trying it out. If you are beyond the exploration stage you will want to install into an existing infrastructure, so we'll assume that approach.

  1. Visit the SugarCRM homepage, and click the top navbar link to "Sugar Open Source"
  2. Skip the "Wizard" and go right to the "Download Page" because you know what you're doing and also have a pre-existing setup of Linux, Apache MySQL and PHP
  3. Download SugarCE-5.0.0e.zip (production release) or the later available production release (getting only the application).
  4. Visit the recommended "Installation" instructions page at http://www.sugarforge.org/content/installation/
  5. Install SugarCRM according to the instructions.
    1. The short version is to extract the zip to a place in your webroot
      unzip -d /var/www/ SugarCE-5.1.0a.zip
      
    2. I typically use a symbolic link to make the application home at a friendly URL and easier to manage
      ln -s SugarCE-5.1.0a crm
      
  6. There are a number of directories that Sugar expects to have write access to, but they won't be from the unzip. There are also a couple of configuration files that the installer needs to be able to write to; namely config.php and .htaccess
  7. Execute this simple command to prepare your web directory
# recursively change ownership on the directories and set the sticky bit
for x in cache custom data modules; do sudo chown -R www-data:www-data $x; sudo chmod -R +t $x; done
# change ownership of the configuration files
for x in config.php .htaccess; do sudo chown www-data:www-data $x; done

After the install, I believe you should secure your configuration files with

chmod go -rwx config.php .htaccess