SuiteCRM Installation Pre-Requisites

2021-Sep-10
2021-Sep-20 (added Optional Directory)

Home

email Feedback About This Page

docs.suitecrm.com: Downloading & Installing (2021-Sep-8)

SuiteCRM website

🔽 PHP Requirements
🔽 PHP Extensions
🔽 Extensions that can also appear on Extensions tab
🔽 PHP Options
🔽 Options that can also appear on Options tab
🔽 Folder and File Permissions
🔽 Optional Directory
🔽 After Installation is Done


SuiteCRM Installation Pre-Requisites Grouped by Category
🔼 PHP Requirements
PHP version required to determine the php version for your SuiteCRM version use:
docs.suitecrm.com: Administrator Guide > Compatibility Matrix
🔼 PHP Extensions log into host's cpanel
→ go to the Software section
→ click Select PHP Version
→ and see PHP Selector
and on Extensions tab set/check extension
curl curl is not shown on the Extensions tab.

However, when you open phpMyAdmin in your host's cpanel and on the right side under the Web server section you will find the subheading PHP extension with these:
curl
mbstring
mysqli


If you see curl there's nothing more for you to do.
imapchecked
jsonchecked
mbstringchecked
pcre pcre Library - always on

php.net: Regular Expressions (Perl-Compatible)

The pcre extension is a core PHP extension, so it is always enabled.

No need to do anything.
Sprite Support



gd
Sprite support
no PHP sprite module
module needed for sprite support: gd

checked
XML Parser This extension is enabled by default.
php.net: XML Parser

XML parser extensions available in PHP core:
→ dom on Extensions tab and checked
simplexml
xmlparser
→ xmlreader on Extensions tab and checked

xmlrpc → on Extensions tab and checked
xmlwriter → on Extensions tab and checked
zipchecked
🔼 Extensions that can also appear on Extensions tab
amqpnot checked
apcunot checked
bcmath checked
brotlinot checked
dbanot checked
dbasenot checked
dom checked
eio checked
enchant checked
fileinfo checked
gendernot checked
geoipnot checked
geosnot checked
gmagicknot checked
gnupgnot checked
grpcnot checked
httpnot checked
igbinarynot checked
imagick checked
inotifynot checked
interbasenot checked
intl checked
ioncube_loader checked
jsminnot checked
ldapnot checked
luasandboxnot checked
lzfnot checked
mailparsenot checked
mcryptnot checked
memcachenot checked
memcachednot checked
mongodbnot checked
mysqli checked
mysqlnd checked
nd_mysqlinot checked
nd_pdo_mysqlnot checked
newrelicnot checked
oauthnot checked
oci8not checked
odbcnot checked
opcache checked
pdfnot checked
pdo checked
pdo_dblibnot checked
pdo_firebirdnot checked
pdo_mysql checked
pdo_ocinot checked
pdo_odbcnot checked
pdo_pgsqlnot checked
pdo_sqlite checked
pdo_sqlsrvnot checked
pgsqlnot checked
phalcon3not checked
phar checked
posixnot checked
propronot checked
pspell checked
psrnot checked
raphfnot checked
redisnot checked
snmpnot checked
soap checked
sockets checked
sodiumnot checked
sourceguardiannot checked
sqlsrvnot checked
ssh2not checked
statsnot checked
swoolenot checked
sysvmsg checked
sysvsem checked
sysvshm checked
tidewaysnot checked
tidynot checked
timezonedbnot checked
tradernot checked
uploadprogressnot checked
uuidnot checked
vipsnot checked
wddx checked
xdebugnot checked
xmlreader checked
xmlrpc checked
xmlwriter checked
xsl checked
yafnot checked
yaml checked
zmqnot checked
🔼 PHP Options log into host's cpanel
→ go to the Software section
→ click Select PHP Version
→ and see PHP Selector
and on Options tab set/check option
error_reporting drop-down box
options:
~E_ALL
E_ALL & ~E_NOTICE selected
E_ALL & ~E_NOTICE & ~E_STRICT
E_ALL

To fix this error which occurs during install:

Notice: Trying to access array offset on value of type null in C:\wamp64\www\uniserve\suitecrmtest\include\utils.php on line 1828

It is necessary to have error_reporting = E_ERROR.

It is not possible to use the dropdown box for error_reporting on the Options tab.

I have contacted my hosting provider about this problem: 2021-Sep-10 1300.

memory_limit drop-down box
options:
64M
128M selected
192M
256M
384M
512M
768M
1G
upload_max_filesize drop-down box
options:
2M
4M
8M
16M
32M
64M selected
128M
256M
512M
1G

📝 Note: If <6M the install process will flag it as a warning:

Warning: Your PHP configuration should be changed to allow files of at least 6MB to be uploaded.

zlib.output_compression checkbox
default: not checked
it needs to be checked
🔼 Options that can also appear on Options tab
allow_url_fopen checkbox
not checked
auto_prepend_file data-entry area
blank
date.timezone
"Reset to default" link
data-entry area
often initially set to: UTC
php.net: List of Supported Timezones

Coordinated Universal Time or UTC is the primary time standard by which the world regulates clocks and time. It is within about 1 second of mean solar time at 0° longitude and is not adjusted for daylight saving time. It is effectively a successor to Greenwich Mean Time (GMT).
disable_functions data-entry area
blank
display_errors checkbox
not checked
enable_dl checkbox
not checked
error_log data-entry area
set to: error_log
expose_php checkbox
not checked
file_uploads checkbox
checked
include_path data-entry area
set to: .:/opt/alt/php72/usr/share/pear
log_errors checkbox
checked
mail.force_extra_parameters data-entry area
blank drop-down box
options:
20 selected
50
max_execution_time data-entry area
set to: 30
max_file_uploads drop-down box
options:
20 selected
50
max_input_time data-entry area
set to: 60
max_input_vars data-entry area
set to: 1000
memory_limit drop-down box
options:
64M
128M selected
192M
256M
384M
512M
768M
1G
open_basedir data-entry area
blank
output_buffering data-entry area
set to: false
post_max_size drop-down box
options:
2M
4M
8M
16M
32M
64M selected
128M
256M
512M
1G
register_argc_argv checkbox
not checked
session.save_path data-entry area
set to: /tmp
short_open_tag checkbox
checked
🔼 Folder and File Permissions
suitecrm_root and its subfolders run: chown -R www-data:www-data.

www-data needs to be replaced by the actual system user that your web server runs under. This varies depending on your operating system. Common web server users are as follows:
  • www-data (Ubuntu Linux/Apache)
  • apache (Linux/Apache)
  • nobody (Linux/Apache)
  • IUSR_computerName (Windows/IIS)

The commands/steps taken to setting permissions differ depending on your operating system. If you are experiencing issues with setting permissions on your SuiteCRM instance, visit our support forums.

suitecrm_root and its subfolders run: chmod -R 755 on it

Owner permissions
Read, Write, Execute
Group permissions
Read, No Write, Execute
Public permissions
Read, No Write, Execute
suitecrm_root/cache and its subfolders run: chmod -R 775 on it

Owner permissions
Read, Write, Execute
Group permissions
Read, Write, Execute
Public permissions
Read, No Write, Execute
suitecrm_root/custom and its subfolders run: chmod -R 775 on it

Owner permissions
Read, Write, Execute
Group permissions
Read, Write, Execute
Public permissions
Read, No Write, Execute
suitecrm_root/data and its subfolders run: chmod -R 775 on it

Owner permissions
Read, Write, Execute
Group permissions
Read, Write, Execute
Public permissions
Read, No Write, Execute
suitecrm_root/modules and its subfolders run: chmod -R 775 on it

Owner permissions
Read, Write, Execute
Group permissions
Read, Write, Execute
Public permissions
Read, No Write, Execute
suitecrm_root/themes and its subfolders run: chmod -R 775 on it

Owner permissions
Read, Write, Execute
Group permissions
Read, Write, Execute
Public permissions
Read, No Write, Execute
suitecrm_root/upload and its subfolders run: chmod -R 775 on it

Owner permissions
Read, Write, Execute
Group permissions
Read, Write, Execute
Public permissions
Read, No Write, Execute
config.php
config_override.php
these files do not exist before installation takes place

nothing to do
🔼 Optional Directory
session data directory When using SuiteCRM on a shared server, create a new directory outside of public_html and outside of the directory for your SuiteCRM instance.

There isn't a prescribed name for this new session data directory.

The mode of this directory is 600 - the owner can read and write to it.

Owner permissions
Read, Write, No Execute
Group permissions
No Read, No Write, No Execute
Public permissions
No Read, No Write, No Execute

The full path is needed to this directory - on a Linux system where you are on a shared server starting from your Home Directory:

/home/your_account/your_session_dir

This information will be entered on Step 2 of 2 - Configuration of the SuiteCRM installation under the Site Security section for the Security Option: Use a Custom Session Directory for SuiteCRM
🔼 After Installation is Done
config_override.php run: chmod 775 config_override.php 2>/dev/null

Owner permissions
Read, Write, Execute
Group permissions
Read, Write, Execute
Public permissions
Read, No Write, Execute

📝 Note: /dev/null is a special filesystem object that discards everything written into it

🔼