1. Home
  2. Knowledge Base
  3. WHM & cPanel
  4. How to Copy Addon Domains to a New Account -WHM

How to Copy Addon Domains to a New Account – WHM


After you create an addon domain, you can create an entirely new account from that addon domain. To do this, copy the information from the addon domain and add it to a newly-created account. This tutorial shows you how to copy addon domains to a new account.



In cPanel & WHM version 56 and later, do not use the method in this document. Instead, use WHM’s Convert Addon Domain to Account interface (Home >> Transfers >> Convert Addon Domain to Account).

Copy addon domains to a new account

Perform the following steps to copy an addon domain to a new account:


Only the root user, or resellers with root-level privileges, can perform this action because it requires that you move files.


In this document:

  • username represents the user of the account.
  • newusername represents the user of the new account.
  • addonname represents the name of the addon domain.
  • addondirectory represents the directory for the addon domain.



Create a backup

Create a full backup of the account that contains the addon domain. To do this, use cPanel’s Backups interface (Home >> Files >> Backups), or run the /scripts/pkgacct script.



Create a new account

Create a new account with a placeholder name in WHM’s Create a New Account interface (Home >> Account Functions >> Create a New Account).


Do not use the addon domain’s name for the new account.



Extract the backup

Perform the following steps to extract the backup that you created in the previous steps:

  1. Run the following command to create the /home/backup-username directory:
    mkdir /home/backup-username
  2. Run the following command to move the backup file into the /home/backup-username directory:
    mv cpmove-username.tar.gz /home/backup-username/
  3. Run the following commands to change to the /home/backup-username directory and uncompress the backup:
    tar -xzf cpmove-username.tar.gz
    cp /home/backup-username

    This commands extracts the backup to either the cpmove-username or username directories

  4. Run the following command to add the homedir/public_html/addondirectory/ subdirectory to the /home/backup-username/public_html/ directory:
    cp -R homedir/public_html/addondirectory/* /home/newusername/public_html/



Import the databases

Perform the following steps to import the databases:

  1. Recreate the addon domain’s databases and create the database users in cPanel’s MySQL Databases interface (Home >> Databases >> MySQL Databases).
    • Prepend newusername to the databases when you create them.  For example, newusername_dbname, where dbname represents the name of the database.
  2. After you create the databases and database users, import each domain’s database backups. To do this, run the following command for each backup:
    mysql newaccount_dbname < /home/backup-username/username/mysql/username_dbname.sql



Update cron paths

Perform the following steps to update the cron paths for the new account:

  1. Open the /home/backup-username/username/cron/username file and check for the addon domain’s crons.
  2. Add the paths for the addon domain’s cron jobs to the new account in cPanel’s Cron Jobs interface (Home >> Advanced >>  Cron Jobs).


    Make sure that the cron jobs’ paths match the new account’s paths to the same cron jobs files.



Change file ownership

Use the chown command to grant ownership of the copied public_html files to newusername:

find /home/newusername/public_html -uid 0 -exec chown newusername:newusername {} +



Confirm that the account functions

After you change the files’ ownership, confirm that the account functions correctly.  To do this, point your operating system’s hosts file to the temporary domain placeholder.



Remove the addon domain

After you confirm that your new account functions, remove the old account’s addon domain in cPanel’s Addon Domains interface (Home >> Domains >> Addon Domains).



Change the placeholder domain’s name

After you remove the old account’s addon domain, navigate to WHM’s Modify an Account interface (Home >> Accounts >> Modify an Account) and change the new account’s main domain name to the addon domain’s name.



Copy over email account information

After you change the domain name, copy the old account’s emails, forwarders, filters and auto responders to the new account. To do this, open the /home/backup-username/username directory and run the following commands:

cp va/addonname /etc/valiases/
cp vf/addonname /etc/vfilters/
cp homedir/.autorespond/*addonname* /home/newusername/.autorespond/
cp -R homedir/etc/addonname /home/newusername/etc/
cp -R homedir/mail/addonname /home/newusername/mail/

After you copy the emails, forwarders, filters and autoresponders, change the ownership of those files to the new user.  To do this, run the following commands:

chown newusername:mail /etc/valiases/addonname
chown newusername:mail /etc/vfilters/addonname
chown newusername:newusername /home/newusername/.autorespond/*addonname*
find /home/newusername/etc -uid 0 -exec chown newusername:mail {} +
find /home/newusername/mail -uid 0 -exec chown newusername:mail {} +


Make certain that you append asterisks ( * ) on either side of addonname to ensure that it keeps the wildcards.

After you change the ownership of the files, confirm that you can log in to the user’s Webmail account.

Navigate to the /home/newusername/etc/addonname directory to find the users and email passwords for authentication to IMAP, POP3, and Webmail.

Was this article helpful?

Related Articles