You cannot run this script as the root user. 

The /scripts/process_site_templates script processes template files and user-provided data to create a Site Publisher website.

When users publish a Site Publisher website, the script performs the following actions:

  1. The script logs template information and the target directory to the /usr/local/cpanel/logs/error_log file. 
  2. The script saves a copy of the target directory's current contents as a tarball in the /home/user/site_publisher/backups/ directory, where user represents the account's username.

    If the system encounters a file system or file quota error during this step, it will not save the tarball and will not publish the new Site Publisher website.

  3. The script deletes any Site Publisher backup tarballs that are more than 30 days old.
  4. The script generates and saves the new Site Publisher website's files.

    • If one of the new website's files conflicts with an existing file, the system overwrites the existing file with the new file.
    • If the system encounters an error during this step, it restores the target directory's original contents from the backup tarball and does not publish the new Site Publisher website.
    • The system saves configuration information for the new website in the /home/user/site_publisher/configurations/ directory, where user represents the account's username. It saves this file as the  home-user-public_html-example.com.json  file, where  home-user-public_html-example.com  represents the Site Publisher website's target directory, with hyphens ( - ) instead of slashes ( / ).

Run the /scripts/process_site_templates script

To run the /scripts/process_site_templates script on the command line, use the following format:

/scripts/process_site_templates [options]


You can use the following options with the /scripts/process_site_templates script:


Define a template variable and its desired value. Each template variable requires a separate --define flag.

The template that you specify determines the values to define.

  • If you use a cPanel-provided template, read our Guide to Site Publisher Templates documentation for a list of template variables.
  • If you use a third-party template, consult that template's documentation or its meta.json file.

--helpDisplay a help message.

Define the absolute path to the template's source location.

--targetDefine the absolute path to the directory to which you wish to publish the Site Publisher website. Generally, you should specify the target domain's home directory path.


For example, to use the /scripts/process_site_templates script, you could run the following command:

/scripts/process_site_templates --source=/var/cpanel/customizations/site_templates/my_template --target=/home/username/public_html/example.com --define business_name="National Emotion, Inc." --define phone="867-5309" --define contact="jenny@example.com"

This example uses the root user's my_template template to publish a website for the username cPanel user's example.com domain, and defines values for three parameters that the my_template template uses.

Additional documentation