Page tree
Skip to end of metadata
Go to start of metadata

This page describes required web server configuration that you need in order to install Kayako Fusion, Kayako Case or Kayako Engage.

Server software requirements

PHP

PHP 5.4 or later is required. PHP 5.5 is recommended as it the latest tested version.

MySQL server

MySQL version 5.0 or later (we recommend the very latest stable release)

PHP decoders

IonCube or Zend Optimizer no longer required

As of Kayako 4.50, a PHP decoder is not required.

Web server

Any web server daemon - such as Apache, nginx, IIS which is fully compatible with the required PHP configuration.

Required settings

These settings are done in the PHP configuration file "php.ini" of the server on which you are installing the helpdesk.

PHP

Apache

If you have mod_security installed on your apache web server, mod_security must be disabled or your Kayako helpdesk files whitelisted (exempt from all mod_security rules).

MySQL

sql-mode : set to not strict.

max_allowed_packet : should be 64M (Minimum).

PHP caches and accelerators 

Kayako 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 strongly recommend that your web server has a PHP cache like xcacheapc or eaccelerator installed. We find that xcache is the easiest to install and most readily available, and use it ourselves.

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 for good measure:

Server hardware requirements

It is very difficult to quantify server hardware requirements for running Kayako. Our customers run their Kayako helpdesk on dedicated hardware, shared hardware or 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 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

So, what's recommended?

What we use at Kayako

The web application element of Kayako 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 favourite 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 5.5

We use PHP version 5.5 for our hosted helpdesks

PHP cache/accelerator

xcache

We find xcache to be lightweight and does the job very well.

What our customers use

Our customers use a huge variety of platforms and configurations, including both Linux and Windows. This is what we have identified to be the most common web server setup: 

Component

What we use

Why

Operating system

Linux (CentOS, Red Hat Linux, Debian, Ubuntu)

Linux is free, well supported, fast and secure. That's why it is the most popular Operating System amongst our customers and the world.

Web server

Apache (for Linux and Windows)

Apache is the world's most popular web server, and very easy to configure. It is prepackaged into most Linux distributions, making it the quickest web server to get started with.

PHP version

PHP 5.5

We recommend 5.5 as it is the latest tested version.

PHP cache/accelerator

xcache

Most likely based on our recommendation, and also because it is fairly simple to install.

  • No labels

21 Comments

  1. Additional php.ini settings must be set:

    allow_url_fopen = On
    allow_url_include = On

    To prevent:

    [Warning]: file_get_contents() [<a href='function.file-get-contents'>function.file-get-contents</a>]: URL file-access is disabled in the server configuration (ProfileImage/class.SWIFT_ProfileImage.php:99)

  2. As of this posting, Fusion is NOT compatible with Zend Guard Loader for PHP 5.3. IonCube is generally not a good choice for performance. For those who tried PHP 5.3 and got this:

    Fatal error: Incompatible file format: The encoded file has format major ID 3, whereas the Loader expects 4 in /var/www/html/__swift/swift.php on line 0

    Kayako needs to encode Fusion separately for Zend Guard Loader in order for it to work. If you absolutely must have PHP 5.3, ionCube is the only option at this time.

  3. Unknown User (gauravk)

    Hi Mike,

    We degraded PHP 5.3 to PHP 5.2 and then installed fusion along with ZendOptimizer. We are using the following build versions :

    1. Fusion : fusion_stable_zendclosed_4_01_139

    2. ZendOptimizer : ZendOptimizer-3.3.9-linux-glibc23-x86_64

     Everything seems to be fine as of now. Should PHP version be an issue later. If yes, is Ioncube the only option ?

    1. Unknown User (budgierless)

      Ok so can you confirm, that if i install on a server with php5.2 with zend and ioncube already installed, that this 4.40.1148 version of the script will work? 

  4. Unknown User (steven)

    Hello,

    while installing kayako fusion 4.01.204 an it returned an error as it could not find the xml_parser_create function. I had to install an extra requirement for this: xml.

    It is maybe a good idea to update the requirement list accordingly.

    Best regards,

    Steven

    1. Thank you - we've added that.

  5. Unknown User (lexore)

    Additional php.ini settings must be set:

    magic_quotes_runtime = Off
    magic_quotes_sybase = Off

    To prevent:

    [Notice]: Trying to get property of non-object (Mail/class.SWIFT_Mime.php:170)

    [Notice]: Trying to get property of non-object (Mail/class.SWIFT_Mime.php:171)

    [Notice]: Trying to get property of non-object (Mail/class.SWIFT_Mime.php:177)

    [Notice]: Trying to get property of non-object (Mail/class.SWIFT_Mime.php:246)

    in Resolve 4.01.240

  6. Unknown User (eelco.leenen@care.nl)

    Hi,

    Is there a specific reason why no files are available for Zend Loader on PHP 5.3?

    Zend Guard 5.5 will give you the option within the same license to encode files for Zend Optimizer (5.2) or Zend Loader (5.3), so I can't really see the issue here.

    Best regards,

    Eelco

    1. Unknown User (lexore)

      Zend Guard 5.5 release came out two weeks ago.
      I think, you just have to wait a little.

      1. Unknown User (eelco.leenen@care.nl)

        Hi,

        Not quite, Zend released Guard 5.5 with 5.3 support in Nov 2010. The runtime loader (Zend Guard Loader) was released somewhat later if I'm correct.

        Best regards,

        Eelco

  7. Just wanted to add here. Kayako and Apache in general runs MUCH better on PHP 5.3 with Ioncube. Just switched from Zend Optimizer and PHP 5.2 a few weeks ago and am no longer getting segfaults every 5 minutes in Apache logs.

    I would strongly recommend against PHP 5.2 as Kayako has.

    Note: PHP 5.3 requires you to set the server time zone in php.ini to prevent warnings in the logs.

    1. Unknown User (eelco.leenen@care.nl)

      Hi Mike,

      Segmentation faults can be caused by various things, it may be a combination of Apache modules / plugins which interfere with each other.

      However, Kayako runs fine on PHP 5.2 with Zend Optimizer.

      Regarding timezone settings, the requirement to set a timezone is since PHP 5.1.0. Since 5.3.0, PHP throws an e_warning instead of an e_strict. The reason you see them now is that you probably didn't log e_strict-level errors.

      Best regards,

      Eelco

  8. Unknown User (bskrtich)

    Also to use PHP GD functions to generate the CAPTCHA image you must have FreeType installed. Otherwise, you will get no CAPTCHA image displayed. This should be added to the requirements list.

    1. Thank you Brandon - we've added that.

  9. Jamie,

    What is the status of PHP 5.4 testing. I was about to launch a new server with 5.4 and just noticed the warning here by coincident.... Now on my watch list.

    1. Hi Jesper

      Still ongoing. We don't expect to officially support PHP 5.4 for at least some weeks yet. We'll be releasing the next update any week now, and then will focus on PHP 5.4 testing.

      1. Unknown User (dylan lindgren)

        Should this page be updated now, given that PHP 5.4 is now supported? (as per blog post regarding Fusion's 4.51 release)

        1. Not yet, because of the potential PCRE problem (there's a note under the PHP section on this page) we identified after releasing that update. Once that's cleared up and it is safe to assume PHP 5.4 packages from most mainstream places will work, we'll update the page.

          1. Unknown User (dylan lindgren)

            Is there a roadmap for the support of PHP 5.4?

            The reason I ask is that I have a server which is running PHP 5.4 that I was just about to migrate our install of Fusion to (which is also running a lot of other PHP applications). Luckily I noticed this page that 5.4 support had been removed before I did so. I would like to decommission the server which Fusion is currently running on. Maybe I should investigate this PCRE library stuff and compile my own? Is it hard? I have full control over the server that PHP 5.4 is installed on.

            Nevermind, I just checked phpinfo() and noticed I'm running version 8.31 (2012-07-06) and so I guess my install of PHP 5.4 is one of the lucky ones to still be using the correct version of the PCRE library. I did a test migration to our server running PHP 5.4 and no errors were encountered, so assume everything will be ok.

            I'll leave this question here as other people may want to know regarding the roadmap.

  10. If you're using CentOS and you run into something like the following when trying to connect to an external mail server:

    [Warning]: stream_socket_client(): unable to connect to mail.mydomain.com:25 (Permission denied) (Transport/StreamBuffer.php:263)

    You need to allow HTTPD scripts and modules to connect to the network (SELinux properties).

    You can do this by running the following:
    setsebool -P httpd_can_network_connect on

  11. Unknown User (donlapeno)

    I see you use nginx in house, i run this at work and was wondering if there are any plans on releasing a proper guide on install kayako on nginx, the main issue is how are your vhosts written?

    http://forums.kayako.com/threads/nginx-rewrites.32438/