Step 2. Setting Up Service Templates

A service template defines the amounts of allotted resources and settings of the hosting services that are available to users.

This section explains how to set up service templates that will be used for signing up hosting customers. For instructions on how to set up service templates for signing up resellers, see Getting Ready for Onboarding Resellers.

To create a service template for hosting customers:

  1. Go to Products > Service Templates > Add New Service Template.

  2. Type a name, select WebHosting Plesk from the Type menu, and click Next.
  3. Select the platform that you want to use (Linux or Windows), and leave the Web Hosting check box selected. If you want to provide users with email services based on Postfix or MailEnable, in addition to web hosting, select the Email Hosting check box as well. You can learn more about the available mail services in Enabling the Support for Mail Services.
  4. Click Next.
  5. Specify the amounts of resources that you want to allocate:

    • IP addresses. The total number of IPv4 addresses.
    • IPv6 addresses. The total number of IPv6 addresses.
    • Web traffic. The amount of data that can be transferred from all websites of a subscription during a month, in gigabytes.
    • Web storage. The amount of disk space that can be occupied by all websites of a subscription, in gigabytes.
    • Maximum number of additional FTP accounts per webspace.
    • Maximum number of dedicated IIS application pools per webspace (only on Windows hosting).
    • Website. The total number of websites.
    • Webspace. The total number of webspaces under a single subscription.
    • WordPress site. The total number of WordPress sites.
    • Site without web hosting. This type of sites is only needed for email hosting. We recommend that you leave the default value of unlimited.
    • Maximum number of MySQL and PostgreSQL databases per webspace. The total number of MySQL and PostgreSQL databases that can be hosted per webspace.
    • Maximum number of Microsoft SQL Server databases per webspace. The total number of Microsoft SQL Server databases that can be hosted per webspace (only on Windows hosting).
    • Email domain. The total number of domains under which mail services can be set up.
    • Email accounts. The total number of email accounts.
    • Email storage. The total amount of disk space that can be used by all mailboxes.

      Note: For a complete list of resources, permissions, and hosting settings supported by WebHosting Plesk, see Appendix B. Resources in Service Templates, Appendix C. Permissions for Operations in Service Templates, Appendix D. Web Hosting Settings in Service Templates, and Appendix E. Email Hosting Settings in Service Templates.

  6. (Optional) Set additional limits on resource usage:

    • Maximum number of concurrent HTTP connections to websites per webspace.
    • Hard disk quota for a webspace. The hard quota on the maximum amount of disk space that can be used, in gigabytes. If it is exceeded, no more files can be uploaded to websites.
    • Maximum bandwidth that can be used by all websites of a webspace, in megabits per second.
    • Maximum size of a mailbox. The maximum amount of disk space that can be occupied by each mailbox.
  7. Click Next.
  8. Specify the permissions for operations that users will be able to perform on their hosting accounts:

    • Hosting settings management

      If the permission to change hosting settings is granted, customers will be able to switch on and off SSL support, support for programming and scripting languages, custom error documents, and web server settings. Any changes to these settings that you specify in a service template will not override the settings that customers defined for their own subscriptions.

    • PHP version and handler management, common PHP settings management.

      These allow subscribers to adjust PHP settings individually for each website in their subscriptions.

    • Data backup and restoration using the server storage

      Allows the subscriber to back up and restore their websites, and use the storage on the service node for keeping backups.

    • Data backup and restoration using a personal FTP storage

      Allows the subscriber to back up and restore their websites, and use external FTP servers for storing their backups.

    • Web statistics management

      Allows the subscriber to select which web statistics engine should be used (Webalizer or AWStats), and whether reports should be accessible via a specific password-protected directory.

    • Access to Application Catalog

      Provides the subscriber with access to a number of prepackaged applications that can be installed on websites. These applications will work only if you selected the PHP support check box in the previous step. You can view available applications and manage them in Provider Panel > Services > WebHosting Plesk > Service Nodes tab > Tools and Settings (in the Actions column) > Application Vault.

    • Access to the WordPress Toolkit

      Allows the subscriber to manage their WordPress instances using the WordPress Toolkit. In addition, it allows you to toggle the following permission: WordPress Toolkit security management.

    • Management of the WordPress Toolkit security options

      Allows the subscriber to manage the WordPress Toolkit security options for their WordPress instances.

    • Management of access to the server over SSH (Linux hosting)

      Allows the subscriber to access the server shell over SSH under their system user account. Also, lets the subscriber set up such hosting parameter as SSH access to server shell under the subscription's system user.

    • Management of access to the server over Remote Desktop (Windows hosting)

      Allows the subscriber to access the server via Remote Desktop protocol.

    • Scheduler management

      Allows the subscriber to schedule running of scripts or utilities.

    • Anonymous FTP management

      Provides the anonymous FTP service, which lets the subscriber set up a directory shared over FTP protocol and available to anonymous users. A subscription should reside on a dedicated IP address in order to provide this service.

    • Log rotation management

      Allows the subscriber to adjust the cleanup of processed log files for their sites. Also, allows the subscriber to remove log files.

    • Additional FTP accounts management

      Allows the subscriber to manage FTP accounts for accessing the subscription's files and folders.

    • Hosting performance settings management

      Allows the subscriber to adjust PHP performance settings and set up the limits on bandwidth usage and number of connections to their websites.

    • Disk quota management

      Allows the subscriber to set up the hard quota on disk space used by the hosting account.

    • Password-protected directories management

      Specifies whether the customer can create password-protected directories.

    • IIS application pool management (Only on Windows hosting)

      Provides the subscriber with a dedicated IIS application pool and the means to manage it: enable or disable it, and set up the maximum amount of CPU power that the pool may use.

    • Additional write/modify permissions management (Windows hosting)

      Allows the subscriber to toggle the hosting parameter Additional write/modify permissions. These permissions are required, for example, if subscriber's web applications use a file-based database (like Jet) located in the root of httpdocs or httpsdocs folder.

  9. Click Next.
  10. Specify the following hosting settings:

    • Parent domain name to use in the webspace naming template and Webspace naming template. To enable your customers to preview websites and access the myLittleAdmin database management tool (on Windows hosting) from Customer Panel, in the Parent domain name to use in the webspace naming template menu, select the domain name under which you will allow creating subdomains for internal needs. In the Webspace naming template box, type in w.{WEBSPACE_ID}.{PARENT_DOMAIN}. You can use the variables {UID}, {WEBSPACE_ID}, and {WEBSPACE_APS_ID}.

      Note: You can leave these fields unchanged, but in this case, your customers will not be able to preview websites and access myLittleAdmin from Customer Panel.

    • Web hosting panel version. Only Plesk 17.5 and Plesk 17.8 are supported.
    • Access to the server over SSH. (Only on Linux/Unix hosting) This allows subscribers to upload securely web content to the server through SSH.
    • Access to the server over Remote Desktop. (Only on Windows hosting) This allows subscribers to access the server over a Remote Desktop connection.
    • Default type of website: Web hosting or WordPress hosting. If you want to provide WordPress hosting services, select this option. During the provisioning of websites for customers, a WordPress site will be deployed, and additional WordPress management tools will be available in the customer panel.
    • SSL support. This allows setting up SSL encryption on websites hosted within the subscription.
    • Keep websites secured with free SSL certificates from Let's Encrypt. Select this checkbox to enable the automatic issuing and installation of SSL certificates during the creation of websites. SSL certificates from Let's Encrypt are free of charge and are renewed automatically. For this to operate properly, ensure that Plesk 17.8 or later is installed with the Let's Encrypt extension on service nodes. By default, the Let's Encrypt extension is installed with Plesk 17.8.
    • Custom error documents. This allows subscribers to design and use their own error pages that the web server returns with HTTP error codes.
    • Web statistics: Webalizer, AWStats, or none. Select a statistics engine that will create reports on how the subscription's websites are visited: how many people visited a site and which web pages they viewed.
    • Types of IP addresses (IPv4, IPv6) and how they should be allocated: a dedicated IP address is allocated to a single customer, while shared IP addresses are shared among multiple users.
    • Dedicated IIS application pool (Only on Windows hosting). Provides the subscriber with a dedicated IIS application pool and the means to manage it: enable or disable it, and set up the maximum amount of CPU power that the pool may use.
    • Additional write/modify permissions (Only on Windows hosting). Allows the subscriber to toggle the hosting parameter Additional write/modify permissions. These permissions are required, for example, if subscriber's web applications use a file-based database (like Jet) located in the root of httpdocs or httpsdocs folder.
    • Support for programming and scripting languages that should be interpreted, executed or otherwise processed by a web server: Microsoft ASP.NET framework, PHP hypertext preprocessor (PHP), Common Gateway Interface (CGI), Perl, Python, Fast Common Gateway Interface (FastCGI), Microsoft or Apache Active Server Pages (ASP), Server Side Includes (SSI). For PHP, you can also select the PHP handler that should be used.
    • Allow web users to use scripts. This allows scripting at web pages available at URLs like http://example.com/~<username>/<webpage>, where <username> refers to a web user. Web users are individuals who do not need their own domain names. This service is popular with educational institutions that host non-commercial personal pages of their students and staff.
  11. Click Next.
  12. Configure the PHP performance and security settings, or set additional directives, if you need to. Click Next.
  13. Select the database servers that will be used for hosting users' databases. You can choose to host databases on the same hosting service node or on external database servers that you previously configured as described in the section Dedicated Database Nodes.
  14. Select the web applications that should be available to your customers. By default, 22 web applications are available to customers. If you want to review them and select which of them should be available, select the check box Provide only the applications that I select. Select the check boxes next to applications' names and click Next.
  15. If you selected Email Hosting in step 3, specify the mail hosting settings:

    • Handling of mail for non-existent mailboxes (mail bounce settings). When somebody sends an email message to an email address that does not exist under a user's domain, the mail server, by default, accepts mail, processes it, and when it finds out that there is no such a recipient under the domain, it returns the mail back to sender with an error message. You can choose to:

      • Continue returning all such mail back to senders (Bounce with message option).
      • Forward all such mail to the specified email address (Forward to address option). This is also referred to as a catch-all address.
      • Forward all such mail to another mail server with the specified IP address using the option Redirect to external mail server with IP address (available only for Windows hosting).
      • Reject such mail without accepting it. If the sender's SMTP client is behaving properly, it will generate a "Recipient address rejected: User unknown in virtual mailbox table" non-delivery notice (Reject option).
    • Webmail. Select whether you want to provide the users with access to browser-based Horde or Roundcube webmail. The latter is recommended.
  16. Specify whether the users should be able to change the spam filter and antivirus settings for their mailboxes.
  17. Click Next and then click Finish.

If you make any changes to a service template later, you will need to synchronize the changes with the subscriptions that were created based on it. The synchronization involves the reconfiguration of multiple websites. The Apache web server may be restarted every time an Apache-based website is reconfigured. Thus, if you are doing a mass update, there could be many restarts of the Apache web server, and websites could be working unstably during a relatively long period.

To mitigate this issue, you can adjust the Apache restart interval on each Apache-based web service node, using the Plesk administrator panel on that node (there is a link to it from Services > WebHosting Plesk > Service Nodes for each service node). After you have finished with mass updates, you may want to return the Apache restart interval on these nodes back to the default value (0).