# Plans
Plans in PanelAlpha generally refer to the subscription options available for your customers, offering different features, resources, and limits based on user requirements.
To create your first plan, navigate to Configuration → Plans and press Add button at the top of the screen.
Important! If you are going make any changes to existing plans with assigned services, please be aware that changing the settings of the plan will NOT impact the assigned services. Any changes made will only apply to newly created services under this plan.
# Adding new plan - details
Plan configuration is divided into several parts, under each section you will have to define details dedicated to different aspects of a single plan.
Provide basic details to create a new plan:
- Plan Name - Any name for the created plan configuration
- Instances Limit - Set up the limit of instances that a single client, owning a service with this plan assigned, can create; in our example that will be "15"
- Upgrade Link - A URL to your shop (e.g. WHMCS) where the client can upgrade their products
- Label Color - Pick the leading color of your client area
- Preview - See the visualization with the picked color
# Onboarding methods
You have the option to choose between three onboarding methods. Explore the details and distinctions between them in their respective sections of this documentation:
- Quick Onboarding - Provides a rapid setup, with the selection of a website name and theme.
- Super Quick Onboarding - The quickest and most efficient method, the most effective when used with Extendify integration.
- Standard Onboarding - This method grants full control over the creation of instances, suggested for advanced users.
# Hosting server
Hosting server selection and configuration.
- Server Type - choose your server type:
- cPanel - can be used as Hosting, DNS and email server
- DirectAdmin- can be used as Hosting, DNS and email server
- Plesk- can be used as Hosting, DNS and email server
- PanelAlpha Engine
- Server Group - select one from the previously created groups.
- Server Assignment Rule:
- Random - the service will be set up on a randomly selected server from all available servers.
- Least Accounts - the service will be set up on the server within the specified group of servers that has the smallest number of accounts.
- Specific Server - the service will be set up on the server that has been selected.
- Hosting Account Configuration - detailed configuration depends on the selected server type:
- DirectAdmin: select Package and IP Address
- cPanel: select the WHM Package with defined resources
- Plesk:
- Select the Service Plan with defined in Plesk panel resources.
- Select the Reseller Plan based on which the reseller is created.
- Select the IP Address (opens new window).
- PanelAlpha Engine - define here the following limits:
- Disk Space Limit in MB
- Memory Limit in MB
- CPU Limit
- Redis Cache - When your client creates a service, they will be subject to the same limits configured on their hosting environment as those defined in, for instance, the cPanel WHM Package selected for their plan.
# DNS server
Select and configure the DNS server responsible for translating domain names into IP addresses.
Available DNS server types to choose from:
You can also utilize the chosen hosting server for DNS purposes. For instance, if you have opted for DirectAdmin as the hosting server in the preceding step, you can now select "Use DirectAdmin's DNS Server" from the dropdown menu. cPanel, Plesk and DirectAdmin can be used as DNS servers.
Following the selection of a server type, proceed to choosing:
- Specific Server
- Zone Template - choose template with its own preconfigured records within the DNS Server settings.
- Subdomain DNS Action - specify an action that will be triggered during the creation of a subdomain. This applies to subdomains provided in Plan → Onboarding → Domain used for subdomains and subdomains listed in Plan → Domains → Subdomains section. Note that this option is applicable only if an external server is used for DNS purposes.
- Create new DNS zone - This selection is a default configuration; following an instance installation, import, creation of staging, or domain change, the subdomain will attempt to create a zone. If the action is unsuccessful, a notification will be sent to an admin user.
- Create A record on parent zone - When selected, following an instance installation, import, creation of staging, or domain change, the subdomain will attempt to search a zone under a parent domain and adds an A record with the server's IP address where the server account currently resides. If unsuccessful, a notification is sent to the admin.
- None - When selected, following an instance installation, import, creation of staging, or domain change, the subdomain will not create either a zone or an A record.
Client Area related options:
Enable DNS Management - Allows customers to manage DNS Records. Click the Configure button to specify which DNS records users will be permitted to manage. By default, all DNS records are allowed.
Domain DNS Verification - Select method for domain DNS verification, choose between:
- Compare A record with hosting IP address - Checks that the domain’s A record matches the IP address of the hosting server, so traffic goes to the correct place.
- Compare NS records with DNS server's nameservers - Confirms that the domain’s NS records align with the DNS nameservers.
- Compare CNAME record with custom domain - Compares the domain’s CNAME record to a custom domain, allowing options like multiple wildcards (e.g., *.quicns.com) for flexible setups.
- Don't verify - DNS verification will be skipped and the domain allowed to connect without checks.
# Email server
Select and configure the email server for your services.
- Please choose email server type:
- Mailcow
- Use Selected Hosting email server - You can utilize the chosen hosting server for emailing purposes. For instance, if you have opted for DirectAdmin as the hosting server in the previous step, you can now select "Use DirectAdmin's DNS Server" from the dropdown menu. cPanel, Plesk and DirectAdmin can be used as email servers.
- Choose email server - select a specific email server.
- Domain Template - following the selection of a server type, enter a domain template name.
# Domains
- Add Subdomain - Add domains that users of this plan will be allowed to use as subdomains. To add a new subdomain, click on Add Subdomain, and a modal will appear where you can enter the new domain name.
- Subdomain Blacklist - Create lists of forbidden words. By enabling "Block Profanity," all uncensored expressions will be blacklisted automatically.
- Domain Blacklist - Create lists of forbidden words. By enabling "Block Profanity," all uncensored expressions will be blacklisted automatically.
# Plugins and 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
# Automatic backups
Manage backups creation, set up their frequency that will be imposed on the client's instances.
- Enabled By Default - toggle to enable backups for client's instances
- Editable By User - toggle to let clients mange the backups creation in the client area
- Frequency - define how often backups will be created by default. Set frequency to: daily, weekly or monthly.
# Automatic updates
The Auto Updates section allows for the management of automatic WordPress instance updates. Configure the settings below to determine their behavior. If disabled, your clients will be able to enable the updates manually in their client panel. By default, all the options are enabled.
WordPress Auto-update - Enable automatic WordPress updates by default. This setting will only apply to new instances.
WordPress Auto-update Options - Choose WordPress update options:
- Update to any latest version available (Major and Minor)
- Update to Minor versions only
Plugin Auto-update - Enable automatic plugin updates by default. This setting will only apply to new instances.
Theme Auto-update - Enable automatic theme updates by default. This setting will only apply to new instances.
To disable the switcher availability in the client area, you can do so by disabling the appropriate privilege in the 'Other' tab (see next step). Specifically, navigate to: Disable Privileges → WordPress Management, find Manage Automatic Updates and select it to disable access.
# Other
Default PHP version - set the default PHP version for newly created instances
Enable PHP Version management in the Client Area - enable or disable the option for clients to choose their preferred PHP version. When enabled, select which PHP versions will be available for choice in the client area.
PHP Settings - define the php ini settings for new server accounts:
- set directive with value for PHP settings
Disable Privileges - decide which privileges, all enabled by default, you wish to disable for clients:
- General Management - select all or individually disable specific privileges:
- Change label
- Set domain
- Create Staging
- Push to Live
- View Logs
- View Reports
- Delete Instance
- Manage Shared Access
- WordPress Management - select all or individually disable specific privileges:
- WP Admin SSO
- Update WordPress
- Manage Automatic Updates
- Manage Backups
- Manage Automatic Backup
- Update Site Name
- Clear Cache
- Set Maintenance Mode
- Set Debug Mode
- Manage Themes
- Manage Plugins
- Manage WordPress Configuration
- Manage WordPress Users
- Manage Related Hosting - select all or individually disable specific privileges:
- Manage Email Accounts
- Manage DNS
- Manage Domains
- Manage SSL Certificates
- Manage FTP Accounts
- Manage MySQL Databases
- Manage Cron Jobs
- Control Panel SSO - This privilege is selected by default, so you need to unselect it to allow your clients to log into the control panel (cPanel, DirectAdmin, or Plesk).
- PHPMyAdmin SSO
- General Management - select all or individually disable specific privileges:
Default WordPress Version - Select the default version of WordPress that will be automatically installed upon creating a new instance. You have the option to specify a particular version or opt for latest to always install the most recent available version.
Default WordPress Language - Select the default language for WordPress installation. If the selected language is not supported by the WordPress version, English will be installed instead.
Default WordPress Configuration - Establish the default configuration for newly created WordPress instances. Include configuration entries with the fields Name, Value and the selected Type: constants or variables.
Plan Instances Copying - If enabled, end-clients with instances based on this plan will be able to conveniently copy their existing instance to any of their other services (with free instance limit).
Post Install Script - A PHP script executed automatically after a new WordPress installation is completed, including staging installations.
The code entered in this field will be executed at the end of a new instance (or staging) installation as part of the "Configure Installed Instance" or "Configure Installed Staging" task. If any issues arise during script execution, you will receive an error notification alerting you to the problem.
Below is a list of available variables that can be used within post-installation scripts:$params['instance_id']; $params['instance_name']; $params['instance_domain']; $params['instance_dir']; $params['instance_url']; $params['instance_version']; $params['instance_path']; $params['instance_full_path']; $params['instance_created_at']; $params['parent_instance_id']; $params['parent_instance_name']; $params['parent_instance_domain']; $params['parent_instance_dir']; $params['parent_instance_url']; $params['parent_instance_version']; $params['parent_instance_path']; $params['parent_instance_full_path']; $params['parent_instance_created_at']; $params['user_id']; $params['user_email']; $params['server_id'];
Here is an example script that can be used directly. It modifies the 'wp-config.php' file:
$config_transformer = new WPConfigTransformer($params['instance_full_path'] . '/wp-config.php'); $config_transformer->update('constant', 'WP_REDIS_HOST', '127.0.0.1'); $config_transformer->update('constant', 'WP_REDIS_PORT', '6379'); $config_transformer->update('constant', 'WP_REDIS_PREFIX', (string)rand(10000, 99999)); $config_transformer->update('constant', 'WP_REDIS_DATABASE', '0');
Allow Domain Transfer - If enabled, clients can transfer domains between servers. This option is available only for plans using the WP Cloud as a server. If another server type is used, this option will remain disabled. For more detailed information on transfering domains, please refer to the dedicated article.