# Packages

# Overview

A package is a collection resources and tools that a customer can be subscribed to. A customer can be subscribed to multiple packages which can all be managed through the Enhance panel.

# Add a package

To add a hosting package:

  1. Open Settings in the left side bar
  2. Click Packages
  3. When the page loads click Add package
  4. Complete the form and select Add package to finish

TIP

The 'Duplicate package' tool allows you to make a carbon copy of an existing hosting package

# Package settings explained

# Details

  • Package name
  • Package type

# Website resources

  • Number of websites
  • Number of staging sites
  • Disk space allowance
  • Bandwidth allowance
  • Number of MySQL databases

# System resources

All system resource limits apply per website. Any 'Addon domains' created under a single website will run within the same container/namespace and will therefore be limited in aggregate to the per-website resource limits set. Staging websites have their own hard resource limits.

By default a website is bound by the system resource limits of the package it is hosted on. It is possible for the Master Organisation and a Reseller to override these settings on a per website basis.

  • Memory limit this is the total system memory which the website processes can consume. If this limit is reached, processes belonging to the website might be killed using the kernel's OOM killer. Usually the newest process will be killed first.

  • Virtual CPUs 1 "virtual CPU" is the equivalent of 1 core or CPU thread running at 100%. If this limit is reached, processes will be artificially slowed by the kernel to keep the CPU usage under the threshold.

You can assign virtual CPU resources in smaller increments, for example you can assign 1.5 vCPUs to a website.

WARNING

Be wary of setting this limit too low. If website processes take longer to execute, more PHP workers will exist concurrently for a given traffic level and this will in turn consume more memory. It might be more efficient to assign additional CPU resources to your customers to save memory.:: warning

  • IOPS this is the number of disk operations per second that the website's processes can perform on any disk on your system. Your server's disks will have an inherent limitation to the number of IOPS they can process and setting a per-website limit helps prevent the storage from being overwhelmed by a single busy or malicious website.

Bear in mind that a single PHP request could perform hundreds of IO operations - reading include files, session files, etc.

If this limit is reached, the website's processes will hang in D state and will continue to consume memory. Be wary of setting this limit too low.

  • IO Bandwidth This is the amount of data which can be read or written by your website to and from the disks on your system. It functions similarly to the IOPS limit and processes reaching this limit will hang in D state until more IO bandwidth is available to them.

TIP

We recommend being generous with this limit, otherwise a single large file read performed by the website could cause the website to hit its limit.

  • Nproc This is the total number of processes the website can have within its container - including PHP workers, anything forked from PHP, cron jobs, SSH, etc. If this limit is reached then the website will not be able to fork additional processes.

This might cause the 500 HTTP error code on the website.

You should set this limit at least +5 higher than the PHP worker limit. For php-fpm this is configurable through the website's php-fpm settings in the UI. For LSPHP this is currently set to 50 and is not yet configurable.

# Applications

  • Allow software installer
  • Pre-install applications

    TIP

    We recommend setting this to 'WordPress' to offer a WordPress specific package

  • Pre-install plugins
  • Allow wp admin
  • Allow WordPress manager

# Emails

TIP

If the Email section is locked, ensure an Email role installed on your Enhance cluster. You will not be able to offer the Email tools until an Email role is installed.

  • Number of Mailboxes
  • Mailbox type
  • Maximum dynamic mailbox size
  • Number of forwarders only

# Domains

  • Number of domain aliases
  • Allow DNS zone editor
  • Allow Gmail DNS auto configuration

# Backups

TIP

If the Backup section is locked, ensure a Backup role installed on your Enhance cluster. You will not be able to offer the backup tools until a Backup role is installed.

  • Allow backups will give customers the option to view 'system' generated backups from within their account via the 'Backups' tab on websites dashboard. System generated backups will run according to your configured backup role settings.
  • Allow manual backups will allow customers to generate on demand backups via the 'Backup now' button in the 'Backups' tab on a websites dashboard.
  • Allow self restore backups

# Features

  • Allow self installation of SSL certificates
  • Allow Let's Encrypt auto-provision
  • Allow SSH keys
  • Allow website cloning
  • Allow php.ini editor

# Edit a package

The resources and features assigned to a packages can be edited after creation. Any changes made to an existing package will apply to new subscribers only.

# Subscribe a customer to a package

Customers can be subscribed to multiple shared and dedicated packages and 1 reseller package which can all be managed from within the Enhance control panel.

To subscribe a customer to a package:

  1. Open Customer in the left side bar
  2. Click on the customer you would like to subscribe a customer to
  3. Visit the Packages tab
  4. Select Susbscribe package
  5. When the modal loads, select the package and click Subscribe to finish

# Upgrade or downgrade a package

It is possible to adjust the packages a customer is subscribed to. For example, if a customer's site grows in popularity you can seamlessly upgrade a customer from a shared hosting package to a dedicated package from within the Enhance panel.

To upgrade or downgrade a package:

  1. Open Customer in the left side bar
  2. Click on the customer you would like to upgrade or downgrade
  3. Visit the Packages tab
  4. Select the drop down menu on the package you would like to upgrade or downgrade and click Upgrade/downgrade
  5. When the modal loads, select the new package and click Subscribe to finish