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
STEP 2 : SugarCRM Installation
STEP 3 : SugarCRM Installation
STEP 4 : SugarCRM Installation
STEP 5 : SugarCRM Installation
STEP 6 : SugarCRM Installation
STEP 7 : SugarCRM Installation
STEP 8 : SugarCRM Installation
Login Screen
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
I’m Sachin Gupta — a freelance IT support specialist and founder of techtransit.org. I’m certified in Linux, Ansible, OpenShift (Red Hat), cPanel, and ITIL, with over 15 years of hands-on experience. I create beginner-friendly Linux tutorials, help with Ansible automation, and offer IT support on platforms like Upwork, Freelancer, and PeoplePerHour. Follow Tech Transit for practical tips, hosting guides, and real-world Linux expertise!