# Multiple WordPress Instances
Before proceeding further to find the gist, please ensure that you are already familiar with the "Introduction" article. This article discusses the necessary steps that must be completed prior to utilizing the information provided in this section.
*Go back to "Introduction" now.
# Offering a service with multiple WordPress instances limit
This is a recommended service that you can offer for large customers or agencies that manage multiple WordPress instances. In such case it does not make sense to ask them to order a new service from your billing system for every instance. You can offer a predefined limit packages (e.g. 10 sites, 50 sites, 100 sites) or use Usage Billing to charge for the total number of instances in use.
# Workflow illustration
- End-customer orders a new service in a billing system, for example WHMCS, in our example that will be: "Multiple WordPress Sites - Bronze"
- They go through the ordering process.
- After the payment process is complete:
- They receive an email with details about their service
- They can use "Manage WordPress" section in the menu - it uses SSO to automatically authenticate them into PanelAlpha
- They can go to their service page and click "Manage WordPress" - it uses SSO to automatically authenticate them into PanelAlpha
- Once they are redirected to PanelAlpha, SSO is used to automatically authenticate them.
- The end-customer, after opening the dashboard, can click on "Add New Instance" to create a new site
- for a migration workflow, read more here
- They fill in a dedicated form.
- The site is created immediately after pressing the "Create Site" button, it is available from the end-user's dashboard.
- When they reach the limit of their sites, they will get a dashboard notification with information that they have reached the limit and have to upgrade their plan to be able to add more sites. Please keep in mind that you must have previously set up the "Order Service Link" in PanelAlpha → Configuration → General → Other. Otherwise, just the notification without the redirecting button will be displayed.
- If the usage billing is enabled, they receive an invoice with the additional fee for the sites they are using.
# Configuration in PanelAlpha
- Plan - provide basic details to create a new plan:
Plan Name
Applications Limit - in our example that will be "10"
Upgrade Link - a URL to your shop
Order Domain Link - a URL to your shop
Label Color
Preview
- Onboarding - you may select between two onboarding scenarios: "Quick Onboarding" and "Standard Onboarding". In case of multiple instances offered, standard onboarding is the recommended choice (for advanced users)
"Quick Onboarding" - detailed description of this option is outlined under "Single WordPress Instance" in case of which this selection is the recommended one.
"Standard Onboarding" - first of all, select the "Ask For Theme" feature - select if you want to get the choice which theme will be installed, otherwise the default theme will be used. Enable additional fields:
Language
Database name
Database prefix
Admin username
Admin email
Admin password
- Hosting Server
Server Type - choose your server type between:
- cPanel
- DirectAdmin
- PanelAlpha
- Plesk
Server Group - choose one from the previously created groups (read more here LINK)
Server Assignment Rule:
- Random
- Least Accounts
- Specific Server Hosting Account Configuration:
WHM Package Name
- DNS Server - at this step please select the DNS server type:
use selected hosting server (any apart from PanelAlpha Engine can be applied)
PowerDNS
None
- Email Server - please choose email server type:
Use selected hosting server (any apart from PanelAlpha Engine can be applied)
None
Mailcow
- Domains - create new subdomains at this point. Press "Add New Domain" to start, a modal will appear where you have to type in the new domain name to add it.
Add domains that users of this plan will be allowed to use as subdomains. To add a new subdomain, click on Add Submain, and a modal will appear where you can enter the new domain name.
You can also manage the subdomain blacklist and domain blacklist by creating lists of forbidden words. By enabling "Block Profanity," all uncensored expressions will be blacklisted automatically.
- Plugins&Themes - manage the plugins and themes that will be installed or deactivated on the instances.
Automation:
- Default Plugin & Theme Packages - Assign packages of plugins and themes to a WordPress instance within the plan.
- Automatic Plugin Installation - Assign plugins that will be automatically installed during the WordPress instance installation process.
- Automatic Theme Installation - Assign themes that will be automatically installed during the WordPress instance installation process.
- Default Theme - select a default theme that will be installed on the instance.
Blacklist:
- Plugin Blacklist - Assign prohibited plugins that will be deactivated from any WordPress instance in the plan
- Delete Blacklisted Plugins - Assign prohibited plugins that will be removed from any WordPress instance in the plan
- Delete Blacklisted Themes - Assign prohibited themes that will be removed from any WordPress instance in the plan
Scan:
Scan Interval (in hours) - Assign the frequency (in hourly time interval) at which the cron will deactivate and remove prohibited plugins and themes from the WordPress instances in the plan
# WHMCS product configuration
Before you proceed to your WHMCS and start server and product configuration, you must previously generate your API token, you will need it in further steps. Once you enable the API Token, you will get a one time access to it. Keep in mind that this is the only moment when you see it, so please copy it and keep in a safe place!
Proceed to your PanelAlpha admin area → Configuration → Admins → API Token.
Once ready, you may now move to your WHMCS platform and begin the configuration.
Under System Settings → Products/Services → Servers create a new server. Fields that must be filled out are:
- Name - any name for your server.
- IP Address - provide the IP address with a port number where your PanelAlpha is located. The Hostname field may be lefty empty, after saving the changes, it will be filled in automatically.
- API Token - PanelAlpha token generated as described in the steps above.
Under System Settings → Products/Services → Servers create a new group of servers and assign the just created server to this group.
Next, proceed to System Settings → Products/Services amd create a new group of products.
Once you have the group, you may finally create your PanelAlpha product.
- Product Type - set it to "Shared Hosting"
- Product Group - select the just created group
- Product Name - in our example that is: "WordPress Single Site - Bronze"
- Module - please select "PanelAlpha" from the dropdown menu
Press "Continue" to move to the next step.
- Now, go to 'Module Settings' section. As the module name has been already selected, find the server group where the server you need to connect with is assigned in the dropdown menu. Once selected, all the module configuration settings will appear.
- PanelAlpha Plan - select the plan you wish to assign to this product In the described now example, that will be "Single Instance"
- Based on the selected plan, all the further settings will be automatically filled in. Save the changes once the settings configuration is ready.
- Finally, set the pricing details for your product, you may do that in the "Pricing" tab.
# Usage Billing Configuration
You can enable metrics for your product in the Module Settings tab at System Settings → Products/Services. To configure metric pricing, click "Configure Pricing" for that metric.
If a metric is enabled, it will appear within the client's product details view of the client area.