Linux Guide/Installing SugarCRM On Linux
Here is how I installed SugarCRM on a new PC:
- Download the four Fedora Core 4 image files and make install CD’s
- Install Fedora Core 4 using the standard “Workstation” settings ( don’t use the Server setup as it will put all the Apache, PHP, and MySQL files in the wrong place. Enable Firewall, Enable SELinux, Install Default Software Packages )
- Finish Installing, Reboot, Login as ‘root’
- After booting, click Desktop -> Security -> Security Level ( if using Gnome GUI ), check the box next to WWW (HTTP), click OK to close.
- Launch WEB browser
- From http://www.mysql.com/ download the v4.1.12 MySQL Linux x86 RPM Files, you will need the Server, Client Program, Libraries & Headers, and Dynamic Client Libraries.
- From http://www.php.net/ download PHP 4.3.11 (tar.gz)
- From http://www.apache.org/ download Apache 2.0.54 (tar.gz)
- Copy downloaded files to /usr/src directory
- Open a terminal window, Applications -> System Tools -> Terminal
- Type the following in the terminal to install MySQL
#cd /usr/src #rpm -i MySQL* ( don’t worry if MySQL fails to start ) #mysql_install_db #mysqld_safe & < hit enter again >
- Now set the root password for MySQL
#mysqladmin –u root password ‘enter-new-root-password-in-single-quotes’
- Now check to see if install was successful
#mysqlshow –p Enter Password:
You should see something like:
Databases --------- mysql test
- Now we need to set the ‘root’ password to the old password format and delete the blank user that was created automatically when MySQL was installed.
#mysql –u root –p Enter Password: mysql>SET PASSWORD FOR ‘root’@’localhost’=OLD_PASSWORD(‘New-Password’); mysql>use mysql mysql>delete from user where User=’’; mysql>quit
- Now MySQL is installed and we need to install Apache and PHP. Type:
#gzip –d httpd-2.0.54.tar.gz #tar xvf httpd-2.0.54.tar #gunzip php-4.3.11.tar.gz #tar -xvf php-4.3.11.tar #cd httpd-2.0.54 #./configure --enable-so #make #make install #cd ../php-4.3.11 #./configure --with-apxs2=/usr/local/apache2/bin/apxs \ (hit enter key) --with-mysql-sock=/var/lib/mysql/mysql.sock #make #make install
- Now copy the php.ini file to the correct place
#cp php.ini-dist /usr/local/lib/php.ini
- Edit the php.ini file
Search for: memory_limit = 8M, change 8M to 16M Save & Close file
- Look for libphp4.so file in /usr/local/apache2/modules/ to make sure it’s there.
- Edit the Apache configuration file in /usr/local/apache2/conf/httpd.conf
Find loadmodule and make sure this line was added, ( or add )
LoadModule php4_module modules/libphp4.so
Find addtype and add
AddType application/x-tar.tgz AddType application/x-httpd-php .php .phtml AddType application/x-httpd-php-source .phps
Find directoryindex and add index.php to the line:
DirectoryIndex index.php index.html index.html.var
- launch apache by typing in the terminal
#/usr/local/apache2/bin/apachectl start
If you get the following error: “ Cannot load /usr/local/apache2/modules/libphp4.so into server: /usr/local/apache2/modules/libphp4.so : cannot restore segment prot after reloc: Permission Denied” Type:
#chcon –t shlib_t /usr/local/apache2/modules/libphp4.so
now try and start:
#/usr/local/apache2/bin/apachectl start
- Test Apache by opening a web browser and typing in http://localhost/ . You should see an apache success screen.
- Test PHP
Create a file in /usr/local/apache2/htdocs/ named test.php and enter the following line in the file:
<?php phpinfo(); ?>
Save and close. Set permissions on file to 755. Now in a browser type http://localhost/test.php You should see a PHP information screen with your current settings.
- Edit MySQL’s my.cnf file
Edit or create the /etc/my.cnf file, make it look like the following:
[mysqld] #use old password encryption method ( needed for 4.0 and older clients ). old-passwords basedir=/var/lib/mysql
Save and close file.
- Edit the MySQL startup file /etc/init.d/mysql
Find: basedir=/ and change to:
basedir=/var/lib/mysql
- restart MySQL by going clicking Desktop -> System Settings -> Server Settings -> Services
select mysql, click restart
- create sugarsuite folder in /usr/local/apache2/htdocs
- copy the contents of the SugarCRM 3.0.1 folder ( or latest ) to the sugarsuite folder
- Set permissions on all files to 777 for installation. Type in a terminal :
#chmod -R 777 /usr/local/apache2/htdocs/sugarsuite
-
- alternate instructions that worked great for me...
#cd .. [now in htdocs folder] #chown -R apache sugarsuite [change file owner to the apache webserver] #cd sugarsuite [back to sugar webroot] #chmod -R 775 cache custom data modules
-
- alternately #chmod -R 775 ./cache/ ./custom/ ./data/ ./modules/
#chmod 664 config.php
- To install SugarCRM, open a browser and type http://localhost/sugarsuite/
- Follow install instruction: Create User, Create Datbase. Finish Installation.
- Set SugarCRM directory permissions in terminal window.
#chmod -R 755 /usr/local/apache2/htdocs/sugarsuite #cd /usr/local/apache2/htdocs/sugarsuite #chmod -R 777 ./cache/ < does not work! #chmod -R 777 ./custom/ #chmod -R 777 ./data/ #chmod -R 777 ./modules/ #chmod -R 444 config.php
- Sugar install is finished!
- Now let’s add apache to the startup process. First. Let’s copy the apache startup file to the startup directory. Type in the terminal:
#cp /usr/local/apache2/bin/apachectl /etc/init.d/
- Edit the /etc/init.d/apachectl file: Add the lines in bold.
#1/bin/sh # #chkconfig: - 85 15 #description: Apache is a Web server to serve HTML files and CGI. # #copyright (c) 2000-2004 The Apache Software Foundation
- To enable httpd to start automatically. Type in a terminal:
#/sbin/chkconfig --add apachectl
- Reboot server to see if everything starts up and works!
This page may need to be