How To Install SugarCRM

Share on LinkedIn

Performing a SugarCRM installation can be difficult if you’ve never done it. There are many articles on the web with instructions but I’ve found all of them, to include the instructions on SugarCRM’s web site, lacking details. And those were pretty much the best set of instructions that existed…until now! I had a colleague, not as familiar with Linux, go through these instructions. If it’s any consolation, he was able to get his SugarCRM server running! This is SugarCRM Community Edition v6.5.20 installed on CentOS 7. These instructions will work with Red Hat 7 as well.

You pick your machine, VM or physical machine. These instructions work on CentOS 7 no problem. They should work on Red Hat 7 and Fedora 21 as well. Don’t skip steps and good luck!

1. Set Time Zone for Server. In this example, CST.

timedatectl set-timezone America/Chicago

2. Install LAMP components and base tools/utilities
**There are additional component below that are not described in the post**

yum install php httpd mariadb mariadb-server php-mysqlnd php-mssql php-opcache php-mbstring unzip nano wget

3. Install EPEL (required to install php-imap for mail capabilities)

rpm -ivh
yum install epel-release

Install php-imap

yum install php-imap

4. Update system and all packages (not required but habit)

yum update

5. Change hostname

hostnamectl set-hostname sugarcrm

6. Set SELINUX to permissive

vi /etc/selinux/config

Find SELINUX=enforcing and change to


Write, Quit, Now


Make sure selinux is turned off for this session (same as permissive)

setenforce 0

7. Enable Firewalld and Allow HTTP on port 80 for public zone

firewall-cmd --zone=public --add-service=http --permanent
service firewalld restart
service firewalld status

8. Enable Service, Start Services, Set To Start Services Automatically on Boot

systemctl enable mariadb.service
systemctl start mariadb.service
systemctl restart httpd.service
systemctl stop firewalld
chkconfig firewalld on
chkconfig httpd on

9. Set AllowOverride to All for the Sugar installation directory
Before you install Sugar, set AllowOverride to All for the Sugar installation directory in the httpd.conf file. After you install Sugar, an .htaccess file is created in your Sugar installation directory.

There are at least 3 instances of AllowOverride. The first is for the root directory (/). The second is for /var/www. The third and the setting you need to change is /var/www/html.

vi /etc/httpd/conf/httpd.conf

Search for AllowOverride (for /var/www/html)

AllowOverride None

Change from None to All
Write, Quit, Now


10. Edit Hosts File (Not necessarily required, just habit. Use the ip of your machine.)

vi /etc/hosts sugarcrm sugarcrm

Write, Quit, Now


11. Edit php.ini file
Navigate to the php.ini file located in your Sugar root directory and set the variables_order parameter to EGPCS.

vi /etc/php.ini

Search for upload_max_filesize and change from 2M to 20M

upload_max_filesize =

Search for variables_order and change from GPCS to EGPCS

variables_order =

Search for date.timezone

; date.timezone =

Uncomment and set to America/Chicago as such

date.timezone = America/Chicago

Write, Quit, Now


12. Reboot the server


13. Download Installation Package and Copy To Linux Machine
Navigate to WWW directory

cd /var/www

When complete, press Enter

Show contents of directory


You should see an html directory and your download which will lead with “” followed by a bunch of other characters

Rename that file to something more manageable (highlight the file to select the exact name)


Show contents of directory


You should see an html directory and your new, abbreviated file

14. Extract zip file to your www directory


You should see an html directory, your new, abbreviated file, and a new directory named SugarCE-Full-6.5.20

Output Example


15. Move contents of SugarCE-Full-6.5.20 directory to html directory

cd SugarCE-Full-6.5.20
mv * /var/www/html
cd ..
rm -rf SugarCE-Full-6.5.20

16. Create empty .htaccess file
Installation is supposed to do this automatically but I ran into problems so I created a blank one that can be written to.

cd /var/www/html
vi .htaccess

Write, Quit, Now


17. Change Owner and make changes recursive

chown apache:apache -R /var/www/html

18. Change Permissions to files and sub-directories

chmod -R 0775 /var/www/html

19. Configure mysql for first use
Setup Root user for first use

mysqladmin -u root password NEWPW

Test root user login

mysql -u root -p

Should now be logged into myslq


20. That’s it. Go to site from web browser

You SHOULD be able to reach the site and SHOULD be able to go through the entire install process from here! If not, we missed something somewhere!



Posted in Linux Applications, Linux SysAdmin and tagged , , , , , , .

Leave a Reply

Your email address will not be published. Required fields are marked *