The steps advised are using the command line and some automated cPanel 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.
- Login to your cPanel account. If you have forgotten your cPanel credentials, they were included in the original Welcome to mxNAP or IMPORTANT: Hosting Documentation email which you should find in your inbox, otherwise follow these instructions on how to update your cPanel password.
- 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, however you can adjust the document root if preferred.
- Return to cPanel home and search the MySQL Databases function, create a new database and user for your clone website (put aside the credentials for later reference), then add the user to the new database and grant all permissions.
- 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.
- Open the database file which was saved to your computer 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.
- 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.
- 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 ownssh user@yourserver.domain.com Press Enter and type your password when prompted.
- 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 - Now we need to update the subdomains wp-config.php file with the new database credentials. To edit the file use the below command:
vi subdomain.domainname.com/wp-config.php - 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 */
define(‘DB_NAME’, ‘database_name_here’);
/** MySQL database username */
define(‘DB_USER’, ‘username_here’)
/** MySQL database password */
define(‘DB_PASSWORD’, ‘password_here’)
You can now visit your subdomain and see a cloned version of your live website!