Knowledge base article
Migrate remote staging website to local hosting server
View other domains and DNS articles
Related articles
Basic WordPress security and site management
Create a SSH key pair and configure your SSH key in cPanel
Create a clone of your website
Go live with your WordPress staging website
Other domains and DNS articles
A beginners guide to email spoofing
Accessing your site before changing DNS
An introduction to email authentication
Can I test out your services for free?
Cancel auto renewal on a domain registration
Complete a manual Change of Registrant (CoR) application for a .au domain
Configure spam filtering in cPanel
Domain options for shared hosting
Download or restore individual files, directories or database backups with JetBackup
Eligibility requirements for .au domains
Enabling PHP extensions, Changing PHP Version and Setting PHP Options
Finding your domain password/EPP code
Force HTTPS via .htaccess (cPanel)
Getting Started with Anycast DNS
Getting Started with the Content Delivery Network (CDN)
Hide .html extension using .htaccess
How to ensure website generated emails are delivered successfully
How to issue a Let’s Encrypt certificate
Manage DNS zones with the cPanel Zone Editor
Migrate remote transactional website to local server
My site and/or email service is down
Network Firewall (I can’t access my services on a non-standard port)
Pointing your domain to Serversaurus
Pointing your domain to Squarespace with cPanel
Reconfigure production website to subdomain
Subdomains for test sites & more
The SLA – Best effort versus 99.9% versus 100%
Transfer your domain to Serversaurus
Unable to renew certificate: The Let’s Encrypt HTTP challenge failed
Understanding CloudLinux resource limits
Update your domain contact information
Using Serversaurus’ nameservers but hosting your email elsewhere
Using the Serversaurus Cloud CDN with your WordPress website
What happens if my domain expires?
Ready to go live with your new website? This guide advises steps on migrating your remote staging website to your Serversaurus cPanel hosting
This guide is WordPress specific however the steps can be easily adjusted for most content management systems.
To complete this guide, please ensure you have:
- SSH Access - Serversaurus relies on key based authentication to login via SSH/SFTP, if you haven't already, generate your SSH key pair and configure it in cPanel before proceeding with the next steps
- SSH access to the remote hosts - If the remote host doesn't allow SSH access, we've included a wget command which is FTP compatible. - These can be found within the wp-config.php file.
New to rsync or wget? these helpful command line tools enable you to import the directory contents from a remote host to your local directory (or vise versa).
Let's get started!
- SSH to the remove hosts server and generate a database dump:
Update the following command with your remote SSH username and server hostname.ssh username@remote.hostname.com.au
Change into your websites document root, for cPanel hosting this is often ~public_html, however it varies between hosts:
Update the following command with the correct path if required.cd public_html/
Export the database:
Adjust the below command to include your MySQL username and password. You can find your database login credentials within wp-config.php if requiredmysqldump -u username -p database_name > backup.sql
- Open a new terminal window and SSH to your Serversaurus hosting server:
Update the following command with your Serversaurus SSH username and server hostname.ssh username@servername.serversaurus.com.au
- Change into the website document root:
cd public_html
- Check your present working directory using the following command and store the path details for the following steps:
pwd
- For users with SSH access - Use the following rsync command to synchronize the remote website directory with your present working directory:
Update the command with your remote host login details and directory path.
rsync -avzh username@remote.hostname.com.au:/path/to/document/root /path/to/present/directory/
For users with FTP access - Use the following wget command to recursively import the remote website directory with the path to your present working directory:Update the command with your remote host login details and directory path.
wget -m -x -nH -nv --ftp-user=username --ftp-password=xxxxxxxxxxxxx ftp://remote.hostname.com.au/path/to/document/root
- Correct the ownership and permissions using the following commands:
Update the following command with your Serversaurus cPanel username.chown -R username:username *
- Change document root ownership to nobody:
Update the following command with the correct path if required.chgrp nobody ../public_html
- Recursively update the directory permissions:
find . -type d -exec chmod 755 {} ;
Recursively update the file permissions:
find . -type f -exec chmod 644 {} ;
- Update wp-config.php with your database login details, if required use the MySQL Database Wizard function in cPanel to create a database and database user.
Edit the wp-config.php file using vi:vi wp-config.php
Update the following section with your database login details:
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'your_database'); /** MySQL database username */ define('DB_USER', 'database_user'); /** MySQL database password */ define('DB_PASSWORD', 'password'); /** MySQL hostname */ define('DB_HOST', 'localhost');
- Login to MySQL using the below command, enter your password when prompted:
Update the command with your database user.mysql -u username -p;
Import the database:
Update the following command with the document root path.source /path/to/document/root/backup.sql;
Once complete, exit MySQL:
exit
The migration is finished! Nice work!
Troubleshooting recommendations:
If you have any warnings/errors, please check for the following common post migration issues.
- Login to WordPress and clear all website cache.
- Check DNS is resolving to correct server IP address.
- Login to phpMyAdmin, check wp_options table and confirm the siteurl and home are pointing to the correct domain name- update if required.
- Check all PHP dependencies are enabled.
Last updated November 30, 2023