WordPress Manager For WHMCS
|WordPress Manager For WHMCS is a module that enables your customers to control and freely alter their WordPress instances right inside your WHMCS. |
Your clients will be able to add WordPress installations using instance images and custom scripts, perform WordPress updates, install themes and plugins, create staging instances and then push them live.
- Admin Area:
|✔ View Active WordPress Installations, Clients And Products Summary|
|✔ View WordPress Installations List|
|✔ Choose Supported Products:|
|✔ Select Available Installation Scripts|
|✔ Select Available Plugin Packages|
|✔ Select Available Instance Images|
|✔ Automatically Install:|
|✔ WordPress After Service Creation:|
|✔ Based On Installation Script|
|✔ Based On Instance Image|
|✔ Plugin Packages|
|✔ Theme Packages|
|✔ Toggle Blocked Plugins And Themes|
|✔ Toggle Automatic Deletion Of Blocked Plugins And Themes|
|✔ Set Scan Interval For Blacklists Cleaner|
|✔ Define Default Theme To Be Enabled After Installation|
|✔ Choose Custom Plugins And Themes Available To Clients|
|✔ Choose Instance Images Available To Clients|
|✔ Toggle Permission To Delete WordPress Auto-Installation|
|✔ Define Protocol For WordPress Auto-Installation|
|✔ Select Welcome Email Template|
|✔ Define Installation Limit Per Hosting Account|
|✔ Define Update WordPress Notification Mail Interval|
|✔ Select Update WordPress Email Template|
|✔ Toggle Debug Logs|
|✔ Add/Remove Selected Plugins From Blacklist:|
|✔ Prevent Blacklisted Plugins From Being Installed By Clients|
|✔ Remove Blacklisted Plugins From Current Installations|
|✔ Add/Remove Selected Themes From Blacklist:|
|✔ Prevent Blacklisted Themes From Being Installed By Clients|
|✔ Remove Blacklisted Themes From Current Installations|
|✔ Define Client Area Features:|
|✔ Management Options|
|✔ Action Options|
|✔ Create Plugin Packages:|
|✔ Enter Package Name And Description|
|✔ Choose Available Plugins|
|✔ Add Custom Plugins|
|✔ Create Theme Packages:|
|✔ Enter Package Name And Description|
|✔ Choose Available Themes|
|✔ Add Custom Themes|
|✔ Create Instance Images:|
|✔ From Local Or External Installation Source|
|✔ Public Or Private|
|✔ Access Module Tasks List And Logs|
|✔ Define Allowed Protocols For WordPress Instances To Be Used In Client Area|
- Client Area:
|✔ View/Create/Edit/Delete WordPress Installations|
|✔ View/Create/Edit/Delete WordPress Installations On Your Resellers Accounts:|
|✔ Update Selected WordPress Installations To Newest Version In One Batch|
|✔ Import WordPress Installation From Remote Server|
|✔ Create WordPress Installation Based On Instance Image|
|✔ Log In To Admin Panel Of WordPress Instances|
|✔ Receive Email Notifications And Get Visual Alerts When WordPress Update Is Available|
|✔ View Installation Details:|
|✔ Domain And URL|
|✔ Product On Which Is Installed|
|✔ WordPress Version|
|✔ Site Name|
|✔ Creation Date|
|✔ Directory Path|
|✔ Database Access Details|
|✔ Debug Status|
|✔ Instance Status|
|✔ Manage Installation:|
|✔ Create/Restore/Download/Delete WordPress Backups|
|✔ Browse/Install/Manage Themes|
|✔ Search And Install Themes Directly From WordPress.com Base|
|✔ Preview Theme Before Installation|
|✔ Activate/Deactivate Installed Themes|
|✔ Update Installed Themes|
|✔ Browse, Install And Manage Plugins|
|✔ Search And Install Plugins Directly From WordPress.com Base|
|✔ Activate/Deactivate Installed Plugins|
|✔ Update Installed Plugins|
|✔ Browse And Install Plugin Packages|
|✔ Perform Bulk Changes On Themes, Plugins, And Backups|
|✔ View/Create/Edit/Delete WP Config Records|
|✔ Perform Actions:|
|✔ Log In To Control Panel|
|✔ Clear Cache|
|✔ Clone To New Domain|
|✔ Update To Newest Version|
|✔ Change Domain|
|✔ Toggle Auto Upgrade Of:|
|✔ WordPress Installation|
|✔ WordPress Plugins|
|✔ WordPress Themes|
|✔ Create Staging|
|✔ Push Staging To Live Environment|
|✔ Enable/Disable SSL|
|✔ Create Instance Image|
|✔ Single Sing-On Into WordPress Panel From Product View|
- Supported Modules:
|✔ cPanel Extended - With Complete Integration|
|✔ DirectAdmin Extended|
|✔ Plesk Extended|
- General Info:
|✔ Requires Softaculous Auto Installer|
|✔ Automatic Let's Encrypt SSL Installation (DirectAdmin Only)|
|✔ Multi-Language Support|
|✔ Supports PHP 7.2 Up To PHP 7.4|
|✔ Supports WHMCS Themes "Six" And "Twenty-One"|
|✔ Supports WHMCS V8.0 And Later|
|✔ Easy Module Upgrade To Open Source Version|
Installation and Configuration
|In this short tutorial we will show you how to successfully install WordPress Manager For WHMCS.|
We will guide you step by step through the whole installation process.
|1. Log in to our client area and download the module.|
|2. In the downloaded file you might find one or two packages that support different PHP versions.|
In the most recent versions of the module, you will find only one package that supports PHP 7.2 and later.
|Previous updates of the module may contain two packages dedicated to various PHP versions.|
The first one that supports PHP 5.6 up to PHP 7.1, and the second one addressed to PHP 7.2 up to PHP 7.4.
|Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'.|
|3. Extract the package and upload its content into the main WHMCS directory.|
The content of the package to upload should look like this.
cPanel (WHM) Installation
|1. Upload and extract the 'UploadToWHM' folder into the /root cPanel directory.|
Files in your cPanel /root/uploadToWHM/ directory should look like these on the following screen.
|2. Once the module is uploaded, enter the /root/uploadToWHM/ catalog and run the following command in the console:|
After a brief moment you should see a confirmation that the plugin has been successfully installed.
|1. In the 'uploadToDirectAdmin' folder find the 'wordpress_cli.tar.gz' package.|
Next, log in to your DirectAdmin panel as an administrator and go to 'Plugin Manager' .
|2. Once in the 'Add Plugin' , select the 'File' option and choose the 'wordpress_cli.tar.gz' package to upload.|
Additionally, mark the 'Install after upload' option and press the 'Add Plugin' button.
|3. Once the plugin is uploaded and successfully installed, you should see it on the plugins list.|
| Note: The current version of the module requires your Plesk server configured in WHMCS to use username and password as authentication to the Plesk API. |
We also recommended using Plesk version 17.8.11 at least.
|1. In the 'uploadToPlesk' folder find the 'wordpress-manager-cli-X.X-X.zip' package.|
Next, log in to your Plesk panel as an administrator and go to the 'Extensions' section.
|2. Once you are in the 'Extensions' section, go to the 'My Extensions' tab and select the 'Upload Extension' option.|
In the opened window choose the 'wordpress-manager-cli-X.X-X.zip' package to upload and press the 'OK' button.
Important: If for some reason the 'Upload Extension' button is disabled, you will need to install the free panel.ini editor extension.
|3. Once the plugin is uploaded and successfully installed, you will see it on the plugins' list.|
|1. Extract the 'modules' catalog into the main WHMCS directory.|
|2. When you install WordPress Manager For WHMCS for the first time, you have to rename the 'license_RENAME.php' file.|
This file is located in 'modules/addons/wordpress_manager/license_RENAME.php.' Rename it from 'license_RENAME.php' to 'license.php'.
|3. In order to configure your license key, you have to edit the previously renamed 'license.php' file.|
Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'.
|4. In the next step, set up the 'storage' folder as recursively writable.|
This folder is available at 'your_whmcs/modules/addons/WordpressManager/' .
|5. Now you have to activate the module in your WHMCS system.|
Log in to your WHMCS admin area. Click 'System Settings' , then choose 'Addon Modules'.
|6. Then, you need to permit access to this module. To do so, click on the 'Configure' button, choose 'Full Administrator' and press 'Save Changes'.|
|7. Now you have to add a cron job as shown below (5 - 10 minutes interval is recommended).|
This cron job is responsible for both: synchronization of WordPress installations and 'Enable SSL' action when installing new WordPress instances.
php -q /your_whmcs/modules/addons/WordpressManager/cron/cron.php Synchronize
Do not forget to replace 'your_whmcs' with your WHMCS root location.
|8. Good job! You have just successfully installed WordPress Manager For WHMCS! Now, in your WHMCS, press 'Addons' and then 'WordPress Manager'.|
|This section has been divided into two main parts to allow full and, at the same time, easy understanding of the functionality of the whole module.|
In the first part 'Management of Addon' you will see a general outlook of the module's basic configuration, through the product management from the admin area.
The second part describes additional settings and tools concerning WordPress installations that can be used while working in the client area.
|Now that your module is already configured, you may access it at 'Addons' → 'WordPress Manager'.|
|The 'Home' section is the first open when entering the addon. |
You will see here a quick summary of the WordPress connected elements and a list of all active WordPress installations with any details on their installation.
|In the 'Product Settings' section you can see the list of compatible products present in your system that WordPress can be configured with.|
Activate the products and press the 'Edit' icon marked on the screen below.
|In the 'General' section you will need to set up some specific options concerning the plugins installation. Take a look at the below notes to learn about all of the possibilities.|
| Note: By default, installation script names in the client area will be displayed without their IDs. If you still want to change their names to more client-friendly, you can do it in a language file. |
Go to the Tips section and look for more details in the second point.
|To fully take advantage of what the module offers, it is necessary to set up the 'Test Installation' firstly before you start completing the rest of module configuration. |
In order to make the module start using WordPress API requests, it is required to have at least one WordPress instance installed.
Note: The below steps should be possible if you have already made the basic Product Settings configuration.
So, to start, proceed to the 'WordPress Management' section of the product in the Client Area on any of your test accounts. Next, click on the 'New Installation' button.
|There are two sections to complete. Firstly, provide the details of your installation. |
Remember to enter your domain properly.
| Now, go to the 'Other' section of your installation and fill in the details. You may also decide which options should be enabled for your installation. |
Remember to click 'Create' and wait until the 'New Installation' is ready.
| Finally, you can come back to 'WordPress Manager' . Go to 'Product Settings' and click on the 'Edit' icon next to the preferred product. |
You will find the 'Test Installation' option here.
As presented below, start typing your domain name that was provided in the previous step of creating 'New Installation' .
Choose your 'Test Installation' and save changes.
|This section of the Product Settings includes a list of blocked plugins - those which your clients are not allowed to install.|
|In order to add a plugin to the list simply start typing its name in the search field and press enter to see the results.|
Remember that you must have previously set any "Test Installation" to be allowed to add any plugins to the list.
|Add the selected plugin to the blacklist.|
It will no longer be available for clients to install if the "Blocked Plugins" option has been enabled in the General section.
|This section of the Product Settings includes a list of blocked themes - those that your clients will not be able to install.|
|If you want to add a theme to the list, simply start typing its name in the search field and press enter to see the results.|
Add the selected themes to the blacklist.
Remember that you must have previously set any "Test Installation" to be allowed to add any themes to the list.
|Your clients will not be able to install the previously added themes if the "Blocked Themes" option has been enabled in the General section. |
If you decide to remove the preferred themes from the 'Blocked' section, you may easily do this by clicking the appropriate button.
Client Area Features
|In this section, you can define which options should be enabled for clients. |
To make it easier, the available options are divided into two parts, the 'Management Options' and 'Action Options' .
|In the 'Plugins' section you may prepare ready-made packages with selected by you plugins or prepare custom plugins and then offer them to install to your clients. |
In this quick and convenient way, your clients will be given an offer with perfectly adjusted and suitable plugins to shorten the time of searching and verification.
|In the 'General' part, enter the package name, select the directory of the test installation, describe the package in short. Save the changes and then move to the 'Plugins' tab.|
In this part you will also need to enable the package once it is prepared.
|Add plugins by searching through the existing ones, start typing the plugin name, press enter and the results will appear.|
Add a single plugin or use mass action button to add plugins in bulk.
|Added plugins will appear on the list of included immediately. You may always delete any unwanted plugins when editing the package by pressing the bin icon.|
|Once you have the packages ready, move again to the General configuration of a product and select which of the packages will be available to choose from by clients or be automatically preinstalled for a single product.|
Surely, you may assign a different set of packages to each product.
|There is also the possibility to add 'Custom Plugins' . Press the following button to do so.|
|Now, provide a name and description of your 'Custom Plugin' . Then, complete the 'URL' and finally define a version.|
|If you wish to modify your 'Custom Plugins' , you can easily do this by pressing the 'Edit' button.|
|In the 'Themes' section you may prepare ready-made packages with selected by you themes or create your 'Custom Themes' and automatically install them along with the WordPress instance. |
In this quick and convenient way, your clients will have quick access to preinstalled themes on their WordPress without the need of searching them on their own.
|In the 'General' part, enter the package name, select the directory of the test installation, describe the package in short. Save the changes and then move to the 'Themes' tab.|
In this part you will also need to enable the package once it is prepared.
|Add themes by searching through the existing ones, start typing the theme name, press enter and the results will appear.|
Add a single theme or use mass action button to add themes in bulk.
|Added themes will appear on the list of included immediately. You may always delete any unwanted themes when editing the package by pressing the bin icon.|
|Once you have the packages ready, move again to the General configuration of a product and select which of the packages will be installed automatically for a single product.|
Surely, you may assign a different set of packages to each product.
|There is also the possibility to add 'Custom Themes' . Press the following button to do so.|
|Now, provide a name and description of your 'Custom Theme' . Then, complete the 'URL' and finally define a version.|
|If you wish to modify your 'Custom Themes' , you can easily do this by pressing the 'Edit' button.|
|This section is dedicated to WordPress images that are used to allow clients to add WordPress installations using this very images of WordPress.|
To create such an image, simply press the 'Add Image' button and then follow the steps described below.
|In order to properly configure a new instance image you will need to set up the below options. |
Please be aware that to create such an instance image you will need to deliver full access data to a server with WordPress installations that will be used to create an image.
|Once you have the images ready, move again to the General configuration of a product and select which of the images will be available for a single product.|
Surely, you may assign different sets of images to each product.
|The module activities are recorded in the section named 'Logs'. All entries can be deleted at any time, just click the button marked on the screen below.|
Keep in mind that you can remove multiple logs at once.
|This section gives you the view on module tasks to enable SSL in two scenarios:
|Press the 'Information' button to get a quick view on the basic information on the task and log details.|
|Logs section will include information on errors only. If a task is completed successfully, no information will be included here.|
|All tasks can be deleted separately. To do that, just click the button marked on the screen below.|
Keep in mind that you can remove multiple tasks at once.
|This section includes a list of protocols. Select the ones that you want to enable to use for clients in the client area.|
|By default, the module creates the 'New WordPress Information' email template You can find it in your WHMCS 'Setup' → 'Email Templates' section.|
This template can be used to send WordPress details to the customer when the automatic installation is enabled after the service creation.
Additionally, you may use the merge fields variables, which will be replaced to the corresponding WordPress installation details when are sent to the customer:
|Now that you already have the module configured, you may see the process of adding and managing the WordPress installations by your clients.|
In the client area, find and choose your product with WordPress management support and then move directly to the relative section.
|WordPress Management page is divided into two parts: 'WordPress Installations' and 'Reseller Accounts'. |
The former one, located at the top of the page, contains a list with basic information regarding every installation, including the domain, related product, URL etc.
|Among additional actions you will find the options to:
|You may also delete or update multiple WordPress instances to the newest version at once, use mass actions to do so.|
|If you wish, you may create a backup of the instances before processing the update.|
|As mentioned above, there are three ways to create a new WordPress Installation. The first basic way is to simply install a completely new and clean instance of WordPress.|
Press the button 'New Installation' marked on the screen below and read the instruction to see how to install a pure new instance.
| A new window with two tabs will open.|
In the first Details tab, fill in the following fields:
Note that only those fields marked with * (e.g. 'Site Name') are required to complete the creation.
|Complete the configuration by switching to the Other tab and enter the remaining fields (optional):
If you have entered all the data correctly, you can now press the 'Create' button to complete the installation.
Import From Remote Server
|The second way to add a new installation is by importing an existing installation from a remote FTP server. Press the additional actions button to find the redirection.|
|First of all, fill out the data on the source server:
|Then move to the other tab, to provide any data on the destination.
Press the 'Import' button to finalize the process.
Use Instance Image
|It is also possible to use an existing instance image.|
|Provide the below enumerated and described details, then press 'Create' to complete:
Note: the process may take from a few up to a dozen or so minutes for the instance to appear on the list, depending on the instance size or complexity.
|Once you have successfully created a new installation, you can edit its advanced options or simply remove it in case you no longer need it.|
Let us view the management options and available actions now.
|Ot the very first page, when you enter the edit section, there is an exemplary configuration of your installation in the 'Management' section. |
You will find there all the basic information, such as domain and database details, available at hand.
|As the name suggests, this section provides you with an ability to create backups.|
You are allowed to download, restore and delete a particular backup.
|Surely you can delete multiple backups at once. Take a look at the screenshot below.|
|When creating a backup installation, decide whether to backup directory only, data directory or database. Select location and then confirm the action.|
Note: Keep in mind that creating a backup might take a longer while. Backup will appear on the list when it is ready.
|Here you are enabled to activate, disable, update and delete the existing theme. Add new themes to your WordPress installation in the 'Add New' tab.|
|In order to add a new theme, start typing in the desired theme's name in the search box, press enter to see the actual results.|
You may press the theme thumbnail to preview the on wp-themes.com. Afterwards, press the icon marked on the screenshot below to continue.
|Confirm the installation.|
|If there are any 'Custom Themes' accessible for adding, they will be located here.|
|Use 'Mass Action' buttons to update or delete numerous themes with a single click.|
|Here you are enabled to activate, deactivate, delete or update the already existing plugins. You can also add new plugins to your WordPress installation in the 'Add New' tab.|
|To add a new plugin, you are required to type in at least the initial letters of the desired plugin's name into the search field to see the actual results.|
Afterwards, press the symbol marked on the screenshot below, and confirm your choice in the window that should be visible on your screen.
|Press the info icon to read its short description.|
|In case the plugin seems interesting, just press the 'Install' button.|
|The 'Mass Action' feature is also present in this section, so you will be able to handle multiple plugins more efficiently and at the same time.|
|Plugin Packages allow to install a bunch of pre-organized plugins at once. Information on how to prepare such packages can be found here.|
Simply press the '+' button to install the package with plugins that seems especially attractive to you.
|In this section you can directly alter the records from the wp-config.php file.|
This file is located in the root of your WordPress file directory and contains your website's configuration details such as database connection information.
You are allowed to edit or delete already existing config records as well as create new ones.
Important: Be particularly careful when editing these config records! You can find more information about editing the 'wp-config.php' file here.
|When creating a new config record, enter its proper name, value and choose one of the three available types ( 'Constant', 'Variable' or 'All' ).|
|In the 'Actions' area you can find the following options to:
Underneath you can find detailed description of all the remaining actions. Please take a look.
| This action will result in cloning the installation to another domain. To clone the installation you need to:
The cloned installation will appear on the list of installations after a while.
|If you want to change the domain of your WordPress installation, simply provide here a new one.|
Decide whether to create a backup at the same time and enable/disable SSL for the new domain.
Manage Auto Upgrades
|Set up the automatic upgrades rules. Here you may enable or disable automatic upgrades:
|Create staging instances from an application to test the upgrades or changes before using them in the live environment.|
|Please be patient, as the whole process may take a few minutes. The staging instance will appear on the list of your installations after the first cron synchronization.|
Push the staging installation to the live environment once you are sure it works fine and changes suit your needs.
|In case you need to customize the installation before pushig it live simply toggle the 'Customize' option. |
Then define the specification and confirm to finish.
|Turn on or off SSL for the installation. Remember that enabling SSL will result in changes being made in your WordPress database configuration, it is advised to back up your installation. |
Along with enabling SSL, a free Let's Encrypt SSL will be installed on DirectAdmin products (note that this feature is not available for 'cPanel').
|Turn on instance image on the WordPress installation. Simply, toggle the 'Mark As Image' option and then fill in the below options.|
Note: The 'FTP Password' input is encoded in the database, which makes is completely safe and secure.
|Existing Reseller's Accounts with the number of WordPress installations. Keep in mind that this section is visible only when such accounts exist in the client's cPanel or DirectAdmin panels.|
In case no such accounts have been detected, this section is hidden.
Note: Plesk resellers accounts are not yet currently supported.
The table includes the name of the product, reseller's account name on which the instances are installed as well as their number.
|Press the edit icon to view the list of existing installations. Among other allowed actions there are:
|The only difference is the need to select a customer when adding a new installation.|
If there is no username available here to choose, the reseller must create an extra account in the cPanel or DirectAdmin panels.
All the remaining options are exactly the same as in case of standard WordPress installations described in the above sections.
|Using mass actions you may also update multiple WordPress instances to the newest version at once or delete them.|
|1. In case you wish to remove one of your plugins from WHM, make sure you delete the additional content too:
|2. If you wish to change the names of your WordPress installations scripts to more friendly in the client area, you can do this in a language file.|
Simply open your default 'english.php ' file located in '/yourWHMCS/modules/addons/WordpressManager/langs' directory and add a new language record in the following format:
$_LANG['WordPress Script Name']="WordPress Friendly Name";
|3. When using WordPress Manager module with cPanel, you will also need to whitelist 'phar' support in your php.ini on the WHM server.|
You can do this by adding or editing the below record:
suhosin.executor.include.whitelist = phar
|4. It is possible to set language for WordPress auto-installation. In the Product Custom Fields section you should complete:
|5. You can set a username and password for the administrator panel in WordPress using the following product custom fields. |
Remember that this method works only when the 'Auto Install WordPress After Service Creation' option is set to 'Based on Installation Script' .
Please note that these product custom fields work only for a clean installation, and do not work with instance images.
If a client completes the username and password, then the account will be created on the basis of the provided data.
|An essential guidance through the process of updating the module is offered here.|
Important: If you are performing an update from a previous version of WordPress Manager with cPanel, you have to also update the files and run again the installation script on your WHM server.
If you are updating WordPress Manager For WHMCS, it is highly recommended to perform an update of the plugins that are used.
|1. When you have problems with connection, check whether your SELinux or firewall does not block ports.|
|2. If you do not see the config records, make sure that you have also updated the WHM files to the latest version.|
|3. Installation of Let's Encrypt SSL is available only for DirectAdmin products.|
|4. Native integration with cPanel Extended module is supported only up to version 1.2.1 of WordPress Manager. Further versions are currently not compatible.|
Please do not update your WordPress Manager For WHMCS to 1.3.0 or later if you are actively using the integration. This feature will be restored in the future.