Skip to content
Truehost Logo
Websites
Truehost.com Truehost Cloud Truehost Kenya Truehost Nigeria Truehost South Africa Truehost India Truehost UK Truehost Canada
Contact us
Policies
Data Privacy Policy Domain Name and Services Dispute Resolution Policy Abuse Policy File Migration Policy
Coupons

client area

8
  • How to create add funds invoice from truehost client area.
  • How To Move A Website From One Truehost Account To Another Truehost Account
  • How to Power OFF, Powe ON and Reboot a VPS from client area.
  • How to Acess your Virtualizor Account from Truehost Client area
  • How to change VPS Password from Truehost Client Area
  • How to Access VPS via VNC from Truehost Client Area
  • How to set a VPS to rescure mode from Truehost Client area
  • How to Re-install a Tcloud VPS Operating System (OS) from Truehost Client Area

Truehost Reseller Panel

9
  • Truehost Domains Reseller API
  • How to Add Custom Nameservers in Truehost Reseller Panel
  • How to Set Up Payment Methods in the Truehost Reseller Panel
  • How to Set Up Payment Methods in the Truehost Reseller Panel
  • How to Set Up Domain Pricing in the Truehost Reseller Panel
  • Connect to WHMCS: Move Your Customers to the Truehost Reseller Panel
  • What You Need To Set Up Your Truehost Reseller Panel
  • How to White Label the Truehost Reseller Panel Client Area and Admin
  • How to Create Hosting Packages on The Truehost Reseller Panel

Managed Applications

3
  • Managing Truehost Vaultwarden
  • OpenClaw Hosting Walkthrough
  • Working with Managed VPN

Cloud

4
  • How to Enable Ports, Whitelist, and Blacklist IPs in CSF Firewall (ConfigServer Security & Firewall)
  • How to set up Hostname SSL on CWP
  • How to import/export a MariaDB/MySQL database on Cyberpanel
  • How to resize a VPS Disk space

Cloud servers in Kenya

224
  • How to Install and Configure ModSecurity in WHM
  • How to Configure Hostname and Default Nameservers in WHM
  • How to Migrate cPanel Accounts Between cPanel Servers Using WHM
  • How to install a PHP extension in WHM
  • How to remove a DNS zone from WHM
  • How to Suspend / Unsuspend cPanel Accounts Within WHM
  • How to Assign A dedicated IP to a Cpanel Account on WHM
  • How to Add an IP Adress to a Cpanel Server From WHM
  • How to Set Up A DNS Clusters in WHM
  • How to Set Document Root outside public_html for Addon Domain OR Sub Domain
  • How to Create a Backup Job in WHM With Jetbackup
  • How to Add A backup Destination in Jetbackup on A cPnel Server
  • How to Migrate Email Accounts Between cPanel Servers
  • How to enable Shell Access for a Cpanerl Accout
  • How to Automate Updates for cPanel and System Software via WHM
  • How to Schedule cPanel Backups in WHM
  • How to Enable Two-Factor Authentication for WHM Access
  • How to Set Up Custom Branding for Reseller Accounts in WHM
  • How to change cPanel Account Ownership from WHM
  • How to Use MultiPHP in WHM to Change your Server’s PHP Version
  • How to Convert an existing account to Reseller Accounts in WHM
  • How to create and Managing Reseller Accounts in WHM
  • How to Create a cPanel account within WHM
  • How to Add a Remote MySQL Access Host in Webuzo
  • How to Configure Apache as a Reverse Proxy with mod_proxy
  • How to Set Up a Reverse Proxy with Nginx on AlmaLinux 9
  • How to Install and Configure NGINX on CWP
  • How to Monitor Server Health with Nagios
  • How to Forward Ports With Iptables On A Linux Server
  • How to Configure and Manage MySQL Databases in Webuzo
  • How to Whitelist an IP with CSF
  • How To Open Ports On Ubuntu
  • How to Transfer files from a Linux Server to Windows Server using WinSCP
  • How to Configure Firewalld for Enhanced Server Security
  • How to Create a Container in Proxmox
  • How to Backup and Restore Virtual Machines (VMs) in Proxmox
  • How to Create Virtual Machines in Proxmox
  • How to Install and Use Proxmox for Virtualization
  • How to Create & Manage FTP in Webuzo With Enduser Access
  • How to Change File Permissions in Webuzo File Manager
  • How to Install and Configure HAProxy for Load Balancing on Almalinux
  • How to Update a CyberPanel Server
  • How to Create Additional admin User Accounts in CyberPanel
  • How to Disable Two-Factor Authentication in CyberPanel
  • How to Enable Two-Factor Authentication in CyberPanel
  • Implementing Firewall and Security Measures in CyberPanel
  • How to Install WordPress on Webuzo
  • How to Change the PHP Version in the Webuzo Panel
  • How to Install an SSL Certificate in Webuzo
  • How to Create a Self-signed SSL Certificate in Webuzo
  • How to Generate a Certificate Signing Request (CSR) on Webuzo
  • How to Add Subdomain in Webuzo With Enduser Access
  • How to Add a Domain in Webuzo With Enduser Access
  • How to Enable/Disable ModSecurity in Webuzo
  • How to Add Domain and Nameservers in Webuzo For Root Users
  • How to Add Domain Alias in Webuzo With Enduser Access
  • How to Add or Edit DNS Records in Webuzo Panel
  • How To Change The Root Password Of Webuzo Control Panel
  • How to Delete Email Accounts in Webuzo Panel
  • How to Add an Email Account in the Webuzo Panel
  • How to Access Admin Panel in Webuzo
  • How to add a User on Webuzo Admin Panel
  • How to Access User Panel in Webuzo
  • How to Access VNC using Remmina
  • How to Schedule Backups: Local or SFTP on Cyberpanel
  • How to Delete Backup Destinations on Cyberpanel
  • How to Check for installed PHP extensions via ssh on a VPS server
  • How to Add Destination for Scheduled Local/SFTP Remote Backups on Cyberpanel
  • How to Create and Restore CyberPanel Backups
  • How to Set Up Nameservers in Control Web Panel
  • How to check resources usage in DirectAdmin
  • How to generate CSR for SSL in DirectAdmin
  • How to install an SSL Certificate on DirectAdmin
  • How to Increase File Upload Limit in DirectAdmin
  • How to manage user packages in DirectAdmin
  • How to disable/enable php_functions on DirectAdmin
  • How to change the PHP version in DirectAdmin
  • How to create autoresponder in DirectAdmin
  • How to create an FTP account in DirectAdmin
  • How to create a MySQL Database in DirectAdmin
  • How to Suspend/Unsuspend domains in DirectAdmin
  • How to create a subdomain in DirectAdmin
  • How to check the website statistics in DirectAdmin
  • How to add a custom suspension message in DirectAdmin
  • How to change Email Account Password in DirectAdmin
  • How to Create an Email Account in DirectAdmin
  • How to set up Cron Jobs in DirectAdmin
  • How to create a backup in DirectAdmin
  • How to Add and Manage DNS Records in DirectAdmin
  • How to change MX Records in DirectAdmin
  • How to Set Up Website Redirection Rules in DirectAdmin
  • How to Create/Restore an Admin Backup with DirectAdmin
  • How to Create Additional Administrator User In DirectAdmin
  • How to set Up Reseller Accounts in DirectAdmin
  • Installing DirectAdmin on a Cloud Server: Step-by-Step Guide
  • Setting Up and Managing Reseller Accounts in CWP
  • How to copy files from a Windows Server to Linux Server using rSync
  • How to Transfer files from a Windows Server to Linux Server using Command Line (CMD)
  • How to Transfer files from a Windows Server to Linux Server using WinSCP
  • How to Remotely Access Windows Server (RDP) from Linux using Command Line/terminal
  • How to Remotely Access Windows Server (RDP) from Linux using Remmina
  • Understanding how to use the wall command in Linux
  • How to Schedule Server Downtime Notifications with Wall Command
  • Introduction to Linux File System Structure: What Every User Should Know
  • Setting Up and Using Swap Space on Linux Servers
  • How to Use SCP for Secure File Transfers Between Linux Servers
  • How to Compress and Decompress Files Using tar and gzip
  • How to Set Up Syslog for Centralized Logging
  • Installing and Configuring Kubernetes on a Linux Server
  • How to Install and Configure Nginx as a Web Server
  • Installing and Using Docker on a Linux Server
  • Setting Up a LAMP Stack (Linux, Apache, MySQL, PHP) on Almalinux
  • How to Set Up Samba for File Sharing on Linux Servers
  • How to Set Up Network File System (NFS) on a Linux Server
  • How to Configure a Load Balancer on Nginx
  • How to Install and Configure Apache Tomcat on Linux – Almalinux
  • Setting Up a LAMP Stack (Linux, Apache, MySQL, PHP) on Ubuntu
  • Setting Up a LEMP Stack (Linux, Nginx, MySQL, PHP) on Almalinux
  • Automating Server Backups Using rsync and cron
  • How to Optimize Linux Server Swap Usage
  • Using Memcached for Database Performance Optimization
  • How to Use SSH Tunneling for Secure Remote Access
  • How to Install and Configure Redis on Linux Servers
  • How to Secure MySQL/MariaDB with SSL Encryption
  • Optimizing MySQL Performance with Tuning Tools
  • How to Set Up and Use an SSH Jumphost.
  • How to Use Prometheus and Grafana for Server Monitoring
  • Installing and Configuring ELK Stack (Elasticsearch, Logstash, Kibana)
  • How to Set Up a Git Server on Linux
  • How to Install and Configure OpenVPN on a Linux Server
  • How to Install and Configure Apache Tomcat on Linux – Ubuntu
  • Setting Up a LEMP Stack (Linux, Nginx, MySQL, PHP) on Ubuntu 22.04
  • How to Use Fail2Ban to Protect Apache and Nginx from Brute-Force Attacks
  • How to Find Large Files and Directories on a Linux Server
  • How to Configure Apache Redirects with .htaccess Files
  • How to Restrict SSH Access to Specific IPs Using hosts.allow and hosts.deny
  • How to Install ClamAV for Malware Scanning on Ubuntu
  • How to Install ClamAV for Malware Scanning on Amlalinux
  • How to Identify and Kill a Running Process in Linux
  • How to Monitor CPU and Memory Usage in Linux
  • How to Check Disk Usage with df and du Commands
  • Getting Started with Linux Aliases: Simplify Your Commands
  • Understanding and Managing System Logs in Linux
  • Managing Users and Groups on a Linux Server: Best Practices
  • Introduction to Linux Package Managers: Apt vs. Yum
  • How to Set Up a Basic Firewall with Uncomplicated Firewall (UFW)
  • Top 10 Essential Linux Commands for Server Management
  • Understanding Linux File Permissions: What Every Administrator Should Know
  • Setting Up Your First Linux Server: A Step-by-Step Guide
  • Configuring DKIM and SPF for Email Security
  • How to Configure SMTP Relays on a Linux Server
  • How to Configure a Mail Server with Dovecot and Postfix on Almalinux
  • How To Install MariaDB on Ubuntu 22.04
  • How to adjust max_vars_input on CWP
  • How to adjust max_vars_input on Plesk Windows
  • How to manually install moodle on plesk windows
  • How to change System PHP in Plesk Windows
  • How to Install and enable PHP handles on Plesk – Windows
  • How to change PHP version / handler for a single domain Plesk – Windows/Linux
  • How to Back Up MySQL Databases Automatically with Cron
  • How to Set Up Postfix as a Mail Server on Ubuntu
  • Why You May Not Want To Run Your Own Mail Server
  • First Server Setup with Ubuntu
  • What is an Intrusion Detection System (IDS)?
  • Practices for Server Security Hardening
  • How to install Softaculous On Control Web Panel (CWP)
  • How to Install Moodle Manually on Your Server (CWP, Cyberpanel)
  • How to Secure a Linux Server with Fail2Ban
  • Fail2Ban Configuration Documentation: jail.local and fail2ban.local
  • How to Power OFF, Powe ON and Reboot a VPS from client area.
  • How to Acess your Virtualizor Account from Truehost Client area
  • How to set a VPS to rescure mode from Truehost Client area
  • How to Access VPS via VNC from Truehost Client Area
  • How to change VPS Password from Truehost Client Area
  • How to Re-install a Tcloud VPS Operating System (OS) from Truehost Client Area
  • How to disable Two-Factor Authentication (2FA) on Cyberpanel login.
  • How to Disable InnoDB in MariaDB
  • How to Disable InnoDB in MySQL
  • How To Configure the Apache Web Server on an Almalinux
  • How to Install MariaDB on Almalinux 9
  • How to prevent frequent SSH and SCP disconnect
  • How to Install MariaDB on Almalinux 8
  • How to Install phpMyAdmin client on Almalinux 9
  • How to Install phpMyAdmin client on Almalinux 8
  • How to Change the Time Zone on Ubuntu Server
  • How To Configure the Apache Web Server on an Ubuntu/Debian
  • Wget Command Examples to Download Files in Linux
  • How to Check Bandwidth Usage from WHM Panel
  • How to Configure SSH Key for a User
  • How to disable root ssh with password but enable via ssh keys
  • How to change SSH port to a custom port
  • How to Run Sudo Commands Without Password
  • How to create a sudo user on your server
  • How to manually deploy WordPress on Control Web Panel (CWP) User Panel
  • How to manually deploy WordPress on Control Web Panel(CWP) Admin Panel
  • How to disable root ssh completely
  • How to import/export a database on Control Web Panel (CWP)
  • How to create a database in Control Web Panel (CWP)
  • How to Create a Hosting Package on CentOS Web Panel(CWP)
  • How to adjust PHP INI settings on CentOS Web Panel (CWP)
  • How to change the PHP version in Control Web Panel (CWP)
  • How to Install and Enable CSF Firewall on CentOS Web Panel (CWP)
  • How to Manage Existing Emails on CentOS Web Panel (CWP)
  • How to Create Email Accounts on CentOS Web Panel (CWP)
  • How to Create an Addon Domain/Subdomain on a CWP cPanel
  • How to Configure CWP server for Email use
  • How to change a CWP user account password
  • How to Create a User Account (Domain Account) on CWP (CentOS Web Panel)
  • How to Access CWP (Main WHM Panel)
  • How to Access CWP (User’s cPanel)
  • How to set up Hostname SSL on CWP
  • How to change SSH passwords for root and non-root user
  • How to set up a hostname SSL On Cyberpanel
  • How to import/export a MariaDB/MySQL database on Cyberpanel
  • How to Create and Manage Databases on Cyberpanel
  • How to Install CyberPanel – Ubuntu and Almalinux
  • How to adjust PHP INI settings on Cyberpanel (e.g., Upload Limit, post_max_size, display_errors)
  • How to properly Install Control Web Panel(CWP) on Almalinux/CentOS
  • How to Manage Existing Email Accounts on Cyberpanel
  • How to Create and Access Email Accounts on CyberPanel
  • How to Configure Cyberpanel server for Email use
  • How to create a domain and subdomain on Cyberpanel
  • How to Access A Server via SSH/Terminal

Cloudflare

7
  • How to Point Custom Domain to Blogger using Cloudflare DNS?
  • How to Change A record for your domain at Cloudflare
  • How to Update MX records at Cloudflare
  • How to Remove Cloudflare Proxy
  • How to Add a Domain to Cloudflare
  • Activating CloudFlare
  • Configuring CloudFlare

Cpanel

36
  • How to deploy website on cPanel using git version control
  • How to Connect Your Webmail to thunderbird
  • Deploy Websites with Git on cPanel: A Step-by-Step Guide
  • How to Create a Staging Site for WordPress on cPanel
  • How to clone WordPress on cPanel
  • How to enable wordpress security features using softaculous
  • How to deploy Nextjs on cPanel
  • Understanding Resource Usage on Shared Hosting
  • How to Deploy a React App on cPanel: A Step-by-Step Guide
  • ERROR LOADING DATAChild failed to make LIVEAPI connection to cPanel
  • How to Convert an existing account to Reseller Accounts in WHM
  • How to resolve the domain already exists error when adding addon domain
  • How to install free SSL on cPanel using AUTO SSL
  • How to change SSH passwords for root and non-root user
  • How To create a subdomain on Jupiter theme Cpanel
  • [OUTDATED] How To Create a Subdomain in cPanel
  • How to manually Transfer and Restore a Cpanel account using Jetbackup
  • How to restore emails from Jetbackup5
  • How to view cPanel Error logs
  • How to kill Python or Nodejs processes on cpanel
  • How to resolve error 403 on cPanel
  • How to enable 2FA on cPanel
  • How to resolve “Missing temporary folder” for websites on cPanel server.
  • How to Restore Specific Files in cPanel Using Jetbackup5
  • How to Restore Specific Files in cPanel Using Jetbackup5
  • How to force https redirect on your domain
  • Enabling GZIP Compression on Cpanel Websites
  • [Resolved]. How to fix or address Request Timeout Error on cpanel
  • How To Install A Premium SSL Certificate in Cpanel
  • How to fix AWStats not Updating
  • How to Upload A Website To The Cpanel
  • How to back up website from cpanel
  • How to easily build your website on Truehost cpanel
  • How To Install Your Ssl Certificate On Truehost Cpanel
  • How to increase the upload size for wordpress

Jetbackup 5

2
  • How to manually Transfer and Restore a Cpanel account using Jetbackup
  • How to Restore Specific Files in cPanel Using Jetbackup5

dedicated servers

219
  • CentOS Web Panel (CWP) Security Vulnerability – Remediation Guide
  • How to Install and Configure ModSecurity in WHM
  • How to Configure Hostname and Default Nameservers in WHM
  • How to Migrate cPanel Accounts Between cPanel Servers Using WHM
  • How to install a PHP extension in WHM
  • How to remove a DNS zone from WHM
  • How to Suspend / Unsuspend cPanel Accounts Within WHM
  • How to Assign A dedicated IP to a Cpanel Account on WHM
  • How to Add an IP Adress to a Cpanel Server From WHM
  • How to Set Up A DNS Clusters in WHM
  • How to Set Document Root outside public_html for Addon Domain OR Sub Domain
  • How to Create a Backup Job in WHM With Jetbackup
  • How to Add A backup Destination in Jetbackup on A cPnel Server
  • How to Migrate Email Accounts Between cPanel Servers
  • How to enable Shell Access for a Cpanerl Accout
  • How to Automate Updates for cPanel and System Software via WHM
  • How to Schedule cPanel Backups in WHM
  • How to Enable Two-Factor Authentication for WHM Access
  • How to Set Up Custom Branding for Reseller Accounts in WHM
  • How to change cPanel Account Ownership from WHM
  • How to Use MultiPHP in WHM to Change your Server’s PHP Version
  • How to Convert an existing account to Reseller Accounts in WHM
  • How to create and Managing Reseller Accounts in WHM
  • How to Create a cPanel account within WHM
  • How to Add a Remote MySQL Access Host in Webuzo
  • How to Configure Apache as a Reverse Proxy with mod_proxy
  • How to Set Up a Reverse Proxy with Nginx on AlmaLinux 9
  • How to Install and Configure NGINX on CWP
  • How to Monitor Server Health with Nagios
  • How to Forward Ports With Iptables On A Linux Server
  • How to Configure and Manage MySQL Databases in Webuzo
  • How to Whitelist an IP with CSF
  • How To Open Ports On Ubuntu
  • How to Transfer files from a Linux Server to Windows Server using WinSCP
  • How to Configure Firewalld for Enhanced Server Security
  • How to Create a Container in Proxmox
  • How to Backup and Restore Virtual Machines (VMs) in Proxmox
  • How to Create Virtual Machines in Proxmox
  • How to Install and Use Proxmox for Virtualization
  • How to Create & Manage FTP in Webuzo With Enduser Access
  • How to Change File Permissions in Webuzo File Manager
  • How to Install and Configure HAProxy for Load Balancing on Almalinux
  • How to Update a CyberPanel Server
  • How to Create Additional admin User Accounts in CyberPanel
  • How to Disable Two-Factor Authentication in CyberPanel
  • How to Enable Two-Factor Authentication in CyberPanel
  • Implementing Firewall and Security Measures in CyberPanel
  • How to Install WordPress on Webuzo
  • How to Change the PHP Version in the Webuzo Panel
  • How to Install an SSL Certificate in Webuzo
  • How to Create a Self-signed SSL Certificate in Webuzo
  • How to Generate a Certificate Signing Request (CSR) on Webuzo
  • How to Add Subdomain in Webuzo With Enduser Access
  • How to Add a Domain in Webuzo With Enduser Access
  • How to Enable/Disable ModSecurity in Webuzo
  • How to Add Domain and Nameservers in Webuzo For Root Users
  • How to Add Domain Alias in Webuzo With Enduser Access
  • How to Add or Edit DNS Records in Webuzo Panel
  • How To Change The Root Password Of Webuzo Control Panel
  • How to Delete Email Accounts in Webuzo Panel
  • How to Add an Email Account in the Webuzo Panel
  • How to Access Admin Panel in Webuzo
  • How to add a User on Webuzo Admin Panel
  • How to Access User Panel in Webuzo
  • How to Access VNC using Remmina
  • How to Schedule Backups: Local or SFTP on Cyberpanel
  • How to Delete Backup Destinations on Cyberpanel
  • How to Check for installed PHP extensions via ssh on a VPS server
  • How to Add Destination for Scheduled Local/SFTP Remote Backups on Cyberpanel
  • How to Create and Restore CyberPanel Backups
  • How to Set Up Nameservers in Control Web Panel
  • How to check resources usage in DirectAdmin
  • How to generate CSR for SSL in DirectAdmin
  • How to install an SSL Certificate on DirectAdmin
  • How to Increase File Upload Limit in DirectAdmin
  • How to manage user packages in DirectAdmin
  • How to disable/enable php_functions on DirectAdmin
  • How to change the PHP version in DirectAdmin
  • How to create autoresponder in DirectAdmin
  • How to create an FTP account in DirectAdmin
  • How to create a MySQL Database in DirectAdmin
  • How to Suspend/Unsuspend domains in DirectAdmin
  • How to create a subdomain in DirectAdmin
  • How to check the website statistics in DirectAdmin
  • How to add a custom suspension message in DirectAdmin
  • How to change Email Account Password in DirectAdmin
  • How to Create an Email Account in DirectAdmin
  • How to set up Cron Jobs in DirectAdmin
  • How to create a backup in DirectAdmin
  • How to Add and Manage DNS Records in DirectAdmin
  • How to change MX Records in DirectAdmin
  • How to Set Up Website Redirection Rules in DirectAdmin
  • How to Create/Restore an Admin Backup with DirectAdmin
  • How to Create Additional Administrator User In DirectAdmin
  • How to set Up Reseller Accounts in DirectAdmin
  • Installing DirectAdmin on a Cloud Server: Step-by-Step Guide
  • Setting Up and Managing Reseller Accounts in CWP
  • How to copy files from a Windows Server to Linux Server using rSync
  • How to Transfer files from a Windows Server to Linux Server using Command Line (CMD)
  • How to Transfer files from a Windows Server to Linux Server using WinSCP
  • How to Remotely Access Windows Server (RDP) from Linux using Command Line/terminal
  • How to Remotely Access Windows Server (RDP) from Linux using Remmina
  • Understanding how to use the wall command in Linux
  • How to Schedule Server Downtime Notifications with Wall Command
  • Introduction to Linux File System Structure: What Every User Should Know
  • Setting Up and Using Swap Space on Linux Servers
  • How to Use SCP for Secure File Transfers Between Linux Servers
  • How to Compress and Decompress Files Using tar and gzip
  • How to Set Up Syslog for Centralized Logging
  • Installing and Configuring Kubernetes on a Linux Server
  • How to Install and Configure Nginx as a Web Server
  • Installing and Using Docker on a Linux Server
  • Setting Up a LAMP Stack (Linux, Apache, MySQL, PHP) on Almalinux
  • How to Set Up Samba for File Sharing on Linux Servers
  • How to Set Up Network File System (NFS) on a Linux Server
  • How to Configure a Load Balancer on Nginx
  • How to Install and Configure Apache Tomcat on Linux – Almalinux
  • Setting Up a LAMP Stack (Linux, Apache, MySQL, PHP) on Ubuntu
  • Setting Up a LEMP Stack (Linux, Nginx, MySQL, PHP) on Almalinux
  • Automating Server Backups Using rsync and cron
  • How to Optimize Linux Server Swap Usage
  • Using Memcached for Database Performance Optimization
  • How to Use SSH Tunneling for Secure Remote Access
  • How to Install and Configure Redis on Linux Servers
  • How to Secure MySQL/MariaDB with SSL Encryption
  • Optimizing MySQL Performance with Tuning Tools
  • How to Set Up and Use an SSH Jumphost.
  • How to Use Prometheus and Grafana for Server Monitoring
  • Installing and Configuring ELK Stack (Elasticsearch, Logstash, Kibana)
  • How to Set Up a Git Server on Linux
  • How to Install and Configure OpenVPN on a Linux Server
  • How to Install and Configure Apache Tomcat on Linux – Ubuntu
  • Setting Up a LEMP Stack (Linux, Nginx, MySQL, PHP) on Ubuntu 22.04
  • How to Use Fail2Ban to Protect Apache and Nginx from Brute-Force Attacks
  • How to Find Large Files and Directories on a Linux Server
  • How to Configure Apache Redirects with .htaccess Files
  • How to Restrict SSH Access to Specific IPs Using hosts.allow and hosts.deny
  • How to Install ClamAV for Malware Scanning on Ubuntu
  • How to Install ClamAV for Malware Scanning on Amlalinux
  • How to Identify and Kill a Running Process in Linux
  • How to Monitor CPU and Memory Usage in Linux
  • How to Check Disk Usage with df and du Commands
  • Getting Started with Linux Aliases: Simplify Your Commands
  • Understanding and Managing System Logs in Linux
  • Managing Users and Groups on a Linux Server: Best Practices
  • Introduction to Linux Package Managers: Apt vs. Yum
  • How to Set Up a Basic Firewall with Uncomplicated Firewall (UFW)
  • Top 10 Essential Linux Commands for Server Management
  • Understanding Linux File Permissions: What Every Administrator Should Know
  • Setting Up Your First Linux Server: A Step-by-Step Guide
  • Configuring DKIM and SPF for Email Security
  • How to Configure SMTP Relays on a Linux Server
  • How to Configure a Mail Server with Dovecot and Postfix on Almalinux
  • How To Install MariaDB on Ubuntu 22.04
  • How to adjust max_vars_input on CWP
  • How to adjust max_vars_input on Plesk Windows
  • How to manually install moodle on plesk windows
  • How to change System PHP in Plesk Windows
  • How to Install and enable PHP handles on Plesk – Windows
  • How to change PHP version / handler for a single domain Plesk – Windows/Linux
  • How to Back Up MySQL Databases Automatically with Cron
  • How to Set Up Postfix as a Mail Server on Ubuntu
  • Why You May Not Want To Run Your Own Mail Server
  • First Server Setup with Ubuntu
  • What is an Intrusion Detection System (IDS)?
  • Practices for Server Security Hardening
  • How to install Softaculous On Control Web Panel (CWP)
  • How to Install Moodle Manually on Your Server (CWP, Cyberpanel)
  • How to Secure a Linux Server with Fail2Ban
  • Fail2Ban Configuration Documentation: jail.local and fail2ban.local
  • How to change VPS Password from Truehost Client Area
  • How to disable Two-Factor Authentication (2FA) on Cyberpanel login.
  • How to Disable InnoDB in MariaDB
  • How to Disable InnoDB in MySQL
  • How To Configure the Apache Web Server on an Almalinux
  • How to Install MariaDB on Almalinux 9
  • How to prevent frequent SSH and SCP disconnect
  • How to Install MariaDB on Almalinux 8
  • How to Install phpMyAdmin client on Almalinux 9
  • How to Install phpMyAdmin client on Almalinux 8
  • How to Change the Time Zone on Ubuntu Server
  • How To Configure the Apache Web Server on an Ubuntu/Debian
  • Wget Command Examples to Download Files in Linux
  • How to Check Bandwidth Usage from WHM Panel
  • How to Configure SSH Key for a User
  • How to disable root ssh with password but enable via ssh keys
  • How to change SSH port to a custom port
  • How to Run Sudo Commands Without Password
  • How to create a sudo user on your server
  • How to manually deploy WordPress on Control Web Panel (CWP) User Panel
  • How to manually deploy WordPress on Control Web Panel(CWP) Admin Panel
  • How to disable root ssh completely
  • How to import/export a database on Control Web Panel (CWP)
  • How to create a database in Control Web Panel (CWP)
  • How to Create a Hosting Package on CentOS Web Panel(CWP)
  • How to adjust PHP INI settings on CentOS Web Panel (CWP)
  • How to change the PHP version in Control Web Panel (CWP)
  • How to Install and Enable CSF Firewall on CentOS Web Panel (CWP)
  • How to Manage Existing Emails on CentOS Web Panel (CWP)
  • How to Create Email Accounts on CentOS Web Panel (CWP)
  • How to Create an Addon Domain/Subdomain on a CWP cPanel
  • How to Configure CWP server for Email use
  • How to change a CWP user account password
  • How to Create a User Account (Domain Account) on CWP (CentOS Web Panel)
  • How to Access CWP (Main WHM Panel)
  • How to Access CWP (User’s cPanel)
  • How to set up Hostname SSL on CWP
  • How to change SSH passwords for root and non-root user
  • How to manually deploy WordPress on Cyberpanel
  • How to set up a hostname SSL On Cyberpanel
  • How to import/export a MariaDB/MySQL database on Cyberpanel
  • How to Install CyberPanel – Ubuntu and Almalinux
  • How to adjust PHP INI settings on Cyberpanel (e.g., Upload Limit, post_max_size, display_errors)
  • How to properly Install Control Web Panel(CWP) on Almalinux/CentOS
  • How to Manage Existing Email Accounts on Cyberpanel
  • How to Create and Access Email Accounts on CyberPanel
  • How to Configure Cyberpanel server for Email use
  • How to create a domain and subdomain on Cyberpanel
  • How to Access A Server via SSH/Terminal

Domains

454
  • How to add google text verification code on cPanel and Olitt
  • How to resolve “An issue was encountered while updating the domain nameservers”
  • CO.UK and .UK domain transfers
  • How to Assign domains to Reseller
  • How to activate Truehost Domain reseller API module
  • The Truehost Domain Reseller API Documentation
  • How to Create a User Account (Domain Account) on CWP (CentOS Web Panel)
  • How to register a domain name at in Kenya.
  • How to connect your domain to shopify from olitt.
  • How To Connect Your Olitt Site To A Domain.
  • How to Lock or Unlock a domain name
  • How To Renew Your Domain In Truehost

Emails

77
  • How to Install Roundcube On CyberPanel
  • How to Connect Your Webmail to thunderbird
  • Configuring DKIM and SPF for Email Security
  • How to Configure SMTP Relays on a Linux Server
  • How To Send Mass Mail At Truehost Cloud
  • How to Set Up Postfix as a Mail Server on Ubuntu
  • Why You May Not Want To Run Your Own Mail Server
  • How to Manage Existing Emails on CentOS Web Panel (CWP)
  • How to Create Email Accounts on CentOS Web Panel (CWP)
  • How to Configure CWP server for Email use
  • How to Manage Existing Email Accounts on Cyberpanel
  • How to Create and Access Email Accounts on CyberPanel
  • How to Configure Cyberpanel server for Email use
  • How to Repair a misconfigured Outlook Account.
  • How to set a recovery email address in Cloudoon Mail
  • How to create no-reply emails on the Cpanel
  • A Fix for Joomla 3 Not Sending Emails
  • How To Check Email Headers For cPanel Emails
  • How To Check Email Headers For Truehost Business Email
  • Truehost Business Email Limitations
  • How To Create A Forwarder In Truehost Business Email
  • How To Set Up Email Aliases In Truehost Business Email
  • What Are The Official Truehost Email Addresses
  • How To Migrate Emails From Gmail To Truehost Business Email
  • How To Check Which Email Is Spamming From My Account
  • Emails and Messages After .com Domain Registration
  • How to Migrate Emails from cPanel to Cloudoon Mail
  • How to Automatically Configure Your Email on Outlook.
  • How to Configure Cloudoon Mail to Gmail
  • Private Email Server
  • How To Configure Emails On Phone Or Tablet
  • How to review emails sent to you in the client area.
  • How To Configure Emails On Your Iphone
  • How to set up an email account on Cpanel
  • Accessing your email
  • Configuring Webmail with Gmail

Guides

2
  • Managing Truehost Vaultwarden
  • How to Access a Server in Rescue Mode and Retrieve Backups

Hosting

3
  • How to Identify a Website Framework by Looking at Its File Structure

MySQL

9
  • How to fix Access denied for user ‘root’@’localhost’ error
  • Subprocess exited with error when installing mysqlclient.
  • How To Install MariaDB on Ubuntu 22.04
  • How to Back Up MySQL Databases Automatically with Cron
  • How to Install phpMyAdmin client on Almalinux 9
  • How to import/export a database on Control Web Panel (CWP)
  • How to create a database in Control Web Panel (CWP)
  • How to import/export a MariaDB/MySQL database on Cyberpanel
  • How to Create and Manage Databases on Cyberpanel

Plesk

23
  • How to deploy website using Plesk git version control
  • How to deploy laravel on Plesk
  • How to change a database user password in Plesk
  • What Versions of .NET does Truehost Support?
  • How to enable dotNET Core Error logging Plesk
  • How to create domain redirects on Plesk
  • How to Create and Restore backups on Plesk
  • How to adjust max_vars_input on Plesk Windows
  • How to manually install moodle on plesk windows
  • How to change System PHP in Plesk Windows
  • How to Install and enable PHP handles on Plesk – Windows
  • How to change PHP version / handler for a single domain Plesk – Windows/Linux
  • How to deploy Node.js app on Plesk Windows
  • How to connect remotely to MSSQL database using DBeaver.
  • How to connect to MSSQL database using Microsoft SQL Server Management Studio (SSMS)
  • How to install FREE SSL on Plesk
  • How to upload a dotnet website on Plesk – Windows server
  • Overview of the Plesk control panel
  • How to add a DMARC record in Plesk
  • How to install wordpress on a subdomain on Plesk.
  • How to create a sub-domain on Plesk
  • HOW TO CHANGE THE IDLE TIMEOUT OF A IIS APPLICATION POOL ON PLESK.
  • How to install Lets Encrypt in Plesk

Security

16
  • Managing Truehost Vaultwarden
  • CentOS Web Panel (CWP) Security Vulnerability – Remediation Guide
  • How to Access a Server in Rescue Mode and Retrieve Backups
  • How to Install and Configure ModSecurity in WHM
  • How To Open Ports On Ubuntu
  • How to Disable Two-Factor Authentication in CyberPanel
  • How to Enable Two-Factor Authentication in CyberPanel
  • How to Install an SSL Certificate in Webuzo
  • How to Create a Self-signed SSL Certificate in Webuzo
  • How to Generate a Certificate Signing Request (CSR) on Webuzo
  • How to Enable/Disable ModSecurity in Webuzo
  • How to Delete Email Accounts in Webuzo Panel
  • How to Configure a Mail Server with Dovecot and Postfix on Almalinux
  • What is an Intrusion Detection System (IDS)?
  • Practices for Server Security Hardening
  • How to Install and Enable CSF Firewall on CentOS Web Panel (CWP)

SEO

1

SSL

37
  • How to Install an SSL Certificate in Webuzo
  • How to Create a Self-signed SSL Certificate in Webuzo
  • How to Generate a Certificate Signing Request (CSR) on Webuzo
  • How to set up Hostname SSL on CWP
  • How to set up a hostname SSL On Cyberpanel
  • What to do if your website still shows insecure after SSL Installation
  • SSL Certificate installation procedure
  • How to install Let’s Encrypt in your Truehost cPanel
  • How to install Let’s Encrypt SSL on PLESK or Windows Hosting
  • How to install a wildcard SSL Oon CPANEL
  • How To Install A Premium SSL Certificate in Cpanel
  • How to install Lets Encrypt in Plesk
  • Can I buy SSL Certificate from you?
  • How To Install Your Ssl Certificate On Truehost Cpanel

WordPress

150
  • How to Create a Staging Site for WordPress on cPanel
  • How to clone WordPress on cPanel
  • How to enable wordpress security features using softaculous
  • How-to-fix-woocommerce-checkout-error
  • How to install wordpress on Fastpanel
  • How to enable Ajax on WooCommerce
  • How to check WooCommerce Error logs
  • How to manually reset admin password for wordpress dashboard in cyberpanel
  • How to manually deploy WordPress on Cyberpanel
  • How to fix Missing Add new Plugin button – WordPress
  • How To Point A Domain To Google Sites
  • How To Clear Litespeed Cache
  • My Website Shows OLITT Landing Page; What Do I Do Next?
  • How To Resolve ‘Your Website Redirected Too Many Times’ SSL Error
  • How To Secure Webmail Link In Windows Plesk Hosting
  • How To Set Up LEMP Stack On Ubuntu 20.04
  • How To Know If My VPS Has Been Hacked
  • How to resolve upload error in CyberPanel
  • How to Start MySQL While in Rescue Mode
  • How To Enable ‘allow_url_fopen()’ For PHP In cPanel
  • How To Force HTTP to HTTPS redirect In CodeIgniter
  • How To Enable allow_url_fopen() For PHP In Cyberpanel
  • Enhancing Security: A Guide To Add SSH Keys to GitHub/GitLab
  • How To Force HTTP To HTTPS Redirect In Prestashop
  • Unlocking Ecommerce Success: A Comprehensive Guide to Getting Started with Our Ecommerce Package
  • How to Create a Website on CloudPanel
  • Choose the Appropriate Backup Restoration Method
  • How to remove “site not secure” when using Elementor
  • Cpanel versus Plesk
  • What to do if your website still shows insecure after SSL Installation
  • Add-ons in the Truehost cPanel
  • Website hacking
  • WORDPRESS NOT DIRECTING PROPERLY
  • How to configure WordPress to use SMTP to send emails
  • How To Install WordPress Using Softaculous
  • Changing the WordPress auto-save interval
  • how to manually install WordPress Themes in Truehost account
  • Updating WordPress
  • How To resest The Administrator Password in WordPress
  • How to fix broken image links in wordpress
  • WordPress plugins
  • Dissapearing WordPress PLugins
  • How To Install and configure Google XML sitemaps in WordPress
  • Debugging In WordPress
  • Configuring Cron jobs For wordpress
  • Configuring date and time settings in WordPress
  • Why add CAPTCHA Protection to Your WordPress
  • Administering WordPress through a Command line Interface
  • How To install and Configure Postie email In WordPress
  • Password protected Pages in WordPress
  • Configuring The wordpress Permalink Structure
  • Migrating an Existing WordPress Site To Truehost
  • Changing The WordPress language
  • Enabling and Customizing Maintenance mode in WordPress
  • ‘Schedule Maintenance’ Message in WordPress
  • Optimizing WordPress Trash Settings
  • Adding External RSS Feeds To Your WordPress Site
  • How To Enable Pingbacks and Trackbacks in WordPress
  • Installing and Configuring The Disqus Comment System Plugin in WordPress
  • Changing a wordPress Account Username
  • Troubleshooting Blank Pages in WordPress
  • Optimizing WordPress with W3 Total Cache and Gtmetrix
  • Ways To Enhance WordPress Security
  • Disabling plugins in WordPress
  • Updating WordPress Database Configuration Settings
  • How To Determine The WordPress Version
  • How To install WordPress Using Softaculous
  • Managing WordPress Comments
  • How to Install WordPress on add on Domain
  • How To Create a Contact Form In WordPress
  • How To login To WordPress Dashboard in Truehost
  • How to move your wordpress blog to a hosting plan
  • How to Correct the HTTP Upload Error in WordPress
  • How to use Content Delivery Networks in WordPress.
  • How to move a site from Joomla to WordPress
  • How to configure dates and time zones in wordpress.
  • How to add captcha protection in WordPress
  • How to Enable and Disable ping-back and trackback in WordPress.
  • How to change WordPress users account Username
  • How to Disable Automatic WordPress cron Job
  • Configuring a custom Cron job in WordPress Using the Cpanel
  • Configuring a custom Cron job in WordPress Using Command line.
  • How to schedule publishing in WordPress posts.
  • How to change WordPress language
  • How to change WordPress language using a Plugin
  • How to Configure WordPress to Use Temporary URL
  • How to restore original WordPress URL
  • How to install WordPress in Plesk
  • Remove https redirection from your WordPress website
  • Vulnerability types with WordPress plugins
  • How to speed up your wordpress site
  • How to create sitemap in WordPress
  • Adjusting the PHP Memory Limit for WordPress
  • How to move WordPress from one URL to another URL
  • Sitemap in WordPress
  • How to Fix “Are You Sure You Want to Do This” Error in WordPress
  • How to reset your WordPress admin password
  • How To Secure A WordPress Site
  • How to Fix “Missing a Temporary Folder” Error in WordPress
  • How to Move Your Blog from WordPress.com to Truehost
  • How To Fix Broken Permalinks In WordPress (404 Error – Page Not Found)
  • How To Move Your Blog From Blogger To WordPress
  • How to move WordPress installation from a folder to public_html
  • How to remove a WordPress installation.
  • How to create multiple admin users in WordPress
  • How to secure WordPress with .htaccess file
  • How to Install WordPress using SSH in Cpanel.
  • How to deactivate WordPress plugins from the cPanel
  • How to Upload a WordPress website to Plesk
  • How to Login to WordPress Dashboard using Softaculous
  • HOW TO CHANGE YOUR WORDPRESS WP-ADMIN PASSWORD USING SOFTACULOUS
  • How to activate a theme in WordPress
  • How to Install WordPress on LAMPP
  • How to Install WordPress on CWP
  • How to Install WordPress on Plesk (Windows)
  • How to Configure WordPress SMTP using WP Mail SMTP
  • How to migrate a WordPress website from Cpanel to cyber panel
  • How To Access the WordPress Dashboard
  • How to Disable a Plugin in WordPress from File Manager
  • How to Upload a WordPress Theme/Plugin using File Manager
  • How to Backup a WordPress Site in cPanel
  • How To Update Your WordPress Installation
  • How to connect Google Analytics with your WordPress website
  • How to set yo Easy WP SMTP plugin in WordPress
  • How To Know If My WordPress Website Is Compromised
  • How To Install WordPress Manually
  • How to upload a WordPress themes/plugins using FileZilla (ftp)
  • How To Remove The Address Footer In WordPress
  • How To Fix Error 403 Forbidden Error On WordPress
  • How To Identify Overload Causes On WordPress Websites
  • How To Force HTTP To HTTPS Redirect On WordPress
  • 7 Best Practices To Secure The WordPress Admin Dashboard
  • How to change WordPress URL using a plugin
  • How To Update Your WordPress Password Using WP-CLI
  • How To Change WordPress Theme Via PhpMyAdmin
  • How To Create A WordPress Staging Environment Using Softaculous
  • Create a WordPress site on CloudPanel.
  • Manage WordPress Database on CloudPanel
  • How to Migrate WordPress site from cPanel to E-commerce Lite Hosting
  • How to Install WordPress on CyberPanel
  • How to increase the upload size for wordpress
  • Troubleshooting wordpress error in CPANEL:
  • How to remove the branding on wordpress footer
  • Locked out of WordPress – Here’s the Fix
  • How to Correct the HTTP Upload Error in WordPress
  • How to Clean Up a WordPress Website
  • How to login to word press via softaculous
  • How to Import WordPress installation to softaculous
  • How To Install WordPress Locally And On Cpanel Online

Getting Started

1
  • Managing Truehost Vaultwarden

Cpanel

38
  • How to deploy website on cPanel using git version control
  • How to Connect Your Webmail to thunderbird
  • Deploy Websites with Git on cPanel: A Step-by-Step Guide
  • How to Create a Staging Site for WordPress on cPanel
  • How to clone WordPress on cPanel
  • How to enable wordpress security features using softaculous
  • How to deploy Nextjs on cPanel
  • Understanding Resource Usage on Shared Hosting
  • How to Deploy a React App on cPanel: A Step-by-Step Guide
  • How to push changes to your code on cpanel using github actions and FTP.
  • How to Increase Python App Max Children Limit on cPanel
  • How to configure SMTP on Sitepad.
  • ERROR LOADING DATAChild failed to make LIVEAPI connection to cPanel
  • How to Install and Configure ModSecurity in WHM
  • How to Configure Hostname and Default Nameservers in WHM
  • How to Migrate cPanel Accounts Between cPanel Servers Using WHM
  • How to install a PHP extension in WHM
  • How to remove a DNS zone from WHM
  • How to Suspend / Unsuspend cPanel Accounts Within WHM
  • How to Assign A dedicated IP to a Cpanel Account on WHM
  • How to Add an IP Adress to a Cpanel Server From WHM
  • How to Set Up A DNS Clusters in WHM
  • How to Set Document Root outside public_html for Addon Domain OR Sub Domain
  • How to Create a Backup Job in WHM With Jetbackup
  • How to Add A backup Destination in Jetbackup on A cPnel Server
  • How to enable Shell Access for a Cpanerl Accout
  • How to Automate Updates for cPanel and System Software via WHM
  • How to Schedule cPanel Backups in WHM
  • How to Convert an existing account to Reseller Accounts in WHM
  • How to Check for installed PHP extensions via ssh on a VPS server
  • Composer detected issues in your platform
  • Failed building wheel for mysqlclient on cPanel
  • How to resolve the domain already exists error when adding addon domain
  • How to install free SSL on cPanel using AUTO SSL
  • How to Access CWP (User’s cPanel)
  • How to change SSH passwords for root and non-root user
  • How to fix TOO_MANY_REDIRECTS error
  • cPanel overview at truehost

Servers

238
  • How to Access a Server in Rescue Mode and Retrieve Backups
  • How to deploy website using git on a VPS server.
  • How to Set Up a Website on a VPS with Nginx
  • How to resolve Remote Desktop License Servers Error.
  • How to set up Two Step Authentication in DirectAdmin
  • How to Install and Configure ModSecurity in WHM
  • How to Configure Hostname and Default Nameservers in WHM
  • How to Migrate cPanel Accounts Between cPanel Servers Using WHM
  • How to install a PHP extension in WHM
  • How to remove a DNS zone from WHM
  • How to Suspend / Unsuspend cPanel Accounts Within WHM
  • How to Assign A dedicated IP to a Cpanel Account on WHM
  • How to Add an IP Adress to a Cpanel Server From WHM
  • How to Set Up A DNS Clusters in WHM
  • How to Set Document Root outside public_html for Addon Domain OR Sub Domain
  • How to Create a Backup Job in WHM With Jetbackup
  • How to Add A backup Destination in Jetbackup on A cPnel Server
  • How to Migrate Email Accounts Between cPanel Servers
  • How to enable Shell Access for a Cpanerl Accout
  • How to Automate Updates for cPanel and System Software via WHM
  • How to Schedule cPanel Backups in WHM
  • How to Enable Two-Factor Authentication for WHM Access
  • How to Set Up Custom Branding for Reseller Accounts in WHM
  • How to change cPanel Account Ownership from WHM
  • How to Use MultiPHP in WHM to Change your Server’s PHP Version
  • How to Convert an existing account to Reseller Accounts in WHM
  • How to create and Managing Reseller Accounts in WHM
  • How to Create a cPanel account within WHM
  • How to Add a Remote MySQL Access Host in Webuzo
  • How to Configure Apache as a Reverse Proxy with mod_proxy
  • How to Set Up a Reverse Proxy with Nginx on AlmaLinux 9
  • How to fix Access denied for user ‘root’@’localhost’ error
  • How to Install and Configure NGINX on CWP
  • How to Monitor Server Health with Nagios
  • How to Forward Ports With Iptables On A Linux Server
  • How to Configure and Manage MySQL Databases in Webuzo
  • How to Whitelist an IP with CSF
  • How To Open Ports On Ubuntu
  • How to Transfer files from a Linux Server to Windows Server using WinSCP
  • How to Configure Firewalld for Enhanced Server Security
  • How to Create a Container in Proxmox
  • How to Backup and Restore Virtual Machines (VMs) in Proxmox
  • How to Create Virtual Machines in Proxmox
  • How to Install and Use Proxmox for Virtualization
  • How to Create & Manage FTP in Webuzo With Enduser Access
  • How to Change File Permissions in Webuzo File Manager
  • How to Install and Configure HAProxy for Load Balancing on Almalinux
  • How to Update a CyberPanel Server
  • How to Create Additional admin User Accounts in CyberPanel
  • How to Disable Two-Factor Authentication in CyberPanel
  • How to Enable Two-Factor Authentication in CyberPanel
  • Implementing Firewall and Security Measures in CyberPanel
  • How to Install WordPress on Webuzo
  • How to Change the PHP Version in the Webuzo Panel
  • How to Install an SSL Certificate in Webuzo
  • How to Create a Self-signed SSL Certificate in Webuzo
  • How to Generate a Certificate Signing Request (CSR) on Webuzo
  • Subprocess exited with error when installing mysqlclient.
  • How to Add Subdomain in Webuzo With Enduser Access
  • How to Add a Domain in Webuzo With Enduser Access
  • How to Enable/Disable ModSecurity in Webuzo
  • How to Add Domain and Nameservers in Webuzo For Root Users
  • How to Add Domain Alias in Webuzo With Enduser Access
  • How to Add or Edit DNS Records in Webuzo Panel
  • How To Change The Root Password Of Webuzo Control Panel
  • How to Delete Email Accounts in Webuzo Panel
  • How to Add an Email Account in the Webuzo Panel
  • How to Access Admin Panel in Webuzo
  • How to add a User on Webuzo Admin Panel
  • How to Access User Panel in Webuzo
  • How to Access VNC using Remmina
  • How to Schedule Backups: Local or SFTP on Cyberpanel
  • How to Delete Backup Destinations on Cyberpanel
  • How to Check for installed PHP extensions via ssh on a VPS server
  • How to Add Destination for Scheduled Local/SFTP Remote Backups on Cyberpanel
  • How to Create and Restore CyberPanel Backups
  • How to Set Up Nameservers in Control Web Panel
  • How to check resources usage in DirectAdmin
  • How to generate CSR for SSL in DirectAdmin
  • How to install an SSL Certificate on DirectAdmin
  • How to Increase File Upload Limit in DirectAdmin
  • How to manage user packages in DirectAdmin
  • How to disable/enable php_functions on DirectAdmin
  • How to change the PHP version in DirectAdmin
  • How to create autoresponder in DirectAdmin
  • How to create an FTP account in DirectAdmin
  • How to create a MySQL Database in DirectAdmin
  • How to Suspend/Unsuspend domains in DirectAdmin
  • How to create a subdomain in DirectAdmin
  • How to check the website statistics in DirectAdmin
  • How to add a custom suspension message in DirectAdmin
  • How to change Email Account Password in DirectAdmin
  • How to Create an Email Account in DirectAdmin
  • How to set up Cron Jobs in DirectAdmin
  • How to create a backup in DirectAdmin
  • How to Add and Manage DNS Records in DirectAdmin
  • How to change MX Records in DirectAdmin
  • How to Set Up Website Redirection Rules in DirectAdmin
  • How to Create/Restore an Admin Backup with DirectAdmin
  • How to Create Additional Administrator User In DirectAdmin
  • How to set Up Reseller Accounts in DirectAdmin
  • Installing DirectAdmin on a Cloud Server: Step-by-Step Guide
  • Setting Up and Managing Reseller Accounts in CWP
  • How to copy files from a Windows Server to Linux Server using rSync
  • How to Transfer files from a Windows Server to Linux Server using Command Line (CMD)
  • How to Transfer files from a Windows Server to Linux Server using WinSCP
  • How to Remotely Access Windows Server (RDP) from Linux using Command Line/terminal
  • How to Remotely Access Windows Server (RDP) from Linux using Remmina
  • Understanding how to use the wall command in Linux
  • How to Schedule Server Downtime Notifications with Wall Command
  • Introduction to Linux File System Structure: What Every User Should Know
  • Setting Up and Using Swap Space on Linux Servers
  • How to Use SCP for Secure File Transfers Between Linux Servers
  • How to Compress and Decompress Files Using tar and gzip
  • How to Set Up Syslog for Centralized Logging
  • Installing and Configuring Kubernetes on a Linux Server
  • How to Install and Configure Nginx as a Web Server
  • Installing and Using Docker on a Linux Server
  • Setting Up a LAMP Stack (Linux, Apache, MySQL, PHP) on Almalinux
  • How to Set Up Samba for File Sharing on Linux Servers
  • How to Set Up Network File System (NFS) on a Linux Server
  • How to Configure a Load Balancer on Nginx
  • How to Install and Configure Apache Tomcat on Linux – Almalinux
  • Setting Up a LAMP Stack (Linux, Apache, MySQL, PHP) on Ubuntu
  • Setting Up a LEMP Stack (Linux, Nginx, MySQL, PHP) on Almalinux
  • Automating Server Backups Using rsync and cron
  • How to Optimize Linux Server Swap Usage
  • Using Memcached for Database Performance Optimization
  • How to Use SSH Tunneling for Secure Remote Access
  • How to Install and Configure Redis on Linux Servers
  • How to Secure MySQL/MariaDB with SSL Encryption
  • Optimizing MySQL Performance with Tuning Tools
  • How to Set Up and Use an SSH Jumphost.
  • How to Use Prometheus and Grafana for Server Monitoring
  • Installing and Configuring ELK Stack (Elasticsearch, Logstash, Kibana)
  • How to Set Up a Git Server on Linux
  • How to Install and Configure OpenVPN on a Linux Server
  • How to Install and Configure Apache Tomcat on Linux – Ubuntu
  • Setting Up a LEMP Stack (Linux, Nginx, MySQL, PHP) on Ubuntu 22.04
  • How to Use Fail2Ban to Protect Apache and Nginx from Brute-Force Attacks
  • How to Find Large Files and Directories on a Linux Server
  • How to Configure Apache Redirects with .htaccess Files
  • How to Restrict SSH Access to Specific IPs Using hosts.allow and hosts.deny
  • How to Install ClamAV for Malware Scanning on Ubuntu
  • How to Install ClamAV for Malware Scanning on Amlalinux
  • How to Identify and Kill a Running Process in Linux
  • How to Monitor CPU and Memory Usage in Linux
  • How to Check Disk Usage with df and du Commands
  • Getting Started with Linux Aliases: Simplify Your Commands
  • Understanding and Managing System Logs in Linux
  • Managing Users and Groups on a Linux Server: Best Practices
  • Introduction to Linux Package Managers: Apt vs. Yum
  • How to Set Up a Basic Firewall with Uncomplicated Firewall (UFW)
  • Top 10 Essential Linux Commands for Server Management
  • Understanding Linux File Permissions: What Every Administrator Should Know
  • Setting Up Your First Linux Server: A Step-by-Step Guide
  • Configuring DKIM and SPF for Email Security
  • How to Configure SMTP Relays on a Linux Server
  • How to Configure a Mail Server with Dovecot and Postfix on Almalinux
  • How To Install MariaDB on Ubuntu 22.04
  • How to adjust max_vars_input on CWP
  • How to adjust max_vars_input on Plesk Windows
  • How to manually install moodle on plesk windows
  • How to change System PHP in Plesk Windows
  • How to change PHP version / handler for a single domain Plesk – Windows/Linux
  • How to Back Up MySQL Databases Automatically with Cron
  • How to Set Up Postfix as a Mail Server on Ubuntu
  • Why You May Not Want To Run Your Own Mail Server
  • First Server Setup with Ubuntu
  • How to Install CWP on CentOS Linux 8/Alma Linux 8
  • Truehost VPS Test IP Addresses
  • What is an Intrusion Detection System (IDS)?
  • Practices for Server Security Hardening
  • How to install Softaculous On Control Web Panel (CWP)
  • How to Install Moodle Manually on Your Server (CWP, Cyberpanel)
  • How to Secure a Linux Server with Fail2Ban
  • Fail2Ban Configuration Documentation: jail.local and fail2ban.local
  • How to Power OFF, Powe ON and Reboot a VPS from client area.
  • How to Acess your Virtualizor Account from Truehost Client area
  • How to set a VPS to rescure mode from Truehost Client area
  • How to Access VPS via VNC from Truehost Client Area
  • How to change VPS Password from Truehost Client Area
  • How to Re-install a Tcloud VPS Operating System (OS) from Truehost Client Area
  • How to disable Two-Factor Authentication (2FA) on Cyberpanel login.
  • How to Disable InnoDB in MariaDB
  • How to Disable InnoDB in MySQL
  • How To Configure the Apache Web Server on an Almalinux
  • How to Install MariaDB on Almalinux 9
  • How to prevent frequent SSH and SCP disconnect
  • How To Host A nodejs Application On Ubuntu 20.04
  • How to enable OpenSSH Client on Windows
  • How to resolve Warning Remote host Identification has changed on Windows powershell
  • How to use Termius for SSH access on Windows/Linux
  • How to Install MariaDB on Almalinux 8
  • How to Install phpMyAdmin client on Almalinux 9
  • How to Install phpMyAdmin client on Almalinux 8
  • How to Change the Time Zone on Ubuntu Server
  • How To Configure the Apache Web Server on an Ubuntu/Debian
  • Wget Command Examples to Download Files in Linux
  • How to Check Bandwidth Usage from WHM Panel
  • How to Configure SSH Key for a User
  • How to disable root ssh with password but enable via ssh keys
  • How to change SSH port to a custom port
  • How to Run Sudo Commands Without Password
  • How to create a sudo user on your server
  • How to manually deploy WordPress on Control Web Panel (CWP) User Panel
  • How to manually deploy WordPress on Control Web Panel(CWP) Admin Panel
  • How to disable root ssh completely
  • How to import/export a database on Control Web Panel (CWP)
  • How to create a database in Control Web Panel (CWP)
  • How to Create a Hosting Package on CentOS Web Panel(CWP)
  • How to adjust PHP INI settings on CentOS Web Panel (CWP)
  • How to change the PHP version in Control Web Panel (CWP)
  • How to Install and Enable CSF Firewall on CentOS Web Panel (CWP)
  • How to Manage Existing Emails on CentOS Web Panel (CWP)
  • How to Create Email Accounts on CentOS Web Panel (CWP)
  • How to Create an Addon Domain/Subdomain on a CWP cPanel
  • How to Configure CWP server for Email use
  • How to change a CWP user account password
  • How to Create a User Account (Domain Account) on CWP (CentOS Web Panel)
  • How to Access CWP (Main WHM Panel)
  • How to change SSH passwords for root and non-root user
  • How to manually deploy WordPress on Cyberpanel
  • How to set up a hostname SSL On Cyberpanel
  • How to Create and Manage Databases on Cyberpanel
  • How to properly Install Control Web Panel(CWP) on Almalinux/CentOS
  • How to Manage Existing Email Accounts on Cyberpanel
  • How to Create and Access Email Accounts on CyberPanel
  • How to Configure Cyberpanel server for Email use
  • How to create a domain and subdomain on Cyberpanel
  • How to Access Cyberpanel
  • How to Access A Server via SSH/Terminal
  • How to reset Cyberpanel password via Terminal/SSH
  • Overview of Truehost Virtualizor for VPS.
  • How to resolve – Can’t connect to local server through socket ‘/run/mysqld/mysqld.sock’ (2)
  • How to install cpanel/WHM on a VPS
  • Control panels supported for VPS and Dedicated Servers.
  • How to Activate and use rescue mode on a VPS

remote access

8
  • How to Transfer files from a Linux Server to Windows Server using WinSCP
  • How to Access VNC using Remmina
  • How to copy files from a Windows Server to Linux Server using rSync
  • How to Transfer files from a Windows Server to Linux Server using Command Line (CMD)
  • How to Transfer files from a Windows Server to Linux Server using WinSCP
  • How to Remotely Access Windows Server (RDP) from Linux using Command Line/terminal
  • How to Remotely Access Windows Server (RDP) from Linux using Remmina
  • How to Access A Server via SSH/Terminal

VPS-Servers

217
  • Managing Truehost Vaultwarden
  • How to Access a Server in Rescue Mode and Retrieve Backups
  • How to deploy website using git on a VPS server.
  • How to Set Up a Website on a VPS with Nginx
  • How to Install and Configure ModSecurity in WHM
  • How to Configure Hostname and Default Nameservers in WHM
  • How to Migrate cPanel Accounts Between cPanel Servers Using WHM
  • How to install a PHP extension in WHM
  • How to remove a DNS zone from WHM
  • How to Suspend / Unsuspend cPanel Accounts Within WHM
  • How to Assign A dedicated IP to a Cpanel Account on WHM
  • How to Add an IP Adress to a Cpanel Server From WHM
  • How to Set Up A DNS Clusters in WHM
  • How to Set Document Root outside public_html for Addon Domain OR Sub Domain
  • How to Create a Backup Job in WHM With Jetbackup
  • How to Add A backup Destination in Jetbackup on A cPnel Server
  • How to Migrate Email Accounts Between cPanel Servers
  • How to enable Shell Access for a Cpanerl Accout
  • How to Automate Updates for cPanel and System Software via WHM
  • How to Schedule cPanel Backups in WHM
  • How to Enable Two-Factor Authentication for WHM Access
  • How to Set Up Custom Branding for Reseller Accounts in WHM
  • How to change cPanel Account Ownership from WHM
  • How to Use MultiPHP in WHM to Change your Server’s PHP Version
  • How to Convert an existing account to Reseller Accounts in WHM
  • How to create and Managing Reseller Accounts in WHM
  • How to Create a cPanel account within WHM
  • How to Add a Remote MySQL Access Host in Webuzo
  • How to Configure Apache as a Reverse Proxy with mod_proxy
  • How to Set Up a Reverse Proxy with Nginx on AlmaLinux 9
  • How to Install and Configure NGINX on CWP
  • How to Monitor Server Health with Nagios
  • How to Forward Ports With Iptables On A Linux Server
  • How to Configure and Manage MySQL Databases in Webuzo
  • How to Whitelist an IP with CSF
  • How To Open Ports On Ubuntu
  • How to Transfer files from a Linux Server to Windows Server using WinSCP
  • How to Configure Firewalld for Enhanced Server Security
  • How to Create a Container in Proxmox
  • How to Backup and Restore Virtual Machines (VMs) in Proxmox
  • How to Create Virtual Machines in Proxmox
  • How to Install and Use Proxmox for Virtualization
  • How to Create & Manage FTP in Webuzo With Enduser Access
  • How to Change File Permissions in Webuzo File Manager
  • How to Install and Configure HAProxy for Load Balancing on Almalinux
  • How to Update a CyberPanel Server
  • How to Create Additional admin User Accounts in CyberPanel
  • How to Disable Two-Factor Authentication in CyberPanel
  • How to Enable Two-Factor Authentication in CyberPanel
  • Implementing Firewall and Security Measures in CyberPanel
  • How to Install WordPress on Webuzo
  • How to Change the PHP Version in the Webuzo Panel
  • How to Install an SSL Certificate in Webuzo
  • How to Create a Self-signed SSL Certificate in Webuzo
  • How to Generate a Certificate Signing Request (CSR) on Webuzo
  • Subprocess exited with error when installing mysqlclient.
  • How to Add Subdomain in Webuzo With Enduser Access
  • How to Add a Domain in Webuzo With Enduser Access
  • How to Enable/Disable ModSecurity in Webuzo
  • How to Add Domain and Nameservers in Webuzo For Root Users
  • How to Add Domain Alias in Webuzo With Enduser Access
  • How to Add or Edit DNS Records in Webuzo Panel
  • How To Change The Root Password Of Webuzo Control Panel
  • How to Delete Email Accounts in Webuzo Panel
  • How to Add an Email Account in the Webuzo Panel
  • How to Access Admin Panel in Webuzo
  • How to add a User on Webuzo Admin Panel
  • How to Access User Panel in Webuzo
  • How to Access VNC using Remmina
  • How to Schedule Backups: Local or SFTP on Cyberpanel
  • How to Delete Backup Destinations on Cyberpanel
  • How to Check for installed PHP extensions via ssh on a VPS server
  • How to Add Destination for Scheduled Local/SFTP Remote Backups on Cyberpanel
  • How to Create and Restore CyberPanel Backups
  • How to Set Up Nameservers in Control Web Panel
  • How to check resources usage in DirectAdmin
  • How to generate CSR for SSL in DirectAdmin
  • How to install an SSL Certificate on DirectAdmin
  • How to Increase File Upload Limit in DirectAdmin
  • How to manage user packages in DirectAdmin
  • How to disable/enable php_functions on DirectAdmin
  • How to change the PHP version in DirectAdmin
  • How to create autoresponder in DirectAdmin
  • How to create an FTP account in DirectAdmin
  • How to create a MySQL Database in DirectAdmin
  • How to Suspend/Unsuspend domains in DirectAdmin
  • How to create a subdomain in DirectAdmin
  • How to check the website statistics in DirectAdmin
  • How to add a custom suspension message in DirectAdmin
  • How to change Email Account Password in DirectAdmin
  • How to Create an Email Account in DirectAdmin
  • How to set up Cron Jobs in DirectAdmin
  • How to create a backup in DirectAdmin
  • How to Add and Manage DNS Records in DirectAdmin
  • How to change MX Records in DirectAdmin
  • How to Set Up Website Redirection Rules in DirectAdmin
  • How to Create/Restore an Admin Backup with DirectAdmin
  • How to Create Additional Administrator User In DirectAdmin
  • How to set Up Reseller Accounts in DirectAdmin
  • Installing DirectAdmin on a Cloud Server: Step-by-Step Guide
  • Setting Up and Managing Reseller Accounts in CWP
  • How to copy files from a Windows Server to Linux Server using rSync
  • How to Transfer files from a Windows Server to Linux Server using Command Line (CMD)
  • How to Transfer files from a Windows Server to Linux Server using WinSCP
  • How to Remotely Access Windows Server (RDP) from Linux using Command Line/terminal
  • How to Remotely Access Windows Server (RDP) from Linux using Remmina
  • Understanding how to use the wall command in Linux
  • Introduction to Linux File System Structure: What Every User Should Know
  • Setting Up and Using Swap Space on Linux Servers
  • How to Use SCP for Secure File Transfers Between Linux Servers
  • How to Compress and Decompress Files Using tar and gzip
  • How to Set Up Syslog for Centralized Logging
  • Installing and Configuring Kubernetes on a Linux Server
  • How to Install and Configure Nginx as a Web Server
  • Installing and Using Docker on a Linux Server
  • Setting Up a LAMP Stack (Linux, Apache, MySQL, PHP) on Almalinux
  • How to Set Up Samba for File Sharing on Linux Servers
  • How to Set Up Network File System (NFS) on a Linux Server
  • How to Configure a Load Balancer on Nginx
  • How to Install and Configure Apache Tomcat on Linux – Almalinux
  • Setting Up a LAMP Stack (Linux, Apache, MySQL, PHP) on Ubuntu
  • Setting Up a LEMP Stack (Linux, Nginx, MySQL, PHP) on Almalinux
  • Automating Server Backups Using rsync and cron
  • How to Optimize Linux Server Swap Usage
  • Using Memcached for Database Performance Optimization
  • How to Use SSH Tunneling for Secure Remote Access
  • How to Install and Configure Redis on Linux Servers
  • How to Secure MySQL/MariaDB with SSL Encryption
  • Optimizing MySQL Performance with Tuning Tools
  • How to Set Up and Use an SSH Jumphost.
  • How to Use Prometheus and Grafana for Server Monitoring
  • Installing and Configuring ELK Stack (Elasticsearch, Logstash, Kibana)
  • How to Set Up a Git Server on Linux
  • How to Install and Configure OpenVPN on a Linux Server
  • How to Install and Configure Apache Tomcat on Linux – Ubuntu
  • Setting Up a LEMP Stack (Linux, Nginx, MySQL, PHP) on Ubuntu 22.04
  • How to Use Fail2Ban to Protect Apache and Nginx from Brute-Force Attacks
  • How to Find Large Files and Directories on a Linux Server
  • How to Configure Apache Redirects with .htaccess Files
  • How to Restrict SSH Access to Specific IPs Using hosts.allow and hosts.deny
  • How to Install ClamAV for Malware Scanning on Ubuntu
  • How to Install ClamAV for Malware Scanning on Amlalinux
  • How to Identify and Kill a Running Process in Linux
  • How to Monitor CPU and Memory Usage in Linux
  • How to Check Disk Usage with df and du Commands
  • Getting Started with Linux Aliases: Simplify Your Commands
  • Understanding and Managing System Logs in Linux
  • Managing Users and Groups on a Linux Server: Best Practices
  • Introduction to Linux Package Managers: Apt vs. Yum
  • How to Set Up a Basic Firewall with Uncomplicated Firewall (UFW)
  • Top 10 Essential Linux Commands for Server Management
  • Understanding Linux File Permissions: What Every Administrator Should Know
  • Setting Up Your First Linux Server: A Step-by-Step Guide
  • Configuring DKIM and SPF for Email Security
  • How to Configure SMTP Relays on a Linux Server
  • How to Configure a Mail Server with Dovecot and Postfix on Almalinux
  • How To Install MariaDB on Ubuntu 22.04
  • How to adjust max_vars_input on CWP
  • How to adjust max_vars_input on Plesk Windows
  • How to manually install moodle on plesk windows
  • How to change System PHP in Plesk Windows
  • How to change PHP version / handler for a single domain Plesk – Windows/Linux
  • How to Back Up MySQL Databases Automatically with Cron
  • How to Set Up Postfix as a Mail Server on Ubuntu
  • First Server Setup with Ubuntu
  • What is an Intrusion Detection System (IDS)?
  • How to install Softaculous On Control Web Panel (CWP)
  • How to Install Moodle Manually on Your Server (CWP, Cyberpanel)
  • How to Secure a Linux Server with Fail2Ban
  • Fail2Ban Configuration Documentation: jail.local and fail2ban.local
  • How to Power OFF, Powe ON and Reboot a VPS from client area.
  • How to Acess your Virtualizor Account from Truehost Client area
  • How to set a VPS to rescure mode from Truehost Client area
  • How to Access VPS via VNC from Truehost Client Area
  • How to change VPS Password from Truehost Client Area
  • How to Re-install a Tcloud VPS Operating System (OS) from Truehost Client Area
  • How to disable Two-Factor Authentication (2FA) on Cyberpanel login.
  • How to Disable InnoDB in MariaDB
  • How To Configure the Apache Web Server on an Almalinux
  • How to Install MariaDB on Almalinux 9
  • How to prevent frequent SSH and SCP disconnect
  • How to Install MariaDB on Almalinux 8
  • How to Install phpMyAdmin client on Almalinux 8
  • How to Change the Time Zone on Ubuntu Server
  • How To Configure the Apache Web Server on an Ubuntu/Debian
  • Wget Command Examples to Download Files in Linux
  • How to Check Bandwidth Usage from WHM Panel
  • How to Configure SSH Key for a User
  • How to disable root ssh with password but enable via ssh keys
  • How to change SSH port to a custom port
  • How to Run Sudo Commands Without Password
  • How to create a sudo user on your server
  • How to manually deploy WordPress on Control Web Panel (CWP) User Panel
  • How to manually deploy WordPress on Control Web Panel(CWP) Admin Panel
  • How to disable root ssh completely
  • How to import/export a database on Control Web Panel (CWP)
  • How to create a database in Control Web Panel (CWP)
  • How to Create a Hosting Package on CentOS Web Panel(CWP)
  • How to adjust PHP INI settings on CentOS Web Panel (CWP)
  • How to change the PHP version in Control Web Panel (CWP)
  • How to Install and Enable CSF Firewall on CentOS Web Panel (CWP)
  • How to Manage Existing Emails on CentOS Web Panel (CWP)
  • How to Create Email Accounts on CentOS Web Panel (CWP)
  • How to Create an Addon Domain/Subdomain on a CWP cPanel
  • How to Configure CWP server for Email use
  • How to change a CWP user account password
  • How to Create a User Account (Domain Account) on CWP (CentOS Web Panel)
  • How to Access CWP (Main WHM Panel)
  • How to change SSH passwords for root and non-root user
  • How to manually deploy WordPress on Cyberpanel
  • How to Create and Manage Databases on Cyberpanel
  • How to properly Install Control Web Panel(CWP) on Almalinux/CentOS
  • How to Manage Existing Email Accounts on Cyberpanel
  • How to Create and Access Email Accounts on CyberPanel
  • How to Configure Cyberpanel server for Email use
  • How to create a domain and subdomain on Cyberpanel
  • How to Access A Server via SSH/Terminal

Business Email

13
  • Configuring DKIM and SPF for Email Security
  • How to Configure SMTP Relays on a Linux Server
  • How to Set Up Postfix as a Mail Server on Ubuntu
  • Why You May Not Want To Run Your Own Mail Server
  • How to Manage Existing Emails on CentOS Web Panel (CWP)
  • How to Create Email Accounts on CentOS Web Panel (CWP)
  • How to Configure CWP server for Email use
  • How to set a recovery email address in Cloudoon Mail
  • Truehost Business Email Limitations
  • How To Create A Forwarder In Truehost Business Email
  • How To Set Up Email Aliases In Truehost Business Email
  • How To Migrate Emails From Gmail To Truehost Business Email
  • How to Migrate Emails from cPanel to Cloudoon Mail

CWP Panel

37
  • CentOS Web Panel (CWP) Security Vulnerability – Remediation Guide
  • How to Install and Configure NGINX on CWP
  • How to Check for installed PHP extensions via ssh on a VPS server
  • Setting Up and Managing Reseller Accounts in CWP
  • How to adjust max_vars_input on CWP
  • How to Install CWP on CentOS Linux 8/Alma Linux 8
  • How to install Softaculous On Control Web Panel (CWP)
  • How to Install Moodle Manually on Your Server (CWP, Cyberpanel)
  • How to manually deploy WordPress on Control Web Panel (CWP) User Panel
  • How to manually deploy WordPress on Control Web Panel(CWP) Admin Panel
  • How to import/export a database on Control Web Panel (CWP)
  • How to create a database in Control Web Panel (CWP)
  • How to Create a Hosting Package on CentOS Web Panel(CWP)
  • How to adjust PHP INI settings on CentOS Web Panel (CWP)
  • How to change the PHP version in Control Web Panel (CWP)
  • How to Install and Enable CSF Firewall on CentOS Web Panel (CWP)
  • How to Manage Existing Emails on CentOS Web Panel (CWP)
  • How to upgrade mariadb on CWP to version 10.11 lts
  • How to Create Email Accounts on CentOS Web Panel (CWP)
  • How to Create an Addon Domain/Subdomain on a CWP cPanel
  • How to Configure CWP server for Email use
  • How to change a CWP user account password
  • How to Create a User Account (Domain Account) on CWP (CentOS Web Panel)
  • How to Access CWP (Main WHM Panel)
  • How to Access CWP (User’s cPanel)
  • How to set up Hostname SSL on CWP
  • How to change SSH passwords for root and non-root user
  • How to properly Install Control Web Panel(CWP) on Almalinux/CentOS
  • How to Resolve “PHP Build Failed” on CWP
  • How to Disable ClamAV CWP
  • How to fix CWP RoundCube Internal Server Error
  • How to Update CWP
  • A list of CWP WebServer Errors and their fixes
  • How to Fix Invalid Session issue in CWP
  • How To Install CentOS Web Panel on VPS
  • How to resolve error 404 phpmyadmin cwp panel.
  • How to resolve Roundcube Connection to the storage server failed on Control Web Panel – CWP panel.

Cyberpanel

52
  • How to Install Roundcube On CyberPanel
  • How to Deploy a React App on Cyberpanel: A Step-by-Step Guide
  • Can’t connect to host “ssl://localhost:993” on Cyberpanel
  • How to deploy Nextjs on Cyberpanel.
  • How to Deploy Laravel on Cyberpanel VPS
  • How to deploy a nodejs app on Cyberpanel
  • How to Update a CyberPanel Server
  • How to Create Additional admin User Accounts in CyberPanel
  • How to Disable Two-Factor Authentication in CyberPanel
  • How to Enable Two-Factor Authentication in CyberPanel
  • How to Setup or Deploy Django on Cyberpanel
  • How to Delete Backup Destinations on Cyberpanel
  • How to resolve Server Error 500 on Cyberpanel login page
  • How to Check for installed PHP extensions via ssh on a VPS server
  • How to Add Destination for Scheduled Local/SFTP Remote Backups on Cyberpanel
  • How to enable remote database connection on Cyberpanel.
  • How to manually reset admin password for wordpress dashboard in cyberpanel
  • How to enable remote database access on Cyberpanel server
  • How to Update CyberPanel
  • How to resolve “Site can’t be reached for Cyberpanel admin dashboard”
  • How to Install Moodle Manually on Your Server (CWP, Cyberpanel)
  • How to disable Two-Factor Authentication (2FA) on Cyberpanel login.
  • How to change SSH passwords for root and non-root user
  • How to manually deploy WordPress on Cyberpanel
  • How to set up a hostname SSL On Cyberpanel
  • How to import/export a MariaDB/MySQL database on Cyberpanel
  • How to Create and Manage Databases on Cyberpanel
  • How to Install CyberPanel – Ubuntu and Almalinux
  • How to adjust PHP INI settings on Cyberpanel (e.g., Upload Limit, post_max_size, display_errors)
  • How to increase file upload limit on Tpanel
  • How to Manage Existing Email Accounts on Cyberpanel
  • How to Create and Access Email Accounts on CyberPanel
  • How to Configure Cyberpanel server for Email use
  • How to create a domain and subdomain on Cyberpanel
  • How to Access Cyberpanel
  • How to reset Cyberpanel password via Terminal/SSH
  • How to Schedule Incremental Backup
  • How to Fix “Can’t Send Message” Error on CyberPanel
  • How to upload a website files to CyberPanel using FTP FileZilla.
  • How to install Prestashop on cyberpanel server
  • How to install Moodle on Cyberpanel VPS server.
  • How to Fix Blacklisted Domain Error in CyberPanel
  • How to disable 2FA cyberpanel
  • How to install Nodejs on Cyberpanel Ubuntu Server
  • How to auto-import a cPanel Backup to CyberPanel – Transfer from cpanel to CyberPanel
  • How to install PHP 8.2 in CyberPanel
  • How to resolve Error message: local variable ‘post_max_size’ referenced before assignment on Cyberpanel.
  • How to Restore Backup in Cyberpanel
  • How to Create Incremental Backup in CyberPanel
  • Installing Cyberpanel on Ubuntu20.04.
  • How to upgrade mariadb on cyberpanel from 10.3 to 10.6 on ubuntu 20.04
  • How to deploy Django on Cyberpanel on Ubuntu.

Joomla

1
  • How to write and post an article in Joomla

Cloudpanel

10
  • CentOS Web Panel (CWP) Security Vulnerability – Remediation Guide
  • Deploy Laravel E-Commerce Site on CloudPanel
  • Login to CloudPanel.
  • How to Upload files in CloudPanel VPS server
  • How to install Cloudpanel on a VPS Server
  • Deploy Django Python App on CloudPanel
  • Installing Free SSL on CloudPanel site.
  • How to Fix 404 and 502 Errors on CloudPanel
  • How to change SSH passwords for root and non-root user
  • How to Import/Export database on CloudPanel

Windows Server

11
  • How to resolve Remote Desktop License Servers Error.
  • How to copy files from a Windows Server to Linux Server using rSync
  • How to Transfer files from a Windows Server to Linux Server using Command Line (CMD)
  • How to Transfer files from a Windows Server to Linux Server using WinSCP
  • How to Remotely Access Windows Server (RDP) from Linux using Command Line/terminal
  • How to Remotely Access Windows Server (RDP) from Linux using Remmina
  • How to adjust max_vars_input on Plesk Windows
  • How to change System PHP in Plesk Windows
  • How to Install and enable PHP handles on Plesk – Windows
  • How to change PHP version / handler for a single domain Plesk – Windows/Linux
  • How to create an application pool in IIS 8 – Windows Server 2012 R2

Billing

2
  • How to create add funds invoice from truehost client area.
  • How to Pay Using MPESA Global Pay

Support

1
  • How to Securely Share Login Credentials at Truehost Cloud

IspConfig

1
  • How to install ispconfig on Debian 12

Workplace

6
  • How to Change workplace Email Password
  • How to share files securely using workplace email.
  • How to access drive storage for workplace email
  • How to add Email signature on Truehost Workplace email.
  • MX, Dmarc and SPF Records for Truehost Workplace e-Mail
  • Getting Started with Truehost Workplace email

Fastpanel

10
  • How to Install Postgresql on FastPanel
  • How to setup a Hostname on FastPanel (Panel Address)
  • How to install php on FastPanel
  • How To transfer cPanel Emails to FastPanel using Semaphore
  • How to instal Premium SSL on FastPanel
  • How to install Free SSL on FastPanel.
  • What are the supported OS for FastPanel
  • How to Reset Your FastPanel User Password via SSH
  • How to install wordpress on Fastpanel
  • How to Install, Update and Uninstall FastPanel

DNS

40
  • How to Set Up Nameservers in Control Web Panel
  • How to Add Domain and Nameservers in Webuzo For Root Users
  • How to Add a Domain in Webuzo With Enduser Access
  • How to Add Subdomain in Webuzo With Enduser Access
  • How to Install and Use Proxmox for Virtualization
  • How to Create a Container in Proxmox
  • How to Configure Apache as a Reverse Proxy with mod_proxy
  • How to add google text verification code on cPanel and Olitt
  • How to Schedule cPanel Backups in WHM
  • How to Migrate Email Accounts Between cPanel Servers
  • How to Configure Hostname and Default Nameservers in WHM
  • How to install ispconfig on Debian 12
  • MX, Dmarc and SPF Records for Truehost Workplace e-Mail
  • How to install Free SSL on FastPanel.
  • How to setup a Hostname on FastPanel (Panel Address)
  • Can’t connect to host “ssl://localhost:993” on Cyberpanel
  • How to Set Up a Website on a VPS with Nginx
  • How To Set Up a WildCard Subdomain and DNS in Cpanel
  • DNS tab in Plesk Control panel
  • How to create a DNS A record in Windows Server
  • How to configure reverse Dns( rdns)
  • How to check your Reverse DNS
  • How to manage Dns Zone in Plesk
  • Set up Forward DNS zone on your VPS
  • Manually configure reverse DNS in Linux VPS
  • Deleting Dns Records in Plesk
  • How to manage DNS records in cPanel
  • How to set up Truehost Free DNS
  • How to Register on Olitt and manage Domain DNS
  • Olitt DNS Setup
  • How to Point Emails Only to Truehost hosting from external DNS
  • How to Manage DNS in Plesk (Windows)
  • How to Clear Your DNS/Network Cache
  • How To Set Up Zoho Mails On OLITT DNS
  • How To Set Custom DNS Resolvers In Your VPS
  • How to Point Custom Domain to Blogger using Cloudflare DNS?
  • How to Add and Manage DNS Records in DirectAdmin
  • How to Add or Edit DNS Records in Webuzo Panel
  • How to Set Up A DNS Clusters in WHM
  • How to remove a DNS zone from WHM
View Categories
  • Home
  • Truehost Support
  • Guides
  • Truehost Reseller Panel
  • Truehost Domains Reseller API

Truehost Domains Reseller API

Faith Chelangat
Updated on November 3, 2026
0:00 / 29:15
  • View as Markdown Open this page as plain Markdown (opens in a new tab)
  • Open in ChatGPT Ask questions about this page (opens in a new tab)
  • Open in Claude Ask questions about this page (opens in a new tab)
  • Open in Google AI Studio Ask questions about this page (Google account required) (opens in a new tab)

Reference for integrating domain registration into your own website or software

Version1.0 (October 2026)
ProtocolHTTPS, REST-style paths
Request formatapplication/x-www-form-urlencoded
Response formatJSON (one exception: domain lookup)
AuthenticationUsername plus an hourly HMAC-SHA256 token
Time zoneUTC for all times
StandardsISO 8601 dates, ISO 3166-1 alpha-2 country codes, ITU-T E.164 phone numbers, IDNA 2008 (Punycode) for internationalised names

This is for: developers at a Truehost reseller who want to register, transfer, renew and manage domains from their own system, without WHMCS or the Truehost Reseller Panel. If you use either, use its Truehost module instead; it makes these calls for you, and the panel’s module also keeps your extension prices in step with your price list.

Contents #

Table of Contents #

  1. Before you start
  2. Base URL
  3. Authentication
  4. Requests
  5. Responses and errors
  6. Endpoint summary
  7. Account
  8. Availability
  9. Orders
  10. Domain status
  11. Nameservers
  12. Child nameservers (glue records)
  13. Transfer lock and EPP code
  14. Contacts and WHOIS privacy
  15. DNS and email forwarding
  16. Release and deletion
  17. Data formats
  18. Code examples
  19. Recommended integration flow
  20. Troubleshooting

1. Before you start #

You need:

ItemWhere to get it
A reseller account on a Truehost site, for example truehost.cloud or truehost.co.keSign up on that site and ask Truehost to switch on domain reselling
Your API usernameThe email address you log in to that site with
Your API keyThat site’s client area → Domains Reseller → API settings
A reseller balanceTop up in the same client area. Every registration, transfer and renewal is paid from it
A server with an accurate clockUse NTP. The token changes every hour (see Authentication)

Each Truehost site is separate. Accounts, API keys, balances and price lists are not shared between sites. Always call the site where your reseller account was opened, with the key issued by that site.

Keep the API key on your server. Never put it in a browser, mobile app or public repository. Anyone with the key can spend your balance.

2. Base URL #

https://{site}/cloud/modules/addons/DomainsReseller/api/index.php

{site} is the Truehost site of your reseller account. Examples:

SiteBase URL
truehost.cloudhttps://truehost.cloud/cloud/modules/addons/DomainsReseller/api/index.php
truehost.co.kehttps://truehost.co.ke/cloud/modules/addons/DomainsReseller/api/index.php

Every endpoint is appended to the base URL with a /. For example, the balance endpoint on truehost.cloud is:

https://truehost.cloud/cloud/modules/addons/DomainsReseller/api/index.php/billing/credits

In this document, {BASE} means the base URL and {domain} means a domain name such as example.co.ke.

3. Authentication #

Send these two HTTP headers with every request:

HeaderValue
usernameYour API username (login email)
tokenThe hourly token described below

Building the token #

hour  = current UTC time formatted as “yy-mm-dd HH”     e.g. “26-10-26 14”

key   = username + “:” + hour                           e.g. “[email protected]:26-10-26 14”

hex   = HMAC-SHA256(message = API key, key = key), as lowercase hexadecimal

token = Base64(hex)

Note the details that are easy to get wrong:

  • The API key is the message and username:hour is the HMAC key.
  • The hour uses a two-digit year, a space, and the 24-hour clock in UTC.
  • Base64 is applied to the 64-character hex string, not to the raw 32-byte digest.

Test vector #

Check your implementation against these values (sample credentials, not real ones):

InputValue
username[email protected]
API keyEXAMPLE-API-KEY-123
UTC hour26-10-26 14 (14:00–14:59 UTC on 26 October 2026)
hexc57336cac850d7b04d27cf524932d3804fa2f2fdb8a8c54f34341fb99843bbdf
tokenYzU3MzM2Y2FjODUwZDdiMDRkMjdjZjUyNDkzMmQzODA0ZmEyZjJmZGI4YThjNTRmMzQzNDFmYjk5ODQzYmJkZg==

Generate a fresh token for each request, or at least each hour. A server clock that is wrong by an hour or more makes every request fail with token is invalid.

4. Requests #

RuleDetail
MethodsGET to read, POST to change or order
GETNo body and no query parameters. Everything is in the path
POSTBody encoded as application/x-www-form-urlencoded
Lists and objectsPHP bracket notation: nameservers[0]=ns1.example.com, contacts[registrant][firstname]=Jane
Domain in the pathLowercase ASCII. Internationalised names in Punycode (xn--…). URL-encode the value
Domain in the bodyDomain endpoints that take a body also expect domain, with the same value as in the path
RedirectsDo not follow redirects. A redirect turns a POST into a GET
TimeoutsAllow at least 60 seconds for orders. Registries can be slow
Character setUTF-8

Example of a form body with nested values:

domain=example.co.ke&regperiod=1&nameservers%5B0%5D=ns1.example.com&nameservers%5B1%5D=ns2.example.com&addons%5Bidprotection%5D=1

5.Response and Errors #

Responses are JSON. Treat a response as failed if any of these is true:

  1. The HTTP status is 400 or higher.
  2. The body has a non-empty error field: {“error”: “Domain name is invalid”}.
  3. The body has “result”: “error” (the reason is in message).
  4. The body has “success”: false (the reason is in message).
  5. The body is empty when you expected data, or is not valid JSON (an HTML page means a proxy or server error).

Otherwise the call succeeded. A successful change usually answers {“success”: true}; a successful read answers the data.

Do not treat “no error field” alone as success. A server error page has no error field either. Apply all five rules.

Common error messages #

HTTPMessage containsMeaningWhat to do
401Username has not been providedThe username header is missingSend both headers
401username is invalidThis site has no reseller account with that usernameUse the site where your account was opened, and your login email
401token is invalidWrong API key, key from another site, or clock offCopy the key again from this site; check the server clock (UTC)
—Action not foundThe endpoint path is wrongCheck the path and method
—not been found in reseller accountThe domain is not in your reseller accountCheck the spelling, or register or transfer it first
—Provided domain period is unavailable for saleThe extension is not in your price list, or not for that number of yearsCheck GET tlds/pricing
—balance or credit messagesNot enough balanceTop up, then retry

Some error messages include the IP address the API sees (Your IP is: …). If your API settings restrict access by IP address, that IP must be allowed.

6.Endpoint Summary #

MethodEndpointPurpose
GET/billing/creditsReseller balance
GET/tlds/pricingYour price list per extension
POST/domains/lookupCheck availability
POST/order/domains/registerRegister a domain
POST/order/domains/transferTransfer a domain in
POST/order/domains/renewRenew a domain
POST/domains/{domain}/syncExpiry date and status
POST/domains/{domain}/transfersyncTransfer progress
GET/domains/{domain}/nameserversRead nameservers
POST/domains/{domain}/nameserversChange nameservers
POST/domains/{domain}/nameservers/registerCreate a child nameserver
POST/domains/{domain}/nameservers/modifyChange a child nameserver’s IP
POST/domains/{domain}/nameservers/deleteDelete a child nameserver
GET/domains/{domain}/lockRead the transfer lock
POST/domains/{domain}/lockSet the transfer lock
GET/domains/{domain}/eppcodeGet the EPP (auth) code
GET/domains/{domain}/contactRead WHOIS contacts
POST/domains/{domain}/contactChange WHOIS contacts
POST/domains/{domain}/protectidWHOIS privacy on or off
GET/domains/{domain}/dnsRead DNS records (DNS management add-on)
POST/domains/{domain}/dnsSave DNS records
GET/domains/{domain}/emailRead email forwarding
POST/domains/{domain}/emailSave email forwarding
POST/domains/{domain}/releaseRelease to another registrar by tag (.uk and similar)
POST/domains/{domain}/deleteRequest deletion

The response examples below show the fields you should read. Responses can contain more fields than shown; ignore the ones you don’t need.

7. Account #

GET /billing/credits #

Your reseller balance, in your account’s currency on that site. Use it as a connection test: it changes nothing.

Request

GET {BASE}/billing/credits

Response

{ “credits”: “1520.00” }

The amount can also arrive as credit or balance, or as a bare number. Read it as a decimal.

GET /tlds/pricing #

The extensions you can sell, with your cost for each, from your reseller price list.

Request

GET {BASE}/tlds/pricing

Response: a list, one entry per extension and currency:

[

  {

    “tld”: “.co.ke”,

    “years”: [1],

    “registrationPrice”: “999.00”,

    “transferPrice”: “1000.00”,

    “renewalPrice”: “1500.00”,

    “currencyCode”: “KES”

  },

  {

    “tld”: “.co.ke”,

    “years”: [1],

    “registrationPrice”: “7.69”,

    “transferPrice”: “7.70”,

    “renewalPrice”: “9.24”,

    “currencyCode”: “USD”

  }

]

FieldMeaning
tldExtension, with the leading dot
yearsRegistration periods sold, in years
registrationPrice / transferPrice / renewalPriceYour cost, per year. A negative value means not sold
currencyCodeThe currency of the prices in this entry
graceDays / graceFee, redemptionDays / redemptionFeeAlso sent: the grace and redemption periods after expiry, and their fees

The same extension appears once per currency. truehost.co.ke, for example, lists every extension in KES, USD and NGN (about 520 extensions, so some 1,560 entries). Keep only the entries in your account’s currency, the one your balance is charged in: reading the list by tld alone leaves you with whichever currency came last, which on truehost.co.ke is naira.

Cache this list (for example daily) rather than calling it on every order.

8. Availability #

POST /domains/lookup #

Checks one name against one or more extensions in a single call.

Request

POST {BASE}/domains/lookup

FieldTypeRequiredDescription
searchTermstringyesThe name without extension: mybrand
punyCodeSearchTermstringyesThe same name in Punycode. Equal to searchTerm for ASCII names
tldsToInclude[]list of stringsyesExtensions with the leading dot: tldsToInclude[0]=.com&tldsToInclude[1]=.co.ke
isIdnDomain0 or 1yes1 when the name has non-ASCII characters
premiumEnabled0 or 1yesSend 0
isWhmcs0 or 1yesSend 1 (see the format note below)

Response

 Not JSON. This endpoint answers in PHP serialisation format: a list of result objects. In PHP, read it with unserialize($body, [‘allowed_classes’ => false]). Never allow classes: that would let the response create objects in your application. In other languages, use a PHP-serialisation parser (for example phpserialize in Python or php-serialize in Node.js). Some installations wrap the serialised string in a JSON string; decode the JSON first in that case.

Each result object contains, among other fields:

FieldMeaning
domainNameThe full name checked: mybrand.co.ke (or sld plus tld)
isAvailabletrue if it can be registered
isRegisteredtrue if it is taken, including names already registered through Truehost
legacyStatus / statusText status. error or unknown means the registry did not answer

How to read a result:

  1. legacyStatus is error or status is unknown → unknown. Do not tell your customer the name is taken: retry or check WHOIS.
  2. isRegistered is true → taken.
  3. Otherwise use isAvailable.

Private field names in the serialised data have a prefix (\0*\0domainName). Strip it before reading.

9. Orders #

Orders are charged to your reseller balance at your price-list cost. Check the balance and price list before ordering, and confirm the result afterwards (see Recommended integration flow).

POST /order/domains/register #

Request

POST {BASE}/order/domains/register

FieldTypeRequiredDescription
domainstringyesFull domain name: mybrand.co.ke
regperiodintegeryesYears, one of the periods in your price list
nameservers[0] … nameservers[4]stringyesUp to five nameservers. Send at least two; send empty strings for unused positions
contacts[registrant][…]objectyesThe registrant. Fields in Contact object
addons[dnsmanagement]0 or 1yesDNS management add-on
addons[emailforwarding]0 or 1yesEmail forwarding add-on
addons[idprotection]0 or 1yesWHOIS privacy add-on
domainfieldsstringyesExtra registry fields: Base64 of a PHP-serialised array. With no extra fields send YTowOnt9 (an empty array)

Add-ons may be charged separately according to your price list.

Example body (shown decoded, one field per line for reading):

domain=mybrand.co.ke

regperiod=1

domainfields=YTowOnt9

addons[dnsmanagement]=0

addons[emailforwarding]=0

addons[idprotection]=1

nameservers[0]=ns1.cloudoon.com

nameservers[1]=ns2.cloudoon.net

nameservers[2]=ns3.cloudoon.org

nameservers[3]=

nameservers[4]=

contacts[registrant][firstname]=Jane

contacts[registrant][lastname]=Wanjiru

contacts[registrant][companyname]=Mybrand Ltd

contacts[registrant][email][email protected]

contacts[registrant][address1]=1 Kenyatta Avenue

contacts[registrant][address2]=

contacts[registrant][city]=Nairobi

contacts[registrant][state]=Nairobi

contacts[registrant][postcode]=00100

contacts[registrant][country]=KE

contacts[registrant][phonenumber]=712345678

contacts[registrant][phonecc]=254

contacts[registrant][fullphonenumber]=+254.712345678

contacts[registrant][tax_id]=

Response

{ “success”: true }

Confirm every registration. After a successful answer, call POST /domains/{domain}/sync. Only treat the domain as registered when it answers without not been found in reseller account. Then read the nameservers back with GET /domains/{domain}/nameservers, and send them again if none are set.

POST /order/domains/transfer #

Same fields as register, plus:

FieldTypeRequiredDescription
eppcodestringyesThe authorisation (EPP) code from the current registrar

regperiod is usually 1: most registries add one year on transfer.

Response: {“success”: true} means the transfer started. Follow it with POST /domains/{domain}/transfersync until it completes or fails. Transfers usually take five to seven days.

POST /order/domains/renew #

FieldTypeRequiredDescription
domainstringyesFull domain name
regperiodintegeryesYears to add
addons[dnsmanagement]0 or 1yesKeep the DNS management add-on
addons[emailforwarding]0 or 1yesKeep the email forwarding add-on
addons[idprotection]0 or 1yesKeep WHOIS privacy

Response

{ “success”: true, “expirydate”: “2028-10-26” }

If expirydate is present, store it. Otherwise read the new date with sync.

10. Domain Status #

POST /domains/{domain}/sync #

The domain’s current expiry date and status at the registry. Use it to confirm registrations and in a daily synchronisation job. It changes nothing.

FieldTypeRequired
domainstringyes

Response

{

  “active”: true,

  “expired”: false,

  “transferredAway”: false,

  “expirydate”: “2027-10-26”

}

FieldMeaning
activeRegistered and in force
expiredPast its expiry date
transferredAwayMoved to another registrar
expirydateExpiry date, YYYY-MM-DD. Ignore 0000-00-00

An error containing not been found in reseller account means the domain is not in your account.

POST /domains/{domain}/transfersync #

Progress of a transfer started with order/domains/transfer.

FieldTypeRequired
domainstringyes

Response

{ “completed”: true, “expirydate”: “2027-10-26” }

FieldMeaning
completedThe transfer finished; the domain is now active in your account
failedThe transfer failed; the reason is in reason
expirydateNew expiry date, when completed

Neither completed nor failed means the transfer is still in progress. Check again later, for example daily.

11. Nameservers #

GET /domains/{domain}/nameservers #

Request

GET {BASE}/domains/{domain}/nameservers

Response

{ “ns1”: “ns1.cloudoon.com”, “ns2”: “ns2.cloudoon.net”, “ns3”: “ns3.cloudoon.org”, “ns4”: “”, “ns5”: “” }

Read ns1 to ns5 and ignore empty values. To be robust, also accept the values wrapped in nameservers or data, or as a plain list.

POST /domains/{domain}/nameservers #

Replaces all nameservers.

FieldTypeRequiredDescription
domainstringyes
ns1 … ns5stringns1, ns2 yesHost names. Send empty strings for unused positions

Response: {“success”: true}

Truehost’s default nameservers are ns1.cloudoon.com, ns2.cloudoon.net and ns3.cloudoon.org.

12. Child nameservers (glue records) #

Child nameservers are host names under the domain itself, such as ns1.mybrand.co.ke, registered with an IP address at the registry. They let you offer branded nameservers.

The API has no endpoint that lists child nameservers. Store the ones you create, with their IP addresses, in your own system.

POST /domains/{domain}/nameservers/register #

FieldTypeRequiredDescription
domainstringyesThe parent domain: mybrand.co.ke
nameserverstringyesFull host name: ns1.mybrand.co.ke
ipaddressstringyesOne IPv4 address

POST /domains/{domain}/nameservers/modify #

FieldTypeRequiredDescription
domainstringyes
nameserverstringyesFull host name
currentipaddressstringyesThe IP address registered now
newipaddressstringyesThe new IP address

POST /domains/{domain}/nameservers/delete #

FieldTypeRequiredDescription
domainstringyes
nameserverstringyesFull host name

Response (all three): {“success”: true}

13. Transfer lock and EPP code #

GET /domains/{domain}/lock #

Response: the lock status, either as a bare JSON string or in a field:

“locked”

{ “lockstatus”: “locked” }

unlocked (or 0, false, off) means unlocked; anything else means locked. If the call fails, assume locked.

POST /domains/{domain}/lock #

FieldTypeRequiredValues
domainstringyes
lockstatusstringyeslocked or unlocked

Response: {“success”: true}

GET /domains/{domain}/eppcode #

Response

{ “eppcode”: “aB3#kL9$xQ” }

Some registries do not return the code and email it to the registrant instead. In that case the call succeeds with no eppcode: tell your customer to check the registrant’s email.

The EPP code allows the domain to be transferred away. Show it only to the domain’s owner, over HTTPS, and never log it.

14. Contacts and WHOIS privacy #

GET /domains/{domain}/contact #

Response: one object per contact role. Field names use underscores:

{

  “Registrant”: {

    “First_Name”: “Jane”,

    “Last_Name”: “Wanjiru”,

    “Company_Name”: “Mybrand Ltd”,

    “Email_Address”: “[email protected]”,

    “Address_1”: “1 Kenyatta Avenue”,

    “City”: “Nairobi”,

    “State”: “Nairobi”,

    “Postcode”: “00100”,

    “Country”: “KE”,

    “Phone_Number”: “+254.712345678”

  },

  “Admin”: { “…”: “…” },

  “Technical”: { “…”: “…” },

  “Billing”: { “…”: “…” }

}

Roles and fields vary by registry. Some registries give the name whole (Contact_Name), and some add their own fields (for example an ID number for .ke). The registrant role may be called Registrant or Owner.

POST /domains/{domain}/contact #

FieldTypeRequiredDescription
domainstringyes
contactdetails[{Role}][{Field Name}]stringyesEvery role and field, with spaces instead of underscores in field names

Example (decoded):

domain=mybrand.co.ke

contactdetails[Registrant][First Name]=chelsie

contactdetails[Registrant][Last Name]=Kalya

contactdetails[Registrant][Email Address][email protected]

contactdetails[Registrant][Phone Number]=+254.712345678

contactdetails[Registrant][Country]=KE

Read, change, send back. Call GET …/contact first, change the values you need, and send back every role and field you received, under the same names (underscores replaced by spaces). This keeps registry-specific fields that you don’t edit. If the read fails, send the four roles Registrant, Admin, Technical and Billing with the fields First Name, Last Name, Company Name, Email Address, Address 1, Address 2, City, State, Postcode, Country, Phone Number.

Response: {“success”: true}

POST /domains/{domain}/protectid #

FieldTypeRequiredValues
domainstringyes
statusintegeryes1 on, 0 off

Response: {“success”: true}. Not every extension supports WHOIS privacy; the error message says so when it is not available.

These work only when the domain has the matching add-on (dnsmanagement or emailforwarding) and uses Truehost’s nameservers.

15. DNS and email forwarding #

GET /domains/{domain}/dns #

Response

[

  { “hostname”: “@”, “type”: “A”, “address”: “203.0.113.10”, “priority”: “” },

  { “hostname”: “www”, “type”: “CNAME”, “address”: “mybrand.co.ke”, “priority”: “” },

  { “hostname”: “@”, “type”: “MX”, “address”: “mail.mybrand.co.ke”, “priority”: “10” }

]

POST /domains/{domain}/dns #

Replaces all records: send the complete list.

FieldTypeRequiredDescription
domainstringyes
dnsrecords[n][hostname]stringyes@ for the domain itself, or a sub-name
dnsrecords[n][type]stringyesA, AAAA, CNAME, MX, TXT, and so on
dnsrecords[n][address]stringyesThe value
dnsrecords[n][priority]stringMX onlyMX priority

GET /domains/{domain}/email #

Response

[ { “prefix”: “info”, “forwardto”: “[email protected]” } ]

POST /domains/{domain}/email #

Replaces all forwarders. The two lists are matched by position.

FieldTypeRequiredDescription
domainstringyes
prefix[n]stringyesThe part before @: info
forwardto[n]stringyesThe destination address

Response (both POSTs): {“success”: true}

16. Release and deletion #

Both actions are hard or impossible to undo. Ask your customer to confirm first.

POST /domains/{domain}/release #

Moves the domain to another registrar by transfer tag (IPS tag), used by .uk and similar registries.

FieldTypeRequiredDescription
domainstringyes
transfertagstringyesThe receiving registrar’s tag

POST /domains/{domain}/delete #

Asks the registry to delete the domain.

FieldTypeRequired
domainstringyes

Response (both): {“success”: true}

17. Data formats #

Contact object for orders #

Used as contacts[registrant][…] in register and transfer.

FieldRequiredFormatExample
firstnameyesTextJane
lastnameyesTextWanjiru
companynamenoText; empty for individualsMybrand Ltd
emailyesEmail address[email protected]
address1yesStreet address1 Kenyatta Avenue
address2noText
cityyesTextNairobi
stateyesRegion or countyNairobi
postcodeyesPostal code00100
countryyesISO 3166-1 alpha-2, uppercaseKE
phonenumberyesNational number, digits only, no leading zero712345678
phoneccyesCountry calling code, digits only, no +254
fullphonenumberyes+{phonecc}.{phonenumber}+254.712345678
tax_idnoVAT or tax number

Phone numbers #

Registries use the EPP form of E.164: + country code, a dot, then the national number without its trunk zero.

Customer typedphoneccphonenumberfullphonenumber
0712 345 678 (Kenya)254712345678+254.712345678
+234 803 123 4567 (Nigeria)2348031234567+234.8031234567
+27 82 123 4567 (South Africa)27821234567+27.821234567

Other formats #

DataFormat
DatesISO 8601 calendar date YYYY-MM-DD. Treat 0000-00-00 as unknown
Domain namesLowercase ASCII; internationalised names in Punycode, e.g. xn--mnchen-3ya.de
ExtensionsWith the leading dot: .co.ke
MoneyDecimal string in your reseller account’s currency, e.g. “999.00”
Booleanstrue/false in responses; 1/0 in requests
Empty domainfieldsYTowOnt9 (Base64 of the PHP-serialised empty array a:0:{})

18. Code examples #

Replace the placeholder credentials with your own, loaded from environment variables or a secrets store, never written in code.

cURL (Bash) #

SITE=”truehost.cloud”

BASE=”https://SITE/cloud/modules/addons/DomainsReseller/api/index.php”THUSER=”TRUEHOST_USERNAME”   # not USERNAME:zshreservesthatnameTHKEY=”TRUEHOST_API_KEY”

HOUR=(date-u+”%y-%m-%d%H”)TOKEN=(printf ‘%s’ “$TH_KEY” \

  | openssl dgst -sha256 -hmac “THUSER:HOUR” -hex \

  | sed ‘s/^.*= //’ | tr -d ‘\n’ | base64 -w0)

# Balance

curl -s “$BASE/billing/credits” -H “username: $TH_USER” -H “token: TOKEN”#Changenameserverscurl-s-XPOST”BASE/domains/mybrand.co.ke/nameservers” \

  -H “username: $TH_USER” -H “token: $TOKEN” \

  –data-urlencode “domain=mybrand.co.ke” \

  –data-urlencode “ns1=ns1.cloudoon.com” \

  –data-urlencode “ns2=ns2.cloudoon.net” \

  –data-urlencode “ns3=” –data-urlencode “ns4=” –data-urlencode “ns5=”

On macOS use base64 without -w0.

PHP #

<?php

final class TruehostApi

{

    public function __construct(

        private string $site,      // e.g. “truehost.cloud”

        private string $username,

        private string $apiKey,

    ) {}

    private function base(): string

    {

        return “https://{$this->site}/cloud/modules/addons/DomainsReseller/api/index.php”;

    }

    private function token(): string

    {

        $hour = gmdate(‘y-m-d H’);

        return base64_encode(hash_hmac(‘sha256’, $this->apiKey, “{$this->username}:{$hour}”));

    }

    /** @return array{ok: bool, data: mixed, error: ?string, raw: string} */

    public function call(string $method, string $path, array $body = []): array

    {

        ch=curlinit(this->base().’/’.ltrim(path,’/’));curlsetoptarray(ch, [

            CURLOPT_RETURNTRANSFER => true,

            CURLOPT_FOLLOWLOCATION => false,

            CURLOPT_TIMEOUT => 60,

            CURLOPT_HTTPHEADER => [

                ‘username: ‘.this->username,’token:’.this->token(),

            ],

        ]);

        if ($method === ‘POST’) {

            curl_setopt($ch, CURLOPT_POST, true);

            curl_setopt(ch,CURLOPTPOSTFIELDS,httpbuildquery(body)); // bracket notation

        }

        raw=(string)curlexec(ch);

        status=(int)curlgetinfo(ch, CURLINFO_HTTP_CODE);

        curlError=curlerror(ch);

        curl_close(ch);if(curlError !== ”) {

            return [‘ok’ => false, ‘data’ => null, ‘error’ => $curlError, ‘raw’ => ”];

        }

        data=jsondecode(raw, true);

        $error = match (true) {

            is_array($data) && ! empty($data[‘error’]) => (string) data[‘error’],isarray(data) && strtolower((string) (data[‘result’]??”))===’error’=>(string)(data[‘message’] ?? ‘Error’),

            is_array(data)&&(data[‘success’] ?? null) === false => (string) ($data[‘message’] ?? ‘Failed’),

            $status >= 400 => “HTTP {$status}”,

            json_last_error() !== JSON_ERROR_NONE && $path !== ‘domains/lookup’ => ‘Response is not JSON’,

            default => null,

        };

        return [‘ok’ => $error === null, ‘data’ => $data, ‘error’ => $error, ‘raw’ => $raw];

    }

}

$api = new TruehostApi(‘truehost.cloud’, getenv(‘TRUEHOST_USERNAME’), getenv(‘TRUEHOST_API_KEY’));

// Availability (serialised PHP response)

$r = $api->call(‘POST’, ‘domains/lookup’, [

    ‘searchTerm’ => ‘mybrand’,

    ‘punyCodeSearchTerm’ => ‘mybrand’,

    ‘tldsToInclude’ => [‘.com’, ‘.co.ke’],

    ‘isIdnDomain’ => 0,

    ‘premiumEnabled’ => 0,

    ‘isWhmcs’ => 1,

]);

results=@unserialize(r[‘raw’], [‘allowed_classes’ => false]);

// Registration

$r = $api->call(‘POST’, ‘order/domains/register’, [

    ‘domain’ => ‘mybrand.co.ke’,

    ‘regperiod’ => 1,

    ‘domainfields’ => base64_encode(serialize([])),

    ‘addons’ => [‘dnsmanagement’ => 0, ’emailforwarding’ => 0, ‘idprotection’ => 0],

    ‘nameservers’ => [‘ns1.cloudoon.com’, ‘ns2.cloudoon.net’, ‘ns3.cloudoon.org’, ”, ”],

    ‘contacts’ => [‘registrant’ => [

        ‘firstname’ => ‘Jane’, ‘lastname’ => ‘Wanjiru’, ‘companyname’ => ”,

        ’email’ => ‘[email protected]’, ‘address1’ => ‘1 Kenyatta Avenue’, ‘address2’ => ”,

        ‘city’ => ‘Nairobi’, ‘state’ => ‘Nairobi’, ‘postcode’ => ‘00100’, ‘country’ => ‘KE’,

        ‘phonenumber’ => ‘712345678’, ‘phonecc’ => ‘254’, ‘fullphonenumber’ => ‘+254.712345678’,

        ‘tax_id’ => ”,

    ]],

]);

Python #

import base64, hashlib, hmac, os

from datetime import datetime, timezone

from urllib.parse import quote

import requests  # pip install requests

SITE = “truehost.cloud”

BASE = f”https://{SITE}/cloud/modules/addons/DomainsReseller/api/index.php”

USERNAME = os.environ[“TRUEHOST_USERNAME”]

API_KEY = os.environ[“TRUEHOST_API_KEY”]

def token() -> str:

    hour = datetime.now(timezone.utc).strftime(“%y-%m-%d %H”)

    hexdigest = hmac.new(f”{USERNAME}:{hour}”.encode(), API_KEY.encode(), hashlib.sha256).hexdigest()

    return base64.b64encode(hexdigest.encode()).decode()

def flatten(data, prefix=””):

    “””PHP bracket notation: {“a”: {“b”: 1}} -> [(“a[b]”, 1)].”””

    pairs = []

    items = data.items() if isinstance(data, dict) else enumerate(data)

    for key, value in items:

        name = f”{prefix}[{key}]” if prefix else str(key)

        if isinstance(value, (dict, list)):

            pairs += flatten(value, name)

        else:

            pairs.append((name, value))

    return pairs

def call(method: str, path: str, body: dict | None = None):

    response = requests.request(

        method,

        f”{BASE}/{path}”,

        headers={“username”: USERNAME, “token”: token()},

        data=flatten(body) if body else None,

        timeout=60,

        allow_redirects=False,

    )

    try:

        data = response.json()

    except ValueError:

        data = None

    if isinstance(data, dict):

        if data.get(“error”):

            raise RuntimeError(data[“error”])

        if str(data.get(“result”, “”)).lower() == “error” or data.get(“success”) is False:

            raise RuntimeError(data.get(“message”, “Truehost reported a failure”))

    if response.status_code >= 400:

        raise RuntimeError(f”HTTP {response.status_code}”)

    return data

print(call(“GET”, “billing/credits”))

domain = “mybrand.co.ke”

print(call(“POST”, f”domains/{quote(domain)}/sync”, {“domain”: domain}))

Node.js (18 or later) #

import crypto from “node:crypto”;

const SITE = “truehost.cloud”;

const BASE = `https://${SITE}/cloud/modules/addons/DomainsReseller/api/index.php`;

const USERNAME = process.env.TRUEHOST_USERNAME;

const API_KEY = process.env.TRUEHOST_API_KEY;

function token() {

  const d = new Date();

  const p = (n) => String(n).padStart(2, “0”);

  const hour = `${p(d.getUTCFullYear() % 100)}-p(d.getUTCMonth()+1)-{p(d.getUTCDate())} p(d.getUTCHours())`;consthex=crypto.createHmac(“sha256”,`{USERNAME}:${hour}`).update(API_KEY).digest(“hex”);

  return Buffer.from(hex).toString(“base64”);

}

function flatten(data, prefix = “”, out = new URLSearchParams()) {

  for (const [key, value] of Object.entries(data)) {

    const name = prefix ? `${prefix}[${key}]` : key;

    if (value !== null && typeof value === “object”) flatten(value, name, out);

    else out.append(name, value ?? “”);

  }

  return out;

}

async function call(method, path, body) {

  const res = await fetch(`${BASE}/${path}`, {

    method,

    redirect: “manual”,

    headers: { username: USERNAME, token: token() },

    body: body ? flatten(body) : undefined,

  });

  const text = await res.text();

  let data = null;

  try { data = JSON.parse(text); } catch {}

  if (data && typeof data === “object”) {

    if (data.error) throw new Error(data.error);

    if (String(data.result ?? “”).toLowerCase() === “error” || data.success === false) {

      throw new Error(data.message ?? “Truehost reported a failure”);

    }

  }

  if (res.status >= 400) throw new Error(`HTTP ${res.status}`);

  1. Search: POST /domains/lookup. Show “unknown” results as “try again”, never as “taken”.
  2. Price: charge your customer your own selling price. Keep it above your cost from GET /tlds/pricing.
  3. Take payment from your customer.
  4. Check balance: GET /billing/credits covers the cost.
  5. Register: POST /order/domains/register.
  6. Confirm: POST /domains/{domain}/sync. Mark the domain active only if it is in your account.
  7. Nameservers: GET /domains/{domain}/nameservers. If empty, POST the ordered ones.
  8. Store the expiry date from sync.

  return data;

}

console.log(await call(“GET”, “billing/credits”));

19. Recommended integration flow #

Selling a domain #

If step 5 or 6 fails, keep the order pending, show the error to your staff, and retry once the cause (usually balance) is fixed. Do not register the same domain twice: run step 6 before any retry, because the first attempt may have succeeded.

Daily jobs #

JobCalls
Synchronise every domainPOST /domains/{domain}/sync (expiry, status) and GET …/nameservers
Follow transfersPOST /domains/{domain}/transfersync for each pending transfer
Watch the balanceGET /billing/credits; alert below a threshold
RenewInvoice your customers before expiry; call POST /order/domains/renew once paid

Spread the sync calls over time (for example one per second) rather than sending hundreds at once.

Good practice #

  • Log every request and response, without the token header, API key or EPP codes.
  • Retry only on network errors and HTTP 5xx, with backoff. Never retry an order blindly: check with sync first.
  • Time out at 60 seconds or more for orders.
  • Keep your clock synchronised with NTP.

20. Troubleshooting #

ProblemCause and fix
Every call fails with token is invalidWrong key, key from another Truehost site, or server clock off by an hour or more. Check against the test vector
username is invalidThe account is on another Truehost site. Use that site’s base URL
An HTML page instead of JSONWrong base URL, or a server or proxy error. Check the URL includes /cloud/modules/addons/DomainsReseller/api/index.php
Action not foundWrong path or method. Compare with the endpoint summary
A POST behaves like a GETYour HTTP client followed a redirect. Turn redirects off and call the exact base URL
Lookup results can’t be readThe response is PHP-serialised, not JSON. See lookup
unavailable for saleThe extension or period isn’t in your price list. Ask Truehost to add it
Registration accepted but domain missingConfirm with sync; check the balance; contact Truehost support with the time of the request
Contact changes lose fieldsSend back every role and field from GET …/contact, not only the ones you changed

For account, pricing or balance questions, contact Truehost support through the client of your Truehost site.

How to Create Hosting Packages on The Truehost Reseller PanelHow to Add Custom Nameservers in Truehost Reseller Panel

Powered by BetterDocs

Leave a Reply Cancel reply0

Your email address will not be published. Required fields are marked *


Table of Contents
  • Contents
  • Table of Contents
  • 1. Before you start
  • 2. Base URL
  • 3. Authentication
    • Building the token
    • Test vector
  • 4. Requests
  • 5.Response and Errors
    • Common error messages
  • 6.Endpoint Summary
  • 7. Account
    • GET /billing/credits
    • GET /tlds/pricing
  • 8. Availability
    • POST /domains/lookup
  • 9. Orders
    • POST /order/domains/register
    • POST /order/domains/transfer
    • POST /order/domains/renew
  • 10. Domain Status
    • POST /domains/{domain}/sync
    • POST /domains/{domain}/transfersync
  • 11. Nameservers
    • GET /domains/{domain}/nameservers
    • POST /domains/{domain}/nameservers
  • 12. Child nameservers (glue records)
    • POST /domains/{domain}/nameservers/register
    • POST /domains/{domain}/nameservers/modify
    • POST /domains/{domain}/nameservers/delete
  • 13. Transfer lock and EPP code
    • GET /domains/{domain}/lock
    • POST /domains/{domain}/lock
    • GET /domains/{domain}/eppcode
  • 14. Contacts and WHOIS privacy
    • GET /domains/{domain}/contact
    • POST /domains/{domain}/contact
    • POST /domains/{domain}/protectid
  • 15. DNS and email forwarding
    • GET /domains/{domain}/dns
    • POST /domains/{domain}/dns
    • GET /domains/{domain}/email
    • POST /domains/{domain}/email
  • 16. Release and deletion
    • POST /domains/{domain}/release
    • POST /domains/{domain}/delete
  • 17. Data formats
    • Contact object for orders
    • Phone numbers
    • Other formats
  • 18. Code examples
    • cURL (Bash)
    • PHP
    • Python
    • Node.js (18 or later)
  • 19. Recommended integration flow
    • Selling a domain
    • Daily jobs
    • Good practice
  • 20. Troubleshooting

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest

Was it helpful ?

  • Happy
  • Normal
  • Sad
© 2026