This article will walk you through creating a clone of your cPanel hosted website under a subdomain, steps are advising using the command line and some of cPanels automated functions.
Remember it is always a good practise to backup your website files prior to any updates, please complete this step now if you have not already done so.
1. Firstly, login to your cPanel account. If you have forgotten your cPanel credentials, they were included in the original ‘Welcome to Serversaurus’ email which you should be able to find in your inbox otherwise follow these instructions on how to update your cPanel password.
2. Use the search bar to navigate to the Subdomains function, create the Subdomain using the fields provided, by default subdomains will be created under ~/subdomainname.yourdomain.com
3. Return to cPanel home and search the MySQL Databases function, create a new database and user for your clone website (remembering to put aside the credentials for reference) then add the user to the new database and grant all permissions.
4. Return to cPanel home and navigate to the phpMyAdmin function, select your live website database from the left hand side, then from the header menu, select Export and proceed with the quick export option to retrieve a copy of your database.
5. Now you have your database copied locally on your computer, open the database file with a text editor such as Text Wrangler and apply a search and replace to replace all occurrences of the domain name with the subdomain name and save.
6. Return to phpMyAdmin and select your development database from the right hand side of page, go to the Import menu item and use the Import function to upload your updated database saved locally on your computer.
7. Open Terminal (or a SSH client like Putty if you’re on Windows) and SSH onto your hosting server (note, your ssh credentials are the same as your cPanel credentials). If you don’t have ssh client on your computer you are able to use the Terminal function within cPanel to completed the next steps.
In Terminal replace the username and server info with your own:
Press Enter and type your password when prompted.
8. Now we are going to copy the contents of public_html into our subdomain directory, use the below command to recursively copy all files and directories including any hidden files. Remember to update below command with your subdomain name.
cp -r public_html/. subdomain.domainname.com
9. Now we need to update the subdomains wp-config.php file with the new database credentials. To edit the file use the below command:
Update the DB_NAME, DB_USER and DB_PASSWORD fields with your new database credentials. Use i to to edit the file, press esc when finished editing and :wq to save changes.
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
/** MySQL database username */
/** MySQL database password */
You should now be able to visit your subdomain and see a cloned version of your live website.
If you have any issues please contact firstname.lastname@example.org for assistance.