SugarCRM

Customer relationship management (CRM) consists of the processes a company uses to track and organize its contacts with its current and prospective customers. CRM software is used to support these processes; information about customers and customer interactions can be entered, stored and accessed by employees in different company departments.

SugarCRM is an open-source CRM system which also has a variety of commercial editions.
Pre-requisites

  • Linux
  • Apache
  • PHP
    Increase the memory_limit in /usr/local/lib/php.ini to 40MB or higher for MySQL
  • MySQL

Installation
Download the latest Sugar Community Edition (5.2.0e at time of writing):

cd /extra/src
wget http://www.sugarforge.org/frs/download.php/5446/SugarCE-5.2.0e.zip
unzip -q SugarCE-5.2.0e.zip

Create a folder structure for the website and move the Sugar files into it:
mkdir /var/websites/sugarcrm
mkdir /var/websites/sugarcrm/htdocs
mkdir /var/websites/sugarcrm/logs
mv SugarCE-Full-5.2.0e /var/websites/sugarcrm/htdocs/

Adjust the ownership on the Sugar files:
cd /var/websites/sugarcrm/htdocs
chown -R nobody:nobody SugarCE-Full-5.2.0e
cd SugarCE-Full-5.2.0e
chmod -R ugo+w cache custom data modules config.php
chmod 766 config.php

Create the VirtualHost directive in /usr/local/apache2/conf/extra/httpd-vhosts.conf:
<VirtualHost *:80>
  ServerName sugar.domain.com
  DocumentRoot /var/websites/sugarcrm/htdocs/SugarCE-Full-5.2.0e

  <Directory /var/websites/sugarcrm/htdocs/SugarCE-Full-5.2.0e>
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>

  ErrorLog /var/websites/sugarcrm/logs/sugar-error_log
  CustomLog /var/websites/sugarcrm/logs/sugar-access_log combined
</VirtualHost>

The Sugar web installer will create the database and can also add a user for accessing it.