This page describes the required web server configuration that you need in order to install/upgrade the Kayako Classic Download.
PHP
PHP PHP 7.1+ is supported by Kayako Classic release [4.93.0]+ only
Note: Kayako release 4.92.x or older will work with PHP 5.6/5.5 but we recommend to have the latest one [4.93.xx] as PHP 5.x has already reached EOL (Dec 31, 2018).
MySQL server
MySQL version 5.6.31 is the minimum requirement Or MariaDB 10+
Important: There is a known bug with some MySQL versions which causes upgrades to fail with the following error: Uncaught Exception Invalid SQL SELECT section
. This bug has been fixed in the latest released MySQL versions 5.6.31 and 5.7.13. We recommend using the latest version of the MySQL server to avoid any issues.
Web server
You can use any web server daemon – such as Apache, Nginx, IIS – so long as it is fully compatible with the required PHP configuration (detailed below).
NOTE: If you're running Kayako Classic on a Linux server with SELinux, you'll need to configure it to permit Kayako Classic activities. If you're not familiar with SELinux, we recommend you disable it, as Kayako Classic will not function if it's configured incorrectly.
Recommended PHP/MQL parameters
PHP
These settings are done in the PHP configuration file "php.ini" of the server on which you are installing the helpdesk.
- max_execution_time: "600"
- max_input_time: "600"
-
memory_limit: "512M"
NOTE: This will vary – if you plan on using the Kayako Classic import tool, or if the web server is shared, a higher limit is required. - output_buffering: "4096"
- file_uploads: "On"
- upload_max_filesize: "20M"
- post_max_size: "20M"
- max_file_uploads: "20"
- open_basedir: "Off"
- always_populate_raw_post_data: "-1"
Apache
If you have 'mod_security' installed on your Apache web server, you must either disable it or whitelist your Kayako Classic files (so they are exempt from all 'mod_security' rules).
MySQL
sql-mode : set to not strict. Refer to user guide here to know how to disable MySQL strict mode.
max_allowed_packet : should be 64M (Minimum)
connect_timeout : should be 300 (Minimum)
optimizer_search_depth: 7 (4 minimum 17 max)
PHP caches and accelerators
Kayako Classic accesses many scripts spread across many files for each connection. If you do not have a PHP cache unless your web server is very finely tuned you will find the application to be less responsiveness.
We recommend enabling opcache which is readily available with your PHP 7 installation.
Required PHP modules
Most of these modules are included by default. However, we have compiled a list of those which are definitely required by Kayako Classic for good measure:
- mbstring
- openssl [mandatory for PHP 7]
- mcrypt
- gd with FreeType support
- curl
- mysql
- MySQLi
- MySQLnd (required for PHP 5.x only)
- pdo
- pdo_mysql
- simplexml
- filter
- json
- imap
- sockets
- xml
- dom
- Intl
- fileinfo
Server hardware requirements/configuration changes
It is very difficult to quantify server hardware requirements for running Kayako Classic. Our customers run their helpdesks on a mix of dedicated hardware, shared hardware, and virtualized environments with restricted resource access.
Whichever environment you choose, assuming your database server will be run from the same hardware, the minimum hardware requirements for a small scale Kayako deployment installing Kayako are:
- 2 GB of RAM (allowing for operating system processes)
- 20 GB of hard disk space available for your helpdesk (realistically, you should allow more than this for future growth)
- Access to the equivalent of a 2 GHz CPU core
NOTE: For the Linux operating system, SELinux must be disabled or set to permissive mode.
So, what's recommended?
What we use for Kayako Classic OnDemand
The web application element of Kayako Classic is platform independent, so the server requirements will remain the same for Windows as well as Unix/Linux servers. Which is best for you will depend on a variety of factors - including resources, expertise and what fits within your organization.
That said, we do have our own favorite configuration, which is in part used for our OnDemand platform:
Component |
What we use |
Why |
---|---|---|
Operating system |
CentOS |
It is well supported, secure, fast and easily configurable. |
Web server |
nginx (with php-fpm) |
nginx is lightning fast and much more lightweight than Apache and IIS. |
PHP version |
PHP 7.x |
We use PHP version 7.x for Kayako Classic OnDemand. |
PHP cache/accelerator |
opcache |
It is readily available with your PHP 7 installation |
Vinay Sharma