Installing WHMCS 6 on Debian 8 Jessie – NGINX, PHP 5.6 (PHP-FPM), MySQL 5.5 (Percona)

Project Overview for Installing WHMCS 6

This is a quick step by step guide to installing WHMCS 6. When the announcement that WHMCS 6 just came out, it was great news to our team. We have deployed applications for the past year which run on PHP 5.6 but have always been annoyed by the fact that WHMCS 5.5 required PHP 5.3 to utilize an older IonCube Loader. With the release of WHMCS 6, we were able to deploy a server stack that’s up to speed with the rest of our WordPress and Magento servers. We chose NGINX with PHP-FPM over the Apache as we have seen many performance benefits with this configuration for other PHP/MySQL applications.

Initial upgrade of installed packages

$ apt-get update && apt-get upgrade
$ apt-get install vim sudo curl

vim is our preferred editor – used in the following commands

Add custom repos for Nginx/PHP/Varnish

$ vim /etc/apt/sources.list

Add the following:

deb http://packages.dotdeb.org jessie all
deb-src http://packages.dotdeb.org jessie all
deb http://repo.percona.com/apt jessie main
deb-src http://repo.percona.com/apt jessie main

Nginx/PHP

  • curl http://www.dotdeb.org/dotdeb.gpg | apt-key add –

Percona 5.5

$ apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A

Problem:

Received Error during apt-get update: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY E9C74FEEA2098A6E

Solution:

$ gpg --keyserver keys.gnupg.net --recv-key 89DF5277
$ gpg -a --export 89DF5277 | sudo apt-key add -

Update again and install new packages and stop them

$ apt-get install nginx-extras nginx-common php-pear php5-cli php5-common php5-curl php5-fpm php5-gd php5-mcrypt php5-mysql php5-readline iotop htop percona-server-server-5.5 percona-server-client-5.5 percona-toolkit php5-gd php5-json
$ /etc/init.d/nginx stop && /etc/init.d/php5-fpm stop && /etc/init.d/mysql stop

Edit the conf files

$ vim /etc/php5/fpm/conf.d/05-opcache.ini
$ mkdir /var/www/nginx/ && vim /var/www/nginx/nginx.conf
  • create standard nginx config
vim /etc/nginx/nginx.conf
  • include /var/www/nginx/*.conf;
 vim /etc/php5/fpm/php-fpm.conf
$ vim /etc/php5/fpm/pool.d/www.conf
  • listen = 127.0.0.1:9000
$ vim /etc/php5/fpm/conf.d/20-memcache.ini
$ vim /etc/nginx/fastcgi_params
$ vim /etc/mysql/my.cnf
$ vim /etc/sysctl.conf (to be appended at the end, rest of the file can stay as it is)

And there you have it. Installing WHMCS 6 in a few quick steps.

Anthony Scolaro

A serial entrepreneur and technology enthusiast, Anthony Scolaro’s small business ventures began in 2009 Over the years, Anthony channeled his passion for creating solutions-driven processes and exceptional service and launched Project Assistant in the summer of 2011.

An innovative technology firm that partners with businesses to develop comprehensive web marketing, design, brand and mobile app development solutions, Project Assistant has become a rapidly growing and value-added entity for small to medium-sized companies in the U.S., Europe and across SE Asia. Serving as the firm’s CEO and Founder, with offices located in Charleston and the Philippines, Project Assistant merges diversity, ingenuity and a love for the tech space to help organizations gain a larger segment of the market while maximizing continuous integration and pipelines for expedited scalability.

Whether a client needs to design and engineer a web or mobile app, internet marketing, systems administration, website traffic growth, or clarity in defining its brand, Anthony offers strategic solutions, a passion for technology and all-American southern hospitality to take organizations to new heights.