/
/
/
Selling hosting with ispmanager through WHMCS

Selling hosting with ispmanager through WHMCS

The ispmanager modules for WHMCS automate the sale of shared hosting with ispmanager:

  • ispmanager hosting — for end customers. An ispmanager user account is created for the customer, access to features and resources is assigned, the customer can use the ispmanager server to host their website.
  • ispmanager reseller — for hosting resellers. An ispmanager reseller account is created for the customer, access to features and resources is assigned, the customer can resell hosting to their end customers.

Features

The ispmanager modules in WHMCS allow automating client account management in ispmanager, including:

  • account creation
  • account activation/deactivation
  • account deletion
  • accessing ispmanager from the WHMCS administrative and client areas
  • changing a client's tariff plan

Requirements

The recommended WHMCS version is 8.9 or higher.

The ispmanager hosting and ispmanager reseller modules are available for free but require installation.

Installation

  1. Connect to the WHMCS server via SSH. 
  2. Go to the modules directory. The modules directory is located in the same directory WHMCS was installed to.

    cd /ROOT_WHMCS/modules/
  3. Download the ispmanager modules:

     wget https://www.ispmanager.com/static/files/whmcs/whmcs8_ispmanager.zip
    If the terminal does not read the wget utility

    Install the utility:

    For Debian-based operating systems
    apt install wget
    For RHEL-based operating systems
    yum install wget
  4. Unzip the modules in the modules directory:

    unzip whmcs8_ispmanager.zip
    If the terminal does not read the unzip utility

    Install the utility:

    For Debian-based operating systems
    apt install unzip
    For RHEL-based operating systems
    yum install unzip

After unzipping, the modules will be activated automatically and available for use. To verify:

  1. Log in to WHMCS as an administartir at https://YOUR_DOMAIN/admin.
  2. Go to the Configurations → Apps & Integrations section.
  3. Type in «ispmanager» into the search bar. Modules ispmanager hosting and ispmanager reseller must appear on the list labeled as Active.

Configuring connection to ispmanager

To automatically create an ispmanager account when a client orders hosting services, the ispmanager server must be linked to the service in the service settings. Linking to a service is available under one of the following conditions after creating the ispmanager server in WHMCS:

Creating a server

  1. Log in to WHMCS as an administrator at https://YOUR_DOMAIN/admin.
  2. Go to Configurations → System Settings.
  3. Select the Servers section.
  4. Click Add New Server.

  5. Fill in the fields. Required fields are marked with asterisks.

    • Module* — select ispmanager
    • Hostname or IP Address* — domain name or IP address of the server running ispmanager
    • Username* — name of the ispmanager root user or reseller
    • Password* — password of the ispmanager root user or reseller
    • Access Hash — leave blank
    • Module* — select ispmanager
    • Hostname or IP Address* — domain name or IP address of the server running ispmanager
    • Username* — name of the ispmanager root user
    • Password* — password of the ispmanager root user
    • Access Hash — leave blank
  6. Click Test Connection to check the connection. If the connection is successful, a "Connection successful" notification will be dispalyed.
  7. Fill in the rest of the fields. Required fields are marked with asterisks.
    • General Information:
      • Name* — an arbitrary name under which the ispmanager server will be saved in WHMCS. The server name will only be viewable by the WHMCS administrator.
      • Assigned IP Addresses — all public IP addresses of your ispmanager server. These IP addresses are used to verify that client domains point to your server.
      • Monthly Cost — the monthly cost of maintaining the ispmanager server.
      • Datacenter/NOC — the data center where the ispmanager server is located.
      • Maximum No. of Accounts — the maximum number of accounts that can be created on the ispmanager server.
      • Server Status Address — leave blank.
      • Enable/Disable — the server status: enabled/disabled. A disabled server cannot be connected to a new service when creating one. Active services linked to a disabled server will remain available for ordering, however an ispmanager account will not be automatically created for them.
    • Nameservers — the nameservers that will be specified in the email to the client when ordering a hosting service and will be used as authoritative when registering a domain with you along with the hosting service purchase:
      • Primary Nameserver — primary nameserver, e.g. ns1.example.com
      • Secondary Nameserver — secondary nameserver, e.g., ns2.example.com
      • Third Nameserver — tertiary nameserver, e.g., ns3.example.com, etc.
    • SSO Access Control — single sign-on access:
      • Unrestricted — allow all WHMCS administrators to automatically log in to the server with ispmanager
      • Restricted — allow automatic login to the server with ispmanager only for WHMCS administrators and users with the specified role:
        • Full Administrator
        • Sales Operator — sales department operator
        • Support Operator — technical support operator
  8. Click Save Changes.

Creating a server group

Adding servers to a group allows distributing client accounts among the group's servers according to specified rules.

  1. Log in to WHMCS as an administrator at https://YOUR_DOMAIN/admin.
  2. Go to Configurations → System Settings.
  3. Select the Servers section.
  4. Click Create New Group.
  5. Fill in the fields:
    • Name — the name under which the group will be saved in WHMCS. The group name will only be visible to the WHMCS administrator.
    • Fill Type — the rule by which a server in the group will be selected for creating a client account in ispmanager:

      • Add to the least full server — an account will be created on the server with the most amount of available space.
      • Fill active server until full then switch to next least used — accounts will be created on the default server until it is full, then on the server with the most amount of available space. To select this option, one of the servers in the group must be designated as the default server. Otherwise, ispmanager will not automatically select the server for account creation, and the account will not be created.

      Server fullness is calculated based on the ratio of already created accounts to the maximum allowed number.

    • Selected Servers — servers in the group. To add a server to the group, select it in the left column and click Add:

  6. Click Save Changes.

Default server

Each module in WHMCS is assigned a default server. The default server is used:

A single server is automatically designated as the default server.

If there are multiple servers, to designate one as the default server, click its name in the list. An asterisk will appear next to the default server:

Creating services in WHMCS

Creation of services is available after creating at least one service group.

Service groups

When adding services to groups on the customer order page, the services will be grouped into groups in the Categories section.

  1. Log in to WHMCS as an administrator at https://YOUR_DOMAIN/admin.
  2. Go to Configurations → System Settings.
  3. Select the Products/Services section.
  4. Click Create a New Group.

  5. Fill in the fields. Required fields are marked with asterisks.
    • Product Group Name* — the name of the service group under which it will be displayed in the WHMCS client area.
    • URL — a link to the group.
    • Product Group Headline — the title under which the group will be displayed in the WHMCS client area, for example, "Three pricing plans to choose from."
    • Product Group Tagline — the subtitle under which the group will be displayed in the WHMCS client area, for example, "First two weeks free!"
    • Group Features — features available to the customer when ordering any service from the group.
    • Order Form Template — an order page template. The template becomes available for selection when editing a group after it's created.
      • Use System Default (Standard Cart) — use the standard order page.
      • Use Specific Template — select a different order page for the service.
    • Available Payment Gateways — select available payment gateways.
    • Hidden — check the box to hide the service group from the WHMCS client area. The group will only be accessible via a direct link.
  6. Click  Save Changes.

Services

To create hosting services in ispmanager, at least one user or reseller template must be created.

For more information on service configuration, please refer to the official WHMCS documentation.

  1. Log in to WHMCS as an administrator at https://YOUR_DOMAIN/admin.
  2. Go to Configurations → System Settings.
  3. Select the Products/Services section.
  4. Click Create a New Product.
  5. Fill in the fields. Required fields are marked with asterisks.

    • Product Type* — select Shared Hosting
    • Product Group* service group
    • Product Name* — service name under which it will be displayed in the WHMCS client area
    • URL link to the service
    • Module — select "ispmanager"
    • Create as Hidden:
      • ON — the service will be hidden from the WHMCS client area and accessible only via a direct link
      • OFF — the service will appear in the WHMCS client area immediately after creation
    • Product Type* — select Reseller Hosting
    • Product Group* service group
    • Product Name* — service name under which it will be displayed in the WHMCS client area
    • URL link to the service
    • Module — select "ispmanager reseller"
    • Create as Hidden:
      • ON — the service will be hidden from the WHMCS client area and accessible only via a direct link
      • OFF — the service will appear in the WHMCS client area immediately after creation
  6. Click Continue.
  7. Configure the remaining hosting service settings. Required fields are marked with asterisks.

    Details
    • Product Tagline — the slogan with which the service will be displayed as a recommended feature in the WHMCS client area when ordering another service, for example, "Optimal price-to-resource ratio."
    • Product Short Description — a short description with which the service will be displayed as a recommended feature in the WHMCS client area when ordering another service, for example, "Suitable for hosting business websites."
    • Product Description — the description with which the service will be displayed on the order page, for example, a list of features.
    • Product Color — the theme color with which the service will be displayed as a recommended feature in the WHMCS client area.
      For a service to be displayed as a recommended feature when ordering another service, it must be added as a recommended feature in the other service's settings on the Cross-sells tab.

    • Welcome Email — a welcome email template that will be automatically sent to the customer upon service activation.

      • None — the email will not be sent automatically.
      • Hosting Account Welcome Email — the default "Hosting Account Welcome Email" template will be used.

      Editing the default template and creating your own templates is available in Configuration → System Settings → Email Templates.

    • Require Domain — сheck this box to require the client to specify their own domain or register a new one when ordering hosting services. The ability to register, transfer, and use a client's own domain is enabled in Configuration → System Settings → General Settings on the Domains tab.
    • Stock Control — check this box to limit the number of services available for ordering and enter the available quantity in the field. Once this quantity is reached, the service will no longer be available for ordering.
    • Apply Tax — add tax to the service price. Taxes are configured in Configuration → System Settings → Tax Configuration.
    • Featured — check this box to display the service as the most popular on the order page. Not available for all order page templates.
    • Hidden — check this box to hide the service from the WHMCS client area. The service will be available for ordering via a direct link.
    • Retired — check this box to make the service unavailable for ordering from either the WHMCS client or administrative areas, including via a direct link.
    Pricing
    • Payment Type:

      The service is available free of charge.

      The service will be available for a one-time payment.

      Check the Enable box next to the EUR currency to activate pricing in that currency and specify:

      • Setup Fee — the cost of the service
      • Price — a one-time fee for opening the service

      The service will be available by subscription.

      Check the Enable box next to the desired payment period to activate that billing period:

      • One Time/Monthly
      • Quarterly
      • Semi-Annually
      • Annually
      • Biennially
      • Triennially

      For every active period specify:

      • Setup Fee — the cost of the service
      • Price — a one-time fee for opening the service
    • Allow multiple quantities — allow ordering multiple services of this type:
      • No — do not allow
      • Yes - Multiple services — when ordering multiple services, each service will be processed as a separate order with a price equal to the service price.
      • Yes - Scaling service — when ordering multiple services, all services will be processed as a single order with a price equal to the service price multiplied by the number of services.
    • Recurring Cycles Limit — the number of times a service with the "Subscription" payment type selected will renew. Once this limit is reached, the customer's service will be automatically canceled. If the value is 0, the service will renew indefinitely until manually canceled.
    • Auto terminate/Fixed term — the number of days after which the service will be automatically canceled.
    • Termination email — a template for the email that will be automatically sent to the client upon automatic cancellation of the service if the Auto terminate/Fixed term parameter is configured.
    • Pro-rata billing — check the box to enable prorated payment. In this case, the first payment when ordering a service will be calculated from the order date to the next recurring billing date, and the recurring billing date will be the same for all clients. Parameters:
      • Prorata date — day of the month of the recurring billing
      • Charge next month — the day of the month after which the payment for the next billing period will be added to the first payment. For example, if you set this value to 20, for orders placed after the 20th, the first payment will include the remainder of the month plus the entire next billing period. If you leave this value at 0, the next billing period will always be included in the first payment. If you set this value to 32, this will never be the case.

        Example

        A monthly billing period is selected for the hosting service, prorated payment is enabled, recurring charges are set for the 1st of the month, and the Charge Next Month parameter is set to 20.

        The client orders the hosting service on January 22.

        Their first payment will cover the remainder of January and all of February. The next invoice will be issued on March 1.

    • On-Demand Renewals — early service renewal:
      • Use System Default — use the global settings specified in the Ordering tab under Configuration → System Settings → General Settings
      • Use Product-Specific Configuration — override the global settings for the service
      • Check to allow clients to place renewal orders early — check the box to allow clients to create renewal orders and specify the maximum number of days before the due date that clients can order renewals for each billing period. To disable early renewals for a specific period, enter 0.
    Module Settings 
    • Server Group — the server or group of servers hosting the ispmanager panel. Select a group from the list or None if the default server will be used for the service.
    • Package Name — enter the name of the user/reseller template in ispmanager. The selected template will be used to create a user/reseller for the client, allocate resources, and assign access in ispmanager.

      The template name must be specified exactly as in ispmanager.

      To override the resources and access defined by the template, fill in the required fields manually. If a parameter does not exist in WHMCS but is present in ispmanager, the parameter value from the ispmanager template will be used. Parameter values ​​specified in WHMCS will be applied unchanged to the ispmanager account, even if the units of measurement for the parameters in WHMCS and ispmanager do not match.

      • Disk quota — the maximum amount of disk space a user's files can occupy in ispmanager.
      • Traffic quota — the maximum traffic used by the user's websites and FTP users in ispmanager per calendar month.
      • Db count — the maximum number of databases a user can have in ispmanager.
      • Db user count — the maximum number of database users a user can have in ispmanager.
      • FTP user count — the maximum number of FTP users a user can have in ispmanager.
      • Web domains count — the maximum number of websites a user can have in ispmanager.
      • Email domains count — the maximum number of email domains a user can have in ispmanager.
      • Email box count — the maximum number of mailboxes a user can have in ispmanager.
      • CPU time — the maximum CPU time that each Apache process for a user in ispmanager can spend processing.
      • Memory limit — the maximum amount of RAM that a user's processes can use in ispmanager.
      • Processes count limit — the maximum number of processes that can be running simultaneously on behalf of a user in ispmanager.
      • Email box quota — the maximum size of each user's mailbox in ispmanager.
      • Main IP address type — the type of IP address that will be assigned to the user in ispmanager. Addresses are allocated automatically in ispmanager from an address pool. If a pool has not been created or pool creation is not supported by your ispmanager plan, the user will be assigned a shared address.
        • shared
        • ipv4
        • ipv6
      • Username template — the username template in ispmanager. The default template is SERVICE_ID.user.
      • Domain template — the domain name template in ispmanager. The default template is SERVICE_ID.domain.
      • Users — the maximum number of users a reseller can create in ispmanager.
      • Technical domains — the maximum number of technical domains a reseller can create in ispmanager.
      • IPv4 addresses — the maximum number of IPv4 addresses that can be assigned to a reseller in ispmanager.
      • IPv6 addresses — the maximum number of IPv6 addresses that can be assigned to a reseller in ispmanager.
      • Disk — the maximum disk space that files of all reseller users can occupy in ispmanager.
      • Traffic — the maximum traffic used by websites and FTP users of all reseller users in ispmanager per calendar month.
      • FTP users — the maximum number of FTP users of all reseller users in ispmanager.
      • WWW-domains — the maximum number of websites of all reseller users in ispmanager.
      • Domain names — the maximum number of domain names for all reseller users in ispmanager.
      • Mail domains — the maximum number of mail domains for all reseller users in ispmanager.
      • Mailboxes — the maximum number of mailboxes for all reseller users in ispmanager.
      • CPU time — the maximum CPU time that each Apache process for reseller users in ispmanager can spend processing.
      • RAM — the maximum amount of RAM that each process for reseller users in ispmanager can use.
      • User processes — the maximum number of simultaneously running processes for reseller users in ispmanager.
      • Mailbox maximum size — the maximum size of each mailbox for each reseller user in ispmanager.
      • Email limit — the maximum number of emails that can be sent from each mailbox for each reseller user in ispmanager.
      • Cron jobs — the maximum number of scheduler jobs that each reseller user can create in ispmanager.
      • Simultaneous connections per session — the maximum number of simultaneous connections from a single IP address to reseller user sites in ispmanager.
      • Apache handlers — the maximum number of Apache handlers for each site of each reseller user in ispmanager.
      • Username template — the reseller username template in ispmanager. The default template is SERVICE_ID.user.

    Automatization options:

    • Automatically setup the product as soon as an order is placed
    • Automatically setup the product as soon as the first payment is received
    • Automatically setup the product when you manually accept a pending order
    • Do not automatically setup this product
    Custom Fields

    Custom fields allow you to retrieve and store information about clients and services, such as requesting a client's taxpayer identification number when ordering a service or making internal notes about the service for the support team.

    • Field Name
    • Display Order — the field display order. By default, fields are displayed in the order they are added.
    • Field Type:
      • Text Area
      • Text Box
      • Link/URL
      • Password
      • Drop Down
      • Checkbox
    • Description — field description for the client.
    • Validation — a regular expression for validating the entered value.
    • Select Options — specify options for the drop-down list field, separated by commas.
    • Admin Only — check the box to hide the field from the WHMCS client area. The field will only be accessible to the WHMCS administrator.
    • Required Field — check this box to make the field required.
    • Show on Order Form — check this box to display the field on the service order page.
    • Show on Invoice — check this box to display the field on invoices.

    To save the field and add a new one, click Save Changes.

    Configurable options 

    Configurable options allow the customer to customize certain service parameters, such as the amount of available disk space. In this case, the final cost of the service will depend on these user settings.

    To configure options, go to Configuration → System Settings → Configurable Options.

    To activate, select an option from the Assigned Option Groups list.

    Upgrades
    • Package Upgrades — the service or services the client can upgrade to from their current package.
    • Configurable Options — check the box to enable upgrades and downgrades for configurable options.
    • Upgrade Email — a template for the email that will be automatically sent to the client when a service is upgraded or downgraded.

    For more information on package upgrades and downgardes, please refer to the official WHMCS documentation.

    Free Domain

    A free domain can be a bonus when ordering a hosting service, for example, for 1 year.

    • Free Domain — set up a free domain with hosting service:
      • None — the domain will not be provided.
      • Offer a free domain registration/transfer only (renew as normal) — offer free domain registration and transfer. The client will be charged for domain renewal.
      • Offer a free domain registration/transfer and free renewal (if product is renewed) — offer free domain registration and transfer. Domain renewal will be free of charge for the client.

        For more information on configuration of domain registartion renewal, please refer to the official WHMCS documentation.

    • Free Domain Payment Terms — the client will be offered a free domain after selecting a period or miultiple periods:
      • One Time/Monthly
      • Quarterly
      • Semi-Annually
      • Annually
      • Biennially
      • Trienniall
    • Free Domain TLD's — top-level domain zones where a free domain will be available.

    To make a free domain available for order:

    • activate the domain registration option in Configuration → System Settings → General Settings on the Domains tab:

    • in the service settings, check the Require Domain box on the Details tab.
    Cross-sells

    Recommended products and services will be offered to the customer when ordering the current service.

    To add a product or service to the recommended list, select it from the Product Cross-sells list and click Save Changes.

    Recommendations can be activated and configured in Configuration → System Settings → General Settings on the Ordering tab.

    Other
    • Custom Affiliate Payout — affiliate payouts:
      • Use Default — use default payouts
      • Percentage — pay a percentage of the cost of services ordered by the referred client
      • Fixed Amount — pay a fixed amount
      • No Commission — do not pay affiliate payouts
    • Affiliate Pay Amount — the affiliate payout percentage or amount. By default, the amount will be paid regularly. To make the payment a one-time payment, check the One Time Payout box.
    • Subdomain Options — the domain or domains on which the client will be offered to create a free subdomain when ordering a service. To add multiple domains, separate them with commas.
    • Associated Downloads downloadable files that will be provided to the client when ordering a service.
    • Overages Billing — check this box to enable billing for server resource usage over the service limit:
      • Soft Limits — the base amount of server resources included in the service:
        • Disk Usage
        • Bandwidth
      • Overage Costs — the price per unit of resource used over the limit:
        • Disk Usage
        • Bandwidth 

    For more information on over-limit resource payments, please refer to the official WHMCS documentation.

    Links
    • Direct Shopping Cart Link — a direct link to the shopping cart with the added service
    • Direct Shopping Cart Link Specifying Template — a direct link to the shopping cart with an added service and a custom order page template
    • Direct Shopping Cart Link Including Domain — a direct link to the shopping cart with an added service, to the domain selection form
    • Product Group Cart Link — a direct link to a group of services
    • Product URLs — a direct link to the service
  8. Click Save Changes.
  9. Create a separate service for each hosting plan.

Test hosting order

  1. Create a test hosting service.
  2. Log in to WHMCS with your test client account at https://YOUR_DOMAIN/index.php or create a new account.

    How to create a test client account in WHMCS
    1. Click Account → Register

    2. Fill in the fields. Required fields are marked with asterisks. Data may be fictitious.
      • Personal Information:
        • First Name* — name of the test client
        • Last Name* — last name of the test  client
        • Email Address* — email of the test client
        • Phone Number — phone number of the test client
      • Billing Address:
        • Company Name — place of work
        • Street Address
        • Street Address 2
        • City
        • State
        • Postcode
        • Select a country from the list
      • Additional Information:
        • Select a currency from the list, such as USD or EUR
      • Account Security:
        • Password*
        • Confirm Password*
        • Generate Password
          • Password Length
          • Generated Password
          • Generate New Password
          • Copy
          • Copy to Clipboard and Insert
    3. Click Register.
  3. Order a hosting service.

    How to order hosting services from WHMCS

    The appearance and set of parameters of the test service may differ depending on the settings selected when creating the hosting service.

    1. Go to Services → Order New Services.
    2. Select a service and click Order Now.
    3. Review the order details and click Checkout.
    4. At the Checkout step, select the client's test account and payment method.
    5. Click Complete Order.

    If successful, an order confirmation and order number will appear:

  4. If automation was configured in the Module Settings section when creating the service, an ispmanager account will be automatically created for the test client.

    How to check if an ispmanager account is created
    1. Go to Services → My Services.
    2. Click the desired service.
    3. Click Login to Control Panel. You will be automatically logged in to ispmanager with your user account.
  5. Delete the test service if needed.

    How to delete a test order in WHMCS
    1. In the WHMCS admin area, go to Orders → List All Orders.
    2. Select the required order from the list.
    3. Click Cancel Order to cancel it.
    4. Confirm the cancellation. The customer's account in the ispmanager panel will be automatically deleted.
    5. Select the order and click Delete Order to remove it from the list of orders in the WHMCS admin and customer areas.