Skip to content
Follow
CMS Ubuntu Linux

How to Migrate Your Magento Site to Google Cloud with Minimal Downtime

Richard
Written by
Richard
Dec 31, 2021 Updated Jun 20, 2026 8 min read
How to Change Default Apps in Ubuntu
How to Change Default Apps in Ubuntu
  • Web browsers
    • The latest version of Google Chrome
    • Firefox
    • Microsoft Edge
    • Microsoft Internet Explorer 11 and later
    • Safari 8 and later. Note that Safari in private browser mode is not supported.
    • All Linux VM images are natively available in Google Cloud.

    No additional software or browser extensions are needed. Login to Google Cloud Console and go to Menu ==> Compute Engine ==> VM instances.

    In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.

    establish ssh connection to vm instances
    establish ssh connection to vm instances

    Alternatively, you can open an SSH connection to an instance by clicking its name and SSH from the instance details page.

    An SSH terminal window with the Ubuntu Linux instance created in the series’s second post will open.

    You should now be able to run commands in Ubuntu Linux created on the Google Cloud server.

    connect to google cloud instance host
    connect to google cloud instance host

    Install LAMP or LEMP on the new server before migration

    To get your new Google Cloud server ready for Magento, you’ll need to install the same software stack, like LAMP or LEMP, that your old server uses.

    Your goal is to make sure the new Google server has all the same servers and software packages as your current one. We’ve listed some helpful posts that you can use to install Apache, Nginx, MySQL, MariaDB, or PHP.

    Some other posts that you may want to use when installing LAMP or LEMP on Ubuntu Linux.

    You can use the posts above to install the same servers and packages you have installed on your current server. However, if you want to install specific packages on your new server, use the same posts mentioned above.

    Once all the packages are installed, you can transfer content from your current server to the new one.

    Configure your new Google server similar to your current server

    Make your new Google Cloud server work just like your old one by matching settings for the web server, directories, and PHP.

    Ensure the web server (Apache or Nginx) settings are on old and new servers, including the same directory structure and Virtual Host or Server block content.

    • Apache directory: /etc/apache2/
    • Nginx directory: /etc/nginx/

    Your PHP configuration should also be identical to your current server’s PHP settings. Use the post above to install a specific PHP version and all the modules on your current server.

    • PHP directory: /etc/php/

    Your MySQL or MariaDB configurations should also mimic your current server. Validate each file, directory, and other data to ensure your new server is no different from your current server before migration.

    • MySQL / MariaDB directory: /etc/mysql/

    Once you have that done, you can continue with the migration process.

    Back up current server data and database before migration

    Before moving your Magento site, back up all your website files and the database from your current server to ensure you don’t lose any data.

    It would be best if you moved to the new server. First, you need Magento website content and database content. Back up the website content as well as the content in the database.

    Before backing up your current server, stop all changes. You don’t want new ones added after the backup is complete.

    To back up Magento content, log on to your server via SSH if you have access. Once on your current server SSH console, run the commands below to back up your Magento content, usually at this location: /var/www/html/.

    When you run the commands below, a backed-up file named current-server-backup.tar will be created with your Magento content.

    🐧Bash / Shell
    sudo tar -cvf current-server-backup.tar /var/www/html/
    📝Good to Know
    Next, back up your database content. Again, you need to use the root account or an account with full access to the database you wish to back up.

    To backup all databases on the server, you run the commands below:

    🐧Bash / Shell
    sudo mysqldump -u username –p --all-database > all_databases_backup.sql

    In addition, a file named all_databases_backup.sql should also be created in the current working directory.

    You should now have two files: current-server-backup.tar and all_database_backup.sql.

    Copy the current server’s content to the Google Cloud server

    At this point, you should be ready to copy the current server’s content over to your new server. There are many ways to get the tar and SQL data files to the new server.

    You can use the rsync command from the new server by SSHing into it and using a similar command to that shown below (changing the host names as needed).

    While connected to your Google Cloud console, run the commands below to connect to your current server and copy over the backed-up content.

    💻Code
    rsync -avz user@old-server.com:/home/<username>/all_database_backup.sql
    rsync -avz user@old-server.com:/home/<username>/current-server-backup.tar

    You could also use SCP to copy your files securely; the syntax looks like this:

    💻Code
    scp user@old-server.com:/home/<username>/all_database_backup.sql /home/username/
    scp user@old-server.com:/home/<username>/current-server-backup.tar /home/username/

    If you can’t get the files using SSH, then you can use the wget command to download the files to your new Google Cloud server.

    You must copy the files to the current server web server root directory to be able to use the commands below.

    Command Prompt
    cd ~
    wget http://old-web-site.com/all_database_backup.sql
    wget http://old-web-site.com/current-server-backup.tar

    Once the files are copied to your new server, continue below to extract them and import the database content into your database server.

    Restore the current server’s content to the Google Cloud server

    After backing up your old site, you’ll restore the files and database to your new Google Cloud server, putting them in the right places.

    🐧Bash / Shell
    tar -xvf current-server-content.tar
    sudo cp -rf /var/www/html/ /var/www/html/

    Next, run the commands below to import the database content to your servers.

    🐧Bash / Shell
    sudo mysql -u root -p < all_database_backup.sql

    At this point, your Google server should have the current servers and database content. Next, run the commands below to set up the current permissions to match the server.

    Validate that all configurations on your current server match your new Google Cloud server. Once all have been validated, restart your web server.

    🐧Bash / Shell
    sudo systemctl restart nginx
    sudo systemctl restart apache2

    If you get an error, make sure to resolve the error.

    Update your DNS and point your domain to your new Google server IP address

    Before making your Magento site live on Google Cloud, test it by changing your computer’s host file, then update your domain’s DNS records to point to the new server’s IP address.

    Once your local test is successful, log in to your DNS provider portal and update the DNS A record to point to your new server IP address.

    If everything works, you can continue fine-tuning your new server to ensure everything is configured correctly.

    That should do it!

    Conclusion:

    This post showed you how to migrate a Magento website to a Google Cloud server. Please use the comment form below if you find any errors above or have something to add.

    Migrate your Magento site to Google Cloud with minimal downtime by performing a phased data synchronization and a swift DNS cutover.

    Migrating your Magento site involves moving your entire e-commerce platform, including its database and files, from its current hosting to Google Cloud Platform (GCP). This process aims to keep your online store accessible to customers throughout the transition.

    Achieving minimal downtime, often referred to as near-zero downtime, requires careful planning and execution. A typical migration strategy involves setting up your new GCP environment, transferring your data, and then switching traffic over, ideally in under 30 minutes.

    You can successfully move your Magento store to GCP, enhancing its performance and scalability, by meticulously preparing your new environment and understanding the DNS propagation timeline.

    ⚡ Quick Answer

    Prepare your new Google Cloud environment by taking inventory of your current server and installing LAMP or LEMP on the new server. Then, migrate your Magento files and database. Finally, update your DNS records to point to the new Google Cloud server for a seamless transition.

    Taking inventory of a Linux server before migration

    Before you move your Magento site to Google Cloud, you need to check what’s on your current Linux server so the new one matches.

    These are what you’ll need to gather from your current server:

    • Web server and version number
    • Database server and version number
    • PHP and related modules
    • Other servers and services and how they’re configured

    If you’re running Apache, use the commands below to check the version on Ubuntu Linux. For more detailed steps, check out this guide on installing specific Apache versions.

    💻Code
    apache2 -v

    For more detailed version checks and steps to install a specific version of Apache, read the post below:

    How to check and install specific Apache versions on Ubuntu Linux

    If you’re running Nginx, use the commands below to check the version on Ubuntu Linux. For more detailed steps, check out this guide on installing specific Nginx versions.

    💻Code
    nginx -v

    For more detailed version checks and steps to install a specific version of Nginx, read the post below:

    How to check and install specific Nginx versions on Ubuntu Linux

    To check what version of PHP is installed and how to install a specific version on Ubuntu Linux, read the post below:

    How to check and install specific PHP versions on Ubuntu Linux

    Whether you’re running MySQL or MariaDB, the post below shows you how to determine which version of MySQL or MariaDB runs on Ubuntu Linux.

    How to find what version of MySQL or MariaDB runs on Ubuntu Linux

    How to set up and connect to your Google Cloud server

    After checking your old server, it’s time to set up your new Google Cloud server, which will host your Magento site.

    Google Cloud’s Compute Engine lets you connect to your virtual machine (VM) – essentially a server in the cloud – using SSH right from your browser inside the Google Cloud Console.

    SSH from the browser supports the following:

    • Web browsers
      • The latest version of Google Chrome
      • Firefox
      • Microsoft Edge
      • Microsoft Internet Explorer 11 and later
      • Safari 8 and later. Note that Safari in private browser mode is not supported.
      • All Linux VM images are natively available in Google Cloud.

    No additional software or browser extensions are needed. Login to Google Cloud Console and go to Menu ==> Compute Engine ==> VM instances.

    In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.

    establish ssh connection to vm instances
    establish ssh connection to vm instances

    Alternatively, you can open an SSH connection to an instance by clicking its name and SSH from the instance details page.

    An SSH terminal window with the Ubuntu Linux instance created in the series’s second post will open.

    You should now be able to run commands in Ubuntu Linux created on the Google Cloud server.

    connect to google cloud instance host
    connect to google cloud instance host

    Install LAMP or LEMP on the new server before migration

    To get your new Google Cloud server ready for Magento, you’ll need to install the same software stack, like LAMP or LEMP, that your old server uses.

    Your goal is to make sure the new Google server has all the same servers and software packages as your current one. We’ve listed some helpful posts that you can use to install Apache, Nginx, MySQL, MariaDB, or PHP.

    Some other posts that you may want to use when installing LAMP or LEMP on Ubuntu Linux.

    You can use the posts above to install the same servers and packages you have installed on your current server. However, if you want to install specific packages on your new server, use the same posts mentioned above.

    Once all the packages are installed, you can transfer content from your current server to the new one.

    Configure your new Google server similar to your current server

    Make your new Google Cloud server work just like your old one by matching settings for the web server, directories, and PHP.

    Ensure the web server (Apache or Nginx) settings are on old and new servers, including the same directory structure and Virtual Host or Server block content.

    • Apache directory: /etc/apache2/
    • Nginx directory: /etc/nginx/

    Your PHP configuration should also be identical to your current server’s PHP settings. Use the post above to install a specific PHP version and all the modules on your current server.

    • PHP directory: /etc/php/

    Your MySQL or MariaDB configurations should also mimic your current server. Validate each file, directory, and other data to ensure your new server is no different from your current server before migration.

    • MySQL / MariaDB directory: /etc/mysql/

    Once you have that done, you can continue with the migration process.

    Back up current server data and database before migration

    Before moving your Magento site, back up all your website files and the database from your current server to ensure you don’t lose any data.

    It would be best if you moved to the new server. First, you need Magento website content and database content. Back up the website content as well as the content in the database.

    Before backing up your current server, stop all changes. You don’t want new ones added after the backup is complete.

    To back up Magento content, log on to your server via SSH if you have access. Once on your current server SSH console, run the commands below to back up your Magento content, usually at this location: /var/www/html/.

    When you run the commands below, a backed-up file named current-server-backup.tar will be created with your Magento content.

    🐧Bash / Shell
    sudo tar -cvf current-server-backup.tar /var/www/html/
    📝Good to Know
    Next, back up your database content. Again, you need to use the root account or an account with full access to the database you wish to back up.

    To backup all databases on the server, you run the commands below:

    🐧Bash / Shell
    sudo mysqldump -u username –p --all-database > all_databases_backup.sql

    In addition, a file named all_databases_backup.sql should also be created in the current working directory.

    You should now have two files: current-server-backup.tar and all_database_backup.sql.

    Copy the current server’s content to the Google Cloud server

    At this point, you should be ready to copy the current server’s content over to your new server. There are many ways to get the tar and SQL data files to the new server.

    You can use the rsync command from the new server by SSHing into it and using a similar command to that shown below (changing the host names as needed).

    While connected to your Google Cloud console, run the commands below to connect to your current server and copy over the backed-up content.

    💻Code
    rsync -avz user@old-server.com:/home/<username>/all_database_backup.sql
    rsync -avz user@old-server.com:/home/<username>/current-server-backup.tar

    You could also use SCP to copy your files securely; the syntax looks like this:

    💻Code
    scp user@old-server.com:/home/<username>/all_database_backup.sql /home/username/
    scp user@old-server.com:/home/<username>/current-server-backup.tar /home/username/

    If you can’t get the files using SSH, then you can use the wget command to download the files to your new Google Cloud server.

    You must copy the files to the current server web server root directory to be able to use the commands below.

    Command Prompt
    cd ~
    wget http://old-web-site.com/all_database_backup.sql
    wget http://old-web-site.com/current-server-backup.tar

    Once the files are copied to your new server, continue below to extract them and import the database content into your database server.

    Restore the current server’s content to the Google Cloud server

    After backing up your old site, you’ll restore the files and database to your new Google Cloud server, putting them in the right places.

    🐧Bash / Shell
    tar -xvf current-server-content.tar
    sudo cp -rf /var/www/html/ /var/www/html/

    Next, run the commands below to import the database content to your servers.

    🐧Bash / Shell
    sudo mysql -u root -p < all_database_backup.sql

    At this point, your Google server should have the current servers and database content. Next, run the commands below to set up the current permissions to match the server.

    Validate that all configurations on your current server match your new Google Cloud server. Once all have been validated, restart your web server.

    🐧Bash / Shell
    sudo systemctl restart nginx
    sudo systemctl restart apache2

    If you get an error, make sure to resolve the error.

    Update your DNS and point your domain to your new Google server IP address

    Before making your Magento site live on Google Cloud, test it by changing your computer’s host file, then update your domain’s DNS records to point to the new server’s IP address.

    Once your local test is successful, log in to your DNS provider portal and update the DNS A record to point to your new server IP address.

    If everything works, you can continue fine-tuning your new server to ensure everything is configured correctly.

    That should do it!

    Conclusion:

    This post showed you how to migrate a Magento website to a Google Cloud server. Please use the comment form below if you find any errors above or have something to add.

    Was this guide helpful?

    Tags: #Windows 11
    Was this helpful?
    Richard

    About the Author

    Richard

    Tech Writer, IT Professional

    Richard, a writer for Geek Rewind, is a tech enthusiast who loves breaking down complex IT topics into simple, easy-to-understand ideas. With years of hands-on experience in system administration and enterprise IT operations, he’s developed a knack for offering practical tips and solutions. Richard aims to make technology more accessible and actionable. He's deeply committed to the Geek Rewind community, always ready to answer questions and engage in discussions.

    📚 Related Tutorials

    How to Create your Website on Google Cloud Server
    Ubuntu Linux How to Create your Website on Google Cloud Server
    How to Install Apache on Google Cloud Server
    CMS How to Install Apache on Google Cloud Server
    How to Install Nginx on Google Cloud Server
    CMS How to Install Nginx on Google Cloud Server
    How To Reset Microsoft Edge To Default Settings On Windows 11
    Browsers How To Reset Microsoft Edge To Default Settings On Windows 11

    No comments yet — be the first to share your thoughts!

    Leave a Comment

    Your email address will not be published. Required fields are marked *