Development Guides and Tutorials

Overview

Welcome to our Developer Guide and Tutorials page. You can find information about integrating and customizing interfaces with cPanel & WHM.

Guides

Guide to Testing Custom Code — This guide explains the basics of how to test your custom code.

Guide to cPanel Interface Customization and Branding in the Paper Lantern Theme — You can use several different methods to modify the appearance of the cPanel interface.

Guide to cPanel Interface Customization and Branding in the Jupiter Theme — You can use several different methods to modify the appearance of the cPanel interface.

Guide to cPanel Plugins in the Paper Lantern Theme — cPanel plugins add new functionality to the cPanel interface.

Guide to cPanel Plugins in the Jupiter Theme — cPanel plugins add new functionality to the cPanel interface.

Guide to WHM Plugins — WHM plugins add new functionality to the WHM interface.

Guide to WHM dynamicui Files — WHM themes use dynamicui files to display icons and groups.

Guide to Template Toolkit — Template Toolkit is the main template system for the cPanel and WHM interfaces.

Guide to Site Publisher Templates — You can create your own custom templates for cPanel's Site Publisher feature.

Guide to API Authentication — cPanel & WHM supports several API authentication methods.

Guide to Standardized Hooks — Standardized Hooks trigger applications when cPanel & WHM performs an action.

Guide to Package Extensions — Package extensions add custom fields to packages and accounts.

Guide to Perl in cPanel & WHM — cPanel & WHM ships with multiple Perl environments.

Guide to cPanel Variables — The LiveAPI system and dynamicui files can access cPanel's global variables.

Guide to Locales — The locale system localizes text in Perl, Template Toolkit, or JavaScript code.

Guide to the LiveAPI System — The LiveAPI System provides environments for applications in the cPanel interface.

Guide to Custom dnsadmin Plugins — Custom dnsadmin plugins can update DNS records on external systems.

Guide to API Privilege Escalation — To run a function with escalated privileges, call a function through the Call method or use the send_cpwrapd_request pluggable wrapper.

Guide to External Authentication — External Authentication modules allow users to log in through OpenID Connect-compliant identity providers.

Guide to cPanel Market Provider Modules — This document explains how to create a third-party custom cPanel Market provider module with basic functionality.

Guide to Transfer and Restore API Functions — The system uses several WHM API 1 functions during the transfer and restore process.

Guide to Report Receiver APIs for the ModSecurity Rule Reports — This document describes report receiver API endpoints for the ModSecurity™ Rule Reports.

Guide to Replacing cPanel API 1 Functions with UAPI Equivalents — This document lists the UAPI functions which replace previously-deprecated cPanel API 1 functions.

Guide to Integration Links — Integration links create a link in a user's cPanel interface using WHM API 1.

Guide to Third-Party AutoSSL Provider Modules — AutoSSL provider modules allow your server's users to automatically secure locally-hosted domains on their accounts with certificates from that SSL certificate provider.

Guide to Custom Service Notifications — You can create modules to send notifications to custom services.

Tutorials

Add a Link to the cPanel Interface — This tutorial adds an icon that links to an external location to the cPanel interface.

Call UAPI's SSL::install_ssl Function in Custom Code — This tutorial creates custom code to call UAPI's SSL::install_ssl function.

Create a Custom cPanel Style — This tutorial creates a custom cPanel style and applies it to the cPanel or Webmail interfaces.

Create a ModSecurity Vendor — This tutorial describes how to create a custom ModSecurity™ vendor.

Create a New Jupiter Interface in the Jupiter Theme — This tutorial uses Template Toolkit to create a new cPanel interface for the Paper Lantern theme.

Create a New Jupiter Interface in PHP in the Jupiter Theme — This tutorial uses PHP to create a new cPanel interface for the Paper Lantern theme.

Create a New Paper Lantern Interface — This tutorial uses Template Toolkit to create a new cPanel interface for the Paper Lantern theme.

Create a New Paper Lantern Interface in PHP — This tutorial uses PHP to create a new cPanel interface for the Paper Lantern theme.

Create a New WHM Interface in PHP — This tutorial uses PHP to create a new WHM interface.

Create a New WHM Interface in Template Toolkit — This tutorial uses Template Toolkit to create a new WHM interface.

Create a Standardized Hook — This tutorial adds custom hooks to preserve a customized configuration file.

Create a WHM Plugin — This tutorial shows how to use WHM plugins to add custom system administrator-level functionality to cPanel & WHM servers.

Create Custom-Branded Login Pages — This tutorial creates server-wide custom login pages for the cPanel, WHM, or Webmail interfaces.

Integrate Custom Webmail Applications — This tutorial explains how to integrate custom webmail applications in cPanel's Webmail interface (cPanel >> Home >> Email >> Email Accounts >> Check Email).

Localize Text in cPanel Plugins — This tutorial creates and installs a fully-localized cPanel plugin.

Register a WHM Plugin with AppConfig — This tutorial explains how to register a WHM plugin with AppConfig.

Replace a cPanel API 1 Function With a UAPI Function — This tutorial shows how to replace a deprecated cPanel API 1 function with a UAPI function in a cPanel integration or plugin.

Use UAPI's Fileman::upload_files Function in Custom Code — This tutorial explains the process to upload files with UAPI's Fileman::upload_files function.


If you have questions or need help with your customization project, join the conversation on our cPanel Developers Forum, or reach out to us in Discord.

We encourage anyone who develops for cPanel products to read the cPanel Blog, and join our Plugin Developers mailing list.