Last Updated on 4 weeks by Sachin G

As someone who has worked extensively with Linux-based CRM setups, I can confidently say that installing SugarCRM on Linux is one of the most rewarding ways to deploy a self-hosted CRM system . This technical article covers the installation of SugarCRM Community Edition on a Linux server, highlighting prerequisites such as LAMP/LEMP stack setup, PHP extensions, and MySQL database configuration. It provides detailed steps to download, configure, and deploy SugarCRM through a browser-based installer for efficient customer management.

When I first attempted to set it up on an Ubuntu VPS, I was pleasantly surprised by how well it integrates with the traditional LAMP stack — that’s Linux, Apache, MySQL, and PHP . I initially set up SugarCRM using the old open-source version that was once available on SourceForge. While the screenshots reflect that legacy build, I recommend downloading the latest version from SugarCRM’s official site for secure, up-to-date deployments.

Downloading and Extracting SugarCRM

The SugarCRM community edition is no longer officially maintained, but you can still find the last open-source version online (like SuiteCRM, a fork). If you’re working with the commercial edition, you’ll need an account to download the latest build. Download the latest version of SugarCRM Community Edition available at its official site.

Note on Download Source

The version of SugarCRM shown in the screenshots and commands was from the time when SugarCRM’s Community Edition was publicly available on SourceForge.net. I used this version in earlier installations for testing and small-scale client projects. However, keep in mind that this version is outdated and lacks recent security patches and feature updates.

For production environments or live business usage, I strongly recommend downloading the latest commercial version from the official SugarCRM website. Alternatively, you can try SuiteCRM, an open-source fork that continues to be actively developed.

cd  /opt
wget http://sourceforge.net/projects/sugarcrm/files/latest/download -O SugarCE-6.5.23.zip
unzip SugarCE-6.5.23.zip
mv SugarCE-Full-6.5.23  /var/www/html/crm

Preparing Your Linux VPS for SugarCRM Installation

Before anything else, let’s talk about the prerequisites to install SugarCRM on Linux. I used a Ubuntu VPS, though it also works well on Red Hat, CentOS, and other major distributions.

Here we should already configure the environment, where SugarCRM will be run, so we need to configure the Web Server as well as Database server ( MySQL or MariaDB )  with PHP, simply called LAMP or LEMP Server with PHP extensions and libraries.

  • Apache Web Server will be equal to 2.x version or later 2.x+ version.
  • Minimum  Requirement of MySQL or MariaDB
  • PHP 8.x (with required modules) as GD, curl library, with IMAP, SimpleXML, ZIP, ZLIB, and mbstring extension support.

I went with Apache and MySQL for this installation. They’re well-supported and easier to troubleshoot.Start by updating your system:

sudo apt update && sudo apt upgrade -y

Then install the LAMP stack:

sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql php-zip php-imap php-curl php-xml php-mbstring unzip -y

Enable Apache modules and restart:

sudo a2enmod rewrite
sudo systemctl restart apache2

Set up MySQL:

sudo mysql_secure_installation

I always create a separate database and user for each app:

CREATE DATABASE sugarcrm_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'sugarcrm_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON sugarcrm_db.* TO 'sugarcrm_user'@'localhost';
FLUSH PRIVILEGES;

Apache Configuration on CentOS / RHEL / Ubuntu Server :

I created a virtual host configuration for Apache:

sudo nano /etc/apache2/sites-available/sugarcrm.conf

 Add the following:

<VirtualHost *:80>
    ServerAdmin admin@example.com
    DocumentRoot /var/www/html/sugarcrm
    ServerName crm.example.com

    <Directory /var/www/html/sugarcrm>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/sugarcrm_error.log
    CustomLog ${APACHE_LOG_DIR}/sugarcrm_access.log combined
</VirtualHost>

Then enable the site:

sudo a2ensite sugarcrm.conf
sudo systemctl reload apache2

Web-Based Installation & Configuration 

The SugarCRM installer checks server compatibility. If something fails here (as it did for me the first time), it’s usually a missing PHP module. Once passed, the installer asked for:

  • DB connection: I entered the credentials for sugarcrm_user
  • Admin login
  • Site config (URL, language, etc.)

The installer then initialized the database and generated config files. After this, the SugarCRM admin panel loaded successfully.

One thing I ran into during my first attempt was a permissions issue that blocked installation. Lesson learned: always double-check folder ownership and permissions.

STEP 1: SugarCRM Installation

sugarcrm

STEP 2 : SugarCRM Installation

STEP 2 : SugarCRM Installation

STEP 3 : SugarCRM Installation

SugarCRM Installation-3

STEP 4 : SugarCRM Installation

crm_installation_method-1

 

STEP 5 : SugarCRM Installation

crm_installation_method

 

STEP 6 : SugarCRM Installation

crm_database

 

STEP  7 : SugarCRM Installation

crm_admin

 

STEP 8 : SugarCRM Installation

crm_config

 

Login Screen

crm_login

Post-Installation Tweaks & Configuration

So, how do you configure SugarCRM after installation?

From the admin panel, I:

  • Set the default timezone
  • Enabled email notifications
  • Connected an SMTP mail server
  • Created user roles for sales and support

Setting up a CRM system for Linux like SugarCRM was both straightforward and educational. My key takeaways:

  • Always install missing PHP modules before you start
  • Double-check file permissions
  • Use a secure DB user and long, random passwords
  • Monitor server resources — SugarCRM is a bit heavy on RAM