System Requirements
This page includes useful information on the supported operating systems as well as the software and hardware requirements that are needed to install and use SupportPal.
License
An active license with valid support and updates coverage is required to download and install SupportPal. Our 30 day free trial is the easiest way to try SupportPal. Owned licenses include 6 months from date of purchase and monthly licenses include lifetime support and updates.
Operating Systems
SupportPal simply requires PHP and MySQL, thus it is possible to install and run it in a vast majority of systems. Below is a list of supported operating systems; we cannot provide support for operating systems that are not listed.
Linux Distributions
- CentOS
- Debian
- Red Hat Enterprise Linux
- Ubuntu
Windows Server
Windows support is available via Docker deployment methods.
Software Requirements
PHP
Version
PHP version 8.1.0 - 8.3.x is supported.
For assistance on installing a new version of PHP, please contact your hosting provider or server administrator.
Extensions
Required | Optional |
---|---|
|
|
PHP extensions differ depending on your server, your host and other system variable. For assistance on installing missing extensions, please contact your hosting provider or server administrator.
Settings
Your PHP configuration must adhere to the following settings:
-
zlib.output_compression
Disabled
Gzip output compression is handled by the web server. PHP's zlib output compression should be disabled to prevent files from being compressed multiple times. -
allow_url_fopen
Enabled
To use Gravatar and other SupportPal features,allow_url_fopen
must be enabled in your PHP configuration. -
IPv6 Support
If your server has IPv6 networking support, this should be enabled by default. However, if not please ensure you have thephp-sockets
extension enabled and PHP has been compiled with the--enable-ipv6
flag. -
PNG & JPG Support
If the PHP GD extension has been manually compiled, please ensure the--with-png-dir
and--with-jpeg-dir
flags are provided. -
Disabled functions
If you're running under a particularly strict environment, please ensure that the following functions are not listed under thedisable_functions
directive:ini_set
-
Memory Limit
A minimum of 128 MB addressable memory is required to install and use SupportPal. We recommend at least 256 MB.
For assistance on modifying your PHP configuration, please contact your hosting provider or server administrator.
File Permissions
The following directories (and directories within recursively) must be writable by the PHP/Web Server process.
addons/
bootstrap/cache/
config/
storage/
Linux
We recommend setting the above directories to 755 permissions.
chmod 755 /path/to/directory
You may also need to adjust the owner and group of the directories to be the web server user, for example:
chown -R www-data:www-data /path/to/directory
httpd
from writing to files, beyond the normal file permissions. You need to apply httpd_sys_rw_content_t
to the directories:
chcon -Rv --type=httpd_sys_rw_content_t /path/to/directory
IIS (Windows)
Right click on the folder containing the SupportPal files, click Properties and then the Security tab. Click Edit... and then Add..., enter IUSRS
and click Check Names. Click OK, and check the Full Control checkbox in the permissions. Do the same for the IIS_IUSRS
group too.
Database
Version
MySQL Server 5.7 and 8.0 - 8.4 supported. MariaDB 10.2 - 11.3 also supported.
User Privileges
For day to day use, the following database privileges are required.
- DELETE
- FLUSH TABLES
- INSERT
- LOCK TABLES
- SELECT
- UPDATE
For installing and upgrading the system, as well as activation and deactivation of plugins, the following additional privileges are required.
- ALTER
- CREATE
- DROP
- INDEX
Settings
We recommend the following MySQL configuration directives are changed:
max_allowed_packet
- we recommend greater than 20 MB to ensure large emails and embedded images are correctly handled.
For assistance on modifying your MySQL configuration, please contact your hosting provider or server administrator.
Web Server
Please ensure your web server is configured to allow HTTP
DELETE
, GET
, OPTIONS
, POST
and PUT
requests. If using Apache and have mod_allowmethods enabled you may need to update your web server configuration to permit the verbs.
SupportPal supports Apache, nginx and IIS web server.
Apache
Apache is supported out of the box.
nginx
On nginx, please create a new virtual host for SupportPal. The below is an example virtual host but will need editing for your specific environment (paths may vary):
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
# enable gzip
gzip on;
gzip_comp_level 6;
gzip_min_length 500;
gzip_proxied any;
gzip_types text/plain text/css text/javascript application/json application/javascript;
gzip_vary on;
# add security headers
add_header X-Frame-Options SAMEORIGIN always;
add_header X-Content-Type-Options nosniff always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy strict-origin-when-cross-origin always;
add_header Strict-Transport-Security max-age=31536000 always;
# disable request entity max size.
# https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size
client_max_body_size 0;
root /var/www/supportpal;
index index.php;
# Hide Nginx version
server_tokens off;
# Remove index.php from GET requests.
set $user_request 0;
if ($request_method = GET) {
set $user_request "GET";
}
if ($request_uri ~* "^(.*/)index\.php/?(.*)$") {
set $user_request "${user_request}-index.php";
}
if ($user_request = "GET-index.php") {
return 301 $1$2;
}
# Send all requests to SupportPal.
location / {
try_files /notexistent @backend;
}
# Allow direct access to asset files, if they don't exist show SupportPal 404 error page.
location ~* \.(css|gif|ico|je?pg|js|png|swf|txt|eot|ttf|woff|woff2|svg|map)$ {
try_files $uri $uri/ @backend;
}
# Allow direct access to resources/assets files, if they don't exist show SupportPal 404 error page.
location resources/assets/ {
try_files $uri $uri/ @backend;
}
# All SupportPal requests must be sent through index.php.
location @backend {
rewrite ^(.*)$ /index.php last;
}
location ~ \.php($|/) {
include snippets/fastcgi-php.conf;
# With php-fpm:
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
}
IIS
On IIS, please create a web.config
file in the root of your installation directory with the below contents:
The URL Rewrite extension is required for the below web.config file to function correctly, otherwise a 500.19 error is likely to be shown when visiting SupportPal (see Understanding HTTP Error 500.19).
<supportpal_base_url>
with your installation base URL<absolute_path_to_php_cgi.exe>
with the absolute path to your PHP cgi executable
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".woff" />
<remove fileExtension=".woff2" />
<remove fileExtension=".json" />
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
<rewrite>
<rules>
<rule name="Add trailing slash to base" stopProcessing="true">
<match url="^$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{URL}" pattern="[^\/]$" />
</conditions>
<action type="Redirect" url="<supportpal_base_url>/" />
</rule>
<rule name="Remove index.php" stopProcessing="true">
<match url="^index.php/?(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_METHOD}" pattern="GET" />
<add input="{URL}" pattern="^.*/index\.php" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="<supportpal_base_url>/{R:1}" appendQueryString="true" />
</rule>
<rule name="Allow assets" stopProcessing="true">
<match url="^" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" />
<add input="{URL}" pattern="(resources/assets/|\.(css|gif|ico|je?pg|js|png|swf|txt|eot|ttf|woff|woff2|svg|map)$)" />
</conditions>
<action type="None" />
</rule>
<rule name="Rewrite all else to index.php" stopProcessing="true">
<match url="^" ignoreCase="false" />
<action type="Rewrite" url="index.php" />
</rule>
</rules>
<outboundRules>
<rule name="fix content-type" preCondition="PHPRequest">
<match serverVariable="RESPONSE_CONTENT_TYPE" pattern="text/html; charset=UTF-8,([^\/]+\/.+$)" ignoreCase="true" />
<action type="Rewrite" value="{R:1}" />
</rule>
<preConditions>
<preCondition name="PHPRequest">
<add input="{REQUEST_URI}" pattern=".*\.php" />
</preCondition>
<preCondition name="ResponseIsHtml1">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
<handlers>
<remove name="WebDAV" />
<remove name="PHP-php" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="DEBUG,DELETE,GET,HEAD,OPTIONS,POST,PUT" type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" />
<add name="PHP-php" path="*.php" verb="DEBUG,DELETE,GET,HEAD,OPTIONS,POST,PUT" modules="FastCgiModule" scriptProcessor="<absolute_path_to_php_cgi.exe>" resourceType="Either" requireAccess="Script" />
</handlers>
<httpErrors errorMode="Detailed" />
<modules>
<remove name="WebDAVModule" />
</modules>
<security>
<requestFiltering>
<requestLimits maxQueryString="4096" />
</requestFiltering>
</security>
</system.webServer>
<system.web>
<authentication mode="Forms" />
<httpRuntime maxQueryStringLength="4096" maxUrlLength="4096" />
</system.web>
</configuration>
Firewall
Outbound port 443 access to licensing.supportpal.com and marketplace.supportpal.com
Hardware Requirements
Hardware requirements are dependent on the number of users and expected workload. Your exact needs may be more or less, depending on your workload. Your workload is influenced by factors such as - but not limited to - how many active users and operators there are and the frequency of tickets and replies.
For deployments with a lot of active users, or a large database (several hundred thousand records), we recommend to use separate servers for your web server and database; this ensures the database has dedicated resources and can ensure consistent performance.
Storage
In a fresh installation, SupportPal uses minimal space (approximately 100 MB). The database and storage/
directory is where you'll see most growth. The storage/
directory includes things like caches,
attachments, and log files.
We recommend using solid state drives for all deployments, particularly database servers, as this dramatically improves the responsiveness of SQL queries.
CPU
We recommend a minimum of 4 vCPU on all servers.
Memory
The following is the recommended minimum memory hardware guidance:
- Web server: 2 GB RAM - allows up to 50 concurrent staff
- Database server: 4 GB RAM
We also recommend having at least 2 GB of swap on your server, even if you
currently have enough available RAM. Having swap will help reduce the chance of errors occurring if your
available memory changes. We also recommend configuring the kernel's swappiness
setting to a
low value like 10
to make the most of your RAM while still having the swap available when needed.
Browser Support
SupportPal is tested against the browsers listed below. Other browsers and older browser versions may still work, but we will not provide support or fixes for these products.
JavaScript must be enabled in the web browser for the most feature rich experience. If JavaScript is disabled some functionality will not work correctly.
Supported Browsers & Versions
Browser | Supported Version(s) |
---|---|
Chrome | latest 2 versions |
Edge | latest 2 versions |
Firefox | latest 2 versions |
Safari | latest 2 versions |
Mobile Device Support
The interface is designed with mobile first in mind. We recommend a device width of 360px
or above,
any device with a width smaller than this will still work but may have visual defects and won't offer the best user
experience.