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

The latest available PHP 5.3, 5.4 or 5.5 is recommended.

MySQL server

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

PHP decoders

IonCube or Zend Optimizer no longer required

Icon

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.

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, Kayako will need:

  • At least one gigabyte of RAM (allowing for operating system processes)
  • At least around 6 gigabytes of hard disk space available for your helpdesk (realistically, you should allow more than this for future growth)
  • Access to the equivalent of at least one 1 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 lightening fast and much more lightweight than Apache and IIS.

PHP version

PHP 5.3

PHP 5.3 is now required for the new ?Reports, and we also find PHP 5.3 to be faster than PHP 5.2.

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.3

 

PHP cache/accelerator

xcache

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

In summary, the typical LAMP server stack is most popular with our Download customers.

  • 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. 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. 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. 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. 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. 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. Zend Guard 5.5 release came out two weeks ago.
      I think, you just have to wait a little.

      1. 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. 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. 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. 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. 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. 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/