[TUTORIAL] How to change website domain or subdomain

This tutorial is for host admins who want to change subdomain or domain of website without actually recreating a website on CyberPanel or change subdomain or domain of an existing website. Why?

Because this cannot be done automatically on CyberPanel but there is a longer process that if not done correctly can mess up your virtual host configuration.

Before you start remove SSL certificate for subdomain.maindomain.com and remove any mailboxes for that subdomain.

  1. Create the path /home/subdomain1.maindomain.com/public_html

  2. Go to https://SERVER_URL:7080/index.php#view/confMgr.php?m=vh_site.site.com&p=g

  3. Under General card click edit

  • Document root will not be created by the server automatically if it does not already exist. Please ensure that both the directory exists and it is owned by the correct user.
  1. Change the Virtual Host Name with subdomain1.maindomain.com from Step 1

This will change the virtual host file and you will require you to add entries for:

  1. On Base tab change the Document Root with path from Step 1

  2. On General tab fill in General and Index Files cards

  3. Confirm there is NO paired SSL private key and SSL certificate for SSL listener

  • By now you see “Configuration has been modified. To apply changes, please perform a graceful restart.” message. Perform a graceful restart

6.Reboot the server

  1. Go to https://SERVER_URL:8090/phpmyadmin/index.php?route=/sql&db=cyberpanel&table=websiteFunctions_websites&pos=0 this opens a table in PhpMyAdmin

On that table websiteFunctions_websites look for the line site.site.com and change to site1.site.com

  1. Go back to list of websites - viola! You can see subdomain1.maindomain.com and now you can Issue SSL etc

Hello. Can you tell me how to create such a path?
/home/subdomain1.maindomain.com/public_html

This can only be possible if you create a child domain https://SERVER_URL/websites/CreateNewDomain child domains are owned by a master website

Looks like some are having hard times following your suggestions, so far you’re recommending to do the following:
Assuming I want to change a live website hosted as test.domain.com to test2.domain.com.

  1. Remove SSL issues certificate, I’ve done that by executing the command: rm -rf /etc/letsencrypt/live/test.domain.com
  2. Create the path /home/test2.domain.com/public_html , you mention that this can only be possible if I create a child domain via cp dashboard.
    If I do that, it asks to select the website, I selected my existing test.domain.com but it creates a path of test.domain.com → / test2.domain.com
    and from here things doesnt make sense anymore.
    Is there a more simplified version of changing the domain of test.domain.com into something different without too much hassle? please let us know