Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info
titlePlease Note

Requirements below are for manual installation process, Enteprise HostBill editions comes with easy-install script for CentOS 6/7 that install all required components for you.

Introduction

HostBill has a set of requirements that must be met in order to function properly. This guide will go over the minimum requirements, recommended environment, and how to create an environment suitable for a HostBill installation. HostBill users running WHM/cPanel will find this guide easier to follow since WHM/cPanel has built in automated tasks that will do most of the work for you. For users installing HostBill via command line, there'll be instructions included to get you started. 

Minimum Requirements

  • PHP 5.6.x
  • MySQL 5.x or later versions. With STRICT MODE disabled
  • cURL + SSL Support
  • PHP MBstring
  • PHP json
  • PHP Data Objects (PDO) Extension - Included by default since PHP 5.1.x.
  • PDO_MySQL Driver
  • IonCube Loaders

Recommended Environment

Although the following are not required, they will help you in your HostBill installation's performance, and compatibility.

  • IMAP
  • GD Library & GD GIF - GD Library is required to process dynamically generated images. Certain features may be unavailable that require dynamically generated images if GD Libraries aren't installed. GD Libraries are installed by default on most servers.
  • Disable Magic Quotes: HostBill performance is affected by Magic Quotes. You should disable Magic Quotes to increase HostBill performance.

Confirmation

After you've met all system requirements and have installed HostBill, your System Information in the front page of the admin area should look similar to this. HostBill may still install even if not all requirements

Image Removed

Related pages

...

Overview

...

To improve front-end performance HostBill executes long-running tasks in the background queue. Those include, but not limit to:

  • Account provisioning, terminations, suspensions, upgrades etc.
  • Domain actions - registration, transfers, renewals etc.
  • Messaging - emails, sms, mobile notifications etc.
  • Updating counters, stats, cache etc.

When installing it's required to add crontab entry to run queue.php file every minute.

Improving Queue Performance

...

If you check Extras → System Logs → Task queue log in your HostBill, and find that there is a lot of tasks in Pending state, it means that queue is not performing well, which is caused by too-few queue workers available. To fix:

  • Non enterprise-install
    (HostBill installed manually - not through install.sh script; HostBill installed on control panel account; i.e: on cPanel)
    • If it's possible on your environment, try to install PHP extensions: POSIX and PCNTL
      Make sure that those extensions function like pcntl_fork are in disable_functions php.ini declaration for web, and are not disabled for cli usage.
    • If option above is not possible to do, duplicate cron entry for queue.php multiple times (ie 5x):

      Code Block
      languagetext
      * * * * * php -q /path/to/hb/queue.php -r
      * * * * * php -q /path/to/hb/queue.php -r
      * * * * * php -q /path/to/hb/queue.php -r
      * * * * * php -q /path/to/hb/queue.php -r
      * * * * * php -q /path/to/hb/queue.php -r


    • Problem: Queue is taking too much server resources (on cPanel install).
      Solution: Use queue in foreground mode (-r flag in queue.php - refer to Automation/cron setup article)
  • Enterprise install
    (HostBill installed through install.sh script, required php extensions are already in place) 
    If particular queue is not performing well (ie. Mailing queue is too slow) you can increase number of workers that this queue have active at once. To do so:
    • Login to your HostBill server through ssh.
    • Switch to HostBill user ( # su hostbill )
    • Run queue.php with -h argument to get list of queue options:

      Code Block
      languagetext
      php -q /path/to/hb/queue.php -h


    • In response to command above find argument responsible for setting number of workers on queue you wish to increase, ie: --hb_mail_queue=NUMBER
    • Edit crontab ( # crontab -e -u hostbill ) for HostBill user
    • To queue.php entry add argument with increased number of workers on queue you wish to speed up, like:
       

      Code Block
      languagetext
      * * * * * php -q /path/to/hb/queue.php --hb_mail_queue=6



Info
titleNote about Office 365 email

When using Office365 as email provider number of mail workers cannot be be set to more than 3, as your emails may be rejected with error: 4.3.2 STOREDRV