SugarCRM from scratch
This will build a Sugar CRM server with both the necessary database and web server components. It assumes the reader is fluent with installing software from scratch and from source. It also assumes that a remote MySQL server is already built on another physical box, and is usable.
1) Install a CentOS 4.2 Server using the minimal package set.
Note that "minimal" is a choice during installation. Perform a "yum update" after installation to update all packages.
2) Download needed software in RPM format to the CentOS server.
Download the latest SugarSuite 4.0.1 (http://www.sugarcrm.com/crm/download/sugar-suite.html)
Download the latest MySQL 5.0 headers and libraries, server, and client. (http://dev.mysql.com/downloads/mysql/5.0.html)
Download the latest PHP 5.1.2 (http://www.php.net/downloads.php)
Download the latest Apache (http://httpd.apache.org/download.cgi)
3) Install the following dependencies.
"yum install libxml2-devel flex curl curl-devel libidn gcc openssl-devel perl-DBI"
4) Install Apache with support for PHP and the minimal amount of other modules.
./configure --prefix=/d01/httpd --enable-ssl --enable-cache --enable-deflate --enable-alias --enable-disk-cache --enable-mime --enable-dir --enable-auth --enable-access --enable-autoindex --enable-env --enable-status --disable-asis --disable-imap --disable-actions --disable-cgi --enable-userdir --enable-negotiation --disable-include --enable-so --disable-proxy-ftp --enable-headers --disable-proxy-ajp
make
make install
Note: This install Apache to the /d01 directory.
5) Add a user for apache
# groupadd www
# useradd www -g www
6) Edit the /d01/httpd/conf/httpd.conf file to reflect the www username.
user www
7) Unzip the SugarCRM file.
# unzip SugarSuite-4.0.1a.zip
8) Move the unzipped file to /d01/httpd/htdocs/sugarcrm
mv SugarSuite-Full-4.0.1a/ /d01/httpd/htdocs/sugarcrm
9) Chown the entire sugar tree by the Apache owner.
chown -R www:www /d01/httpd/htdocs/sugarcrm
10) Test your installation. Browse to your Apache server's IP address.
11) Setup Apache's httpd.conf file to access sugarcrm in the htdos directory.
Alias /sugarcrm "/d01/httpd/htdocs/sugarcrm"
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
12) Install MySQL headers and libraries
# rpm -ivh MySQL-devel-standard-5.0.18-0.rhel4.i386.rpm
13) Install MySQL 5.0 server:
# rpm -ivh MySQL-server-standard-5.0.18-0.rhel4.i386.rpm
14) Build and install PHP.
# bzip2 -d php-5.1.2.tar.bz2
# tar xvf php-5.1.2.tar
# cd php-5.1.2
# ./configure --prefix=/usr/local/php5 --with-apxs2=/d01/httpd/bin/apxs --with-curl=/usr/ --with-mysql=/usr/
# make
Ensure these entries are in the /d01/httpd/conf/httpd.conf file:
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
# make install
# cp /root/php-5.1.2/php.ini-dist /usr/local/php5/lib/php.ini
# vi /usr/local/php5/lib/php.ini
Uncomment this line:
; Log errors to syslog (Event Log on NT, not valid in Windows 95).
error_log = syslog
Set memory_limit = 20M
# /root/php-5.1.2/libtool --finish /root/php-5.1.2/libs/
15) Restart Apache.
16) Test the PHP installation.
Create a file called test.php and place it into the Apache htdocs folder. The content should be:
# vi /d01/httpd/htdocs/test.php
phpinfo();
?>
Save the file and then point your browser to http://localhost/test.php.
17) Login to the remote MySQL server, and create the sugarcrm user:
mysql> GRANT ALL PRIVILEGES ON *.* to 'sugarcrm'@'%' IDENTIFIED BY 'sugarcrm' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)
18) Begin the SugarCRM installation process.
19) Post-install cleanup.
Remove the MySQL server from the Apache server.
Drop privledges for the sugarcrm user.
20) User SugarCRM
Login with admin/sugarcrm at http://localhost/sugarcrm
1) Install a CentOS 4.2 Server using the minimal package set.
Note that "minimal" is a choice during installation. Perform a "yum update" after installation to update all packages.
2) Download needed software in RPM format to the CentOS server.
Download the latest SugarSuite 4.0.1 (http://www.sugarcrm.com/crm/download/sugar-suite.html)
Download the latest MySQL 5.0 headers and libraries, server, and client. (http://dev.mysql.com/downloads/mysql/5.0.html)
Download the latest PHP 5.1.2 (http://www.php.net/downloads.php)
Download the latest Apache (http://httpd.apache.org/download.cgi)
3) Install the following dependencies.
"yum install libxml2-devel flex curl curl-devel libidn gcc openssl-devel perl-DBI"
4) Install Apache with support for PHP and the minimal amount of other modules.
./configure --prefix=/d01/httpd --enable-ssl --enable-cache --enable-deflate --enable-alias --enable-disk-cache --enable-mime --enable-dir --enable-auth --enable-access --enable-autoindex --enable-env --enable-status --disable-asis --disable-imap --disable-actions --disable-cgi --enable-userdir --enable-negotiation --disable-include --enable-so --disable-proxy-ftp --enable-headers --disable-proxy-ajp
make
make install
Note: This install Apache to the /d01 directory.
5) Add a user for apache
# groupadd www
# useradd www -g www
6) Edit the /d01/httpd/conf/httpd.conf file to reflect the www username.
user www
7) Unzip the SugarCRM file.
# unzip SugarSuite-4.0.1a.zip
8) Move the unzipped file to /d01/httpd/htdocs/sugarcrm
mv SugarSuite-Full-4.0.1a/ /d01/httpd/htdocs/sugarcrm
9) Chown the entire sugar tree by the Apache owner.
chown -R www:www /d01/httpd/htdocs/sugarcrm
10) Test your installation. Browse to your Apache server's IP address.
11) Setup Apache's httpd.conf file to access sugarcrm in the htdos directory.
Alias /sugarcrm "/d01/httpd/htdocs/sugarcrm"
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
12) Install MySQL headers and libraries
# rpm -ivh MySQL-devel-standard-5.0.18-0.rhel4.i386.rpm
13) Install MySQL 5.0 server:
# rpm -ivh MySQL-server-standard-5.0.18-0.rhel4.i386.rpm
14) Build and install PHP.
# bzip2 -d php-5.1.2.tar.bz2
# tar xvf php-5.1.2.tar
# cd php-5.1.2
# ./configure --prefix=/usr/local/php5 --with-apxs2=/d01/httpd/bin/apxs --with-curl=/usr/ --with-mysql=/usr/
# make
Ensure these entries are in the /d01/httpd/conf/httpd.conf file:
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
# make install
# cp /root/php-5.1.2/php.ini-dist /usr/local/php5/lib/php.ini
# vi /usr/local/php5/lib/php.ini
Uncomment this line:
; Log errors to syslog (Event Log on NT, not valid in Windows 95).
error_log = syslog
Set memory_limit = 20M
# /root/php-5.1.2/libtool --finish /root/php-5.1.2/libs/
15) Restart Apache.
16) Test the PHP installation.
Create a file called test.php and place it into the Apache htdocs folder. The content should be:
# vi /d01/httpd/htdocs/test.php
phpinfo();
?>
Save the file and then point your browser to http://localhost/test.php.
17) Login to the remote MySQL server, and create the sugarcrm user:
mysql> GRANT ALL PRIVILEGES ON *.* to 'sugarcrm'@'%' IDENTIFIED BY 'sugarcrm' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)
18) Begin the SugarCRM installation process.
19) Post-install cleanup.
Remove the MySQL server from the Apache server.
Drop privledges for the sugarcrm user.
20) User SugarCRM
Login with admin/sugarcrm at http://localhost/sugarcrm