Webserver Setup Guide

The following documentation is for SuiteCRM Version 8+; to see documentation for Version 7, click here.

1. Intro

This guide contains the steps required to setup a webserver for installing SuiteCRM 8+

The following documentation will use as base setup a LAMP stack: Linux, Apache, MySql and php. However, most of the steps may apply to other webservers and databases

2. Install required software

Install the platform-appropriate version of the following:

  • webserver: apache

  • php

  • database: mysql or mariadb

See the Compatibility matrix to ensure you have the correct versions of the required softwares.

There are other software dependencies on the Compatibility matrix under the Additional requirements for Development section, however those are the ones required for a development environment.

When installing SuiteCRM from pre-build installable package zip you do not need to install the dependencies that are for development, namely: node, angular cli, yarn/npm.

The SuiteCRM 8 pre-built installable package zip comes with the pre-built front end files under public/dist and all the required libs on vendors.

3. Install required php modules

Install on your server the required php modules:

  • cli

  • curl

  • common

  • intl

  • json

  • gd

  • mbstring

  • mysqli

  • pdo_mysql

  • openssl

  • soap

  • xml

  • zip

  • imap (optional)

  • ldap (optional)

Helpful Resources

Please check the Helpful Resources section from Install required software for instructions on how to install php modules

4. Configuring URL re-writes

In order for api routes to work you need allow url re-writes.

  • All SuiteCRM-Core api calls depend on this (calls to api/graphql) if re-rewrites are not allowed you will get a 404 when calling the api.

In apache webserver this can be achieved by enabling mod-rewrite and configuring the vhost.

It is highly recommended that you update the webroot or configure vhost to point to the public folder inside SuiteCRM folder. If the webroot is pointing to SuiteCRM folder instead of the public folder, all the files under SuiteCRM folder maybe be exposed to the web.

Update your vhost configuration to add the following:

<VirtualHost *:80>

    DocumentRoot /<path-to-suite>/public
    <Directory /<path-to-suite>/public>
        AllowOverride All
        Order Allow,Deny
        Allow from All
    </Directory>

</VirtualHost>

Helpful resources:

5. Configure php error_reporting

Please make sure that notices aren’t considered on error_handling. For that you can update the error handling entry in php.ini

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE & ~E_WARNING

Helpful Resources

Please check the Helpful Resources section from Install required software for instructions on where to find php.ini

6. (optional) Performance

For more information regarding performance optimization see the Performance configuration guide

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.