“Seamless Integration: How to Embed JetBackup 5 Client Portals Directly into Your WHMCS Client Area”
Embedding JetBackup 5’s self‑service portal directly into the WHMCS client area gives hosting providers a friction‑free, branded backup experience that cuts support tickets and opens upsell opportunities. This guide walks you through installing the official JetBackup addon, crafting a custom WHMCS template with an iframe, and using a secure WHMCS hook to generate time‑limited portal URLs—all while keeping security tight and the integration future‑proof.
Embedding JetBackup 5 Self‑Service Portals Directly Inside WHMCS Client Area
For hosting providers, letting customers manage their own backups is a powerful differentiator. JetBackup 5 delivers a robust, feature‑rich backup engine, while WHMCS offers a seamless billing and client‑area experience. By embedding JetBackup’s self‑service portal straight into the WHMCS client area, you create a unified, friction‑free workflow that cuts support tickets, boosts satisfaction, and opens doors to upsell premium backup plans.
This guide walks you through every step—from prerequisites to final testing—while sharing best‑practice tips that keep your integration secure and future‑proof.
1. Prerequisites & Initial Setup
- WHMCS 8.5+ (or 8.4 with the latest patches) to guarantee API‑hook compatibility.
- JetBackup 5 installed on the same server as WHM/cPanel with the client‑portal component activated.
- Root or reseller access to cPanel/WHM for API‑token creation and DNS tweaks.
- SSL certificate covering both
yourdomain.comandclient.yourdomain.com—the portal must run over HTTPS. - Basic knowledge of WHMCS module development, or a willingness to follow the code snippets below.
Once these items are in place, you’re ready to bridge the two platforms.
2. Installing the JetBackup WHMCS Module
JetBackup supplies an official WHMCS addon that handles provisioning, restoration, and portal generation. Follow these steps:
- Download the module from the JetBackup client portal or your account dashboard.
- Upload the extracted folder to
modules/addons/jetbackupon your WHMCS server. - Log into WHMCS → Setup → Addon Modules, locate “JetBackup 5,” and click Activate.
- Enter the required configuration:
- API URL – typically
https://yourcpanelserver:2087/json-api/. - API Token – generate a token in WHM (Home → Development → Manage API Tokens) with
All Featuresor at leastBackuppermissions. - Portal URL – the base URL where JetBackup’s client portal resides (e.g.,
https://client.yourdomain.com/jetbackup).
- API URL – typically
- Save the settings. WHMCS will now communicate with JetBackup via its internal API.
After activation, a new “JetBackup” tab appears on each client’s product details page—your first sign that the integration works.
3. Embedding the Self‑Service Portal Inside the WHMCS Client Area
The default module opens the portal in a new window, but most providers prefer an embedded experience. The method below uses an <iframe> and a WHMCS hook to inject the portal into a custom client‑area page.
3.1 Create a Custom Client Area Template
- Copy
templates/clientarea.tpltotemplates/custom/jetbackupclientarea.tpl. - Open the new file and locate the main content block (usually marked by
{$content}). - Replace it with the iframe markup:
<div class="jetbackup-embed">
<iframe src="{$jetbackupUrl}" width="100%" height="900" frameborder="0" scrolling="auto">
Your browser does not support iframes.
</iframe>
</div>
We’ll supply {$jetbackupUrl} via a hook.
3.2 Add a WHMCS Hook to Generate the Secure URL
Create includes/hooks/jetbackupClientPortal.php with the following content:
<?php
use WHMCS\\ClientArea;
use WHMCS\\Module\\Addon\\JetBackup\\JetBackup;
add_hook('ClientAreaPage', 1, function($vars) {
// Run only on the custom template
if ($vars['templatefile'] !== 'jetbackupclientarea') {
return;
}
// Get logged‑in client ID
$clientId = $_SESSION['uid'] ?? 0;
if (!$clientId) {
return;
}
// Load the JetBackup addon instance
$jetBackup = new JetBackup();
// Generate a signed, time‑limited portal URL
$portalUrl = $jetBackup->generateClientPortalUrl($clientId, [
'expiry' => time() + 3600, // 1‑hour validity
'features' => ['restore', 'download', 'schedule']
]);
// Pass the URL to the template
return ['jetbackupUrl' => $portalUrl];
});
?>
The generateClientPortalUrl method (bundled with the official JetBackup module) creates a signed token that prevents unauthorized access. Adjust the features array to limit what customers can do.
3.3 Register the New Template in WHMCS
In WHMCS → Setup → General Settings → Client Area, set the Default Template to custom/jetbackupclientarea for the product or service group you wish to expose. Alternatively, use the product‑level “Custom Client Area Template” option under the product’s Module Settings.
3.4 Styling & Responsiveness
Because the portal is inside an iframe, tweak the CSS to avoid double scrollbars. Add the following to your custom CSS file (usually templates/custom/css/custom.css):
.jetbackup-embed iframe {
min-height: 800px;
border: none;
}
@media (max-width: 768px) {
.jetbackup-embed iframe {
height: 1200px; /* More vertical space on mobile */
}
}
4. Testing, Security Checks, and Best Practices
4.1 Functional Testing
- Log in as a client with an active hosting package that has JetBackup enabled.
- Navigate to the custom client‑area page (e.g.,
clientarea.php?action=services→ “Backup Portal”). - Verify that the iframe loads the JetBackup UI without prompting for additional login credentials.
- Test core actions: create a new backup schedule, download a recent backup, and initiate a restore to a test sub‑directory.
4.2 Security Review
- Signed URLs – Keep token expiry short (1–2 hours) to reduce the risk of URL leakage.
- SameSite Cookies – If you share session cookies between WHMCS and JetBackup, set
SameSite=LaxorStrictto prevent CSRF. - Content Security Policy (CSP) – Add
frame-src https://client.yourdomain.comto your CSP header so only the trusted portal can be framed. - IP Restrictions – Optionally limit the JetBackup API token to specific server IPs via WHM’s API Token settings.
4.3 Ongoing Maintenance
Both WHMCS and JetBackup receive frequent updates. Keep the integration stable by:
- Subscribing to release notes for each product.
- Testing upgrades on a staging copy before applying them to production.
- Reviewing the hook code for deprecation warnings (e.g., changes in the JetBackup SDK).
- Monitoring logs (
modules/addons/jetbackup/logs/and WHMCS activity logs) for failed token generations or API errors.
5. Enhancing the Client Experience
Embedding the portal is just the foundation. Consider these value‑adds to turn backup management into a revenue driver:
- Automated Email Reminders – Use WHMCS automation to alert clients when their backup quota nears its limit.
- Upsell Add‑On Products – Offer “Premium Backup Retention” as a WHMCS add‑on that automatically adjusts the JetBackup plan via the API.
- Self‑Service Restoration Guides – Embed short video tutorials or a collapsible FAQ inside the same client‑area page.
- Analytics Dashboard – Pull backup usage stats via JetBackup’s API and display a summary chart in WHMCS (e.g., total GB stored, last backup date).
Conclusion
Integrating JetBackup 5’s self‑service portal directly into the WHMCS client area delivers a seamless, branded experience that empowers customers and lightens the support load. By installing the official JetBackup addon, crafting a custom client‑area template, and using a concise WHMCS hook to generate secure, time‑limited URLs, you can embed a fully functional backup interface without compromising security.
Remember to test thoroughly, enforce strong token policies, and keep both platforms up to date. With the foundation in place, you can further enrich the client journey through automated communications, upsell opportunities, and insightful analytics—all while maintaining the professional polish that modern hosting providers expect.
More in Web Panel
Domain Name Theft & Hijacking: 5 Essential Steps to Protect Your Registrar Account
In today's hyper‑connected world, a domain name is a vital asset that cybercriminals constantly target, making robust protection essential. By choosing a reputable registrar, hardening credentials, enabling domain‑level safeguards, monitoring activity, and training staff, you can keep your digital real‑estate secure and maintain full control over your online presence.
Mastering CloudLinux Node Rebalancing: A Step‑by‑Step Guide for Multi‑WHM Bare Metal Environments
Managing a fleet of WHM/cPanel servers with CloudLinux can feel like juggling flaming torches, but automated node rebalancing turns that chaos into a well‑orchestrated performance symphony. By evenly redistributing LVE cages across bare‑metal nodes, you maximize hardware ROI, maintain consistent CPU and memory allocation, and free your team from tedious manual migrations.
Boost Your Site’s Performance: Configuring CloudLinux mod_lsapi for Maximum PHP Speed vs. Standard PHP‑FPM
When running a high‑traffic shared‑hosting site on CloudLinux, choosing the right PHP handler can dramatically impact performance. This guide compares LiteSpeed’s mod_lsapi and the traditional PHP‑FPM, detailing how each architecture affects latency, throughput, and memory usage, and provides step‑by‑step tuning tips to unlock maximum PHP execution speed.
