Skip to content
Follow
CMS Ubuntu Linux

Joomla Migration to Google Cloud: Step-by-Step Guide

Richard
Written by
Richard
Dec 30, 2021 Updated Sep 15, 2026 9 min read
How to Install Nextcloud AIO on Ubuntu Linux
How to Install Nextcloud AIO on Ubuntu Linux
  • Web browsers
    • The latest version of Google Chrome
    • Firefox
    • Microsoft Edge
    • Microsoft Internet Explorer 11 and later
    • Safari 8 and later. Note that Safari is not supported in private browser mode.
    • Virtual machine configurations
      • All Linux VM images are natively available in Google Cloud.
      • Connecting to an instance without a public IP address
      • Connecting to an instance with a private IP address
      • Connecting to an instance with a private IPv6 address

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

    Advertisement

    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.

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

    Install LAMP or LEMP on the new server before migration

    Installing a LAMP or LEMP stack on your new server before a Joomla migration to Google Cloud requires setting up Linux, a web server like Apache or Nginx, a database like MySQL or MariaDB, and PHP. Matching your exact previous software stack ensures your Joomla files and database run correctly without compatibility errors.

    Matching your original server packages prevents compatibility errors on the new host. Helpful posts exist for installing Apache, Nginx, MySQL, MariaDB, or PHP.

    You may want to use some other posts 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, use the identical posts mentioned above to install specific packages on your new server.

    Advertisement

    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

    Configuring your new Google server to match your current server means copying over exact web server folder structures, Apache Virtual Host or Nginx Server block rules, and PHP configuration settings. Matching these server parameters ensures your Joomla site functions identically in the new environment.

    📝Good to KnowEnsure 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/
    • Virtual Host configuration (Apache)
    • Server Block configuration (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.

    Advertisement
    • PHP directory: /etc/php/
    • PHP settings (e.g., memory_limit, upload_max_filesize)

    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/
    • MySQL/MariaDB configuration files
    • User privileges and grants

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

    Back up current server data and database before migration

    Backing up current server data and your database before a Joomla migration to Google Cloud involves downloading all website files and exporting a complete SQL database dump. This backup serves as a safety net so you can restore your Joomla site if any part of the cloud transfer fails.

    First, you need the Joomla website content and database content. Back up the website content as well as the content in the database.

    Advertisement
    ⚠️WarningStopping new changes before the Joomla backup ensures the backup accurately reflects the site's state at that specific moment.

    This prevents data discrepancies.

    Joomla content backup requires logging onto the server using SSH, a secure computer connection method. After connecting to the current server's SSH console, users run specific commands to back up Joomla content. This backup process targets the `/var/www/html/` directory, which typically stores website files.

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

    A database backup uses a root account or an account with full database access, ensuring all database information saves before migrating Joomla to Google Cloud. Joomla version 3.9 completed this migration process. This backup protects your data.

    Advertisement

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

    A file named `all_databases_backup.sql` creates a complete copy of all your website's data. Storing this backup file in the current working directory ensures immediate accessibility for the migration process.

    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

    Copying current server content to the new Google Cloud server is the next step. Users can transfer tar and SQL data files to the new server using several methods.

    Advertisement

    You can use the rsync command from the new server by SSHing it and a command similar 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.

    Secure Copy Protocol (SCP) securely copies Joomla website files, using encryption to protect website data during transfer. The SCP command `scp -r /path/to/local/joomla/files username@google_cloud_ip:/path/to/remote/directory` encrypts data during transit.

    💻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/
    💻Code
    scp -r username@current_server_ip:/path/to/joomla/files /path/to/destination/on/new/server

    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
    💻Code
    wget http://current_server_ip/path/to/joomla/files/current-server-backup.tar

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

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

    Restoring the current server's content to the Google Cloud server requires uploading your backed-up website files to the correct web root directory and importing your database SQL file into MySQL. This file transfer and database import makes your Joomla site live on your new virtual machine.

    🐧Bash / Shell
    tar -xvf current-server-content.tar
    sudo cp -rf /var/www/html/ /var/www/html/
    💻Code
    tar -xvf current-server-backup.tar
    mysql -u root -p database_name < all_databases_backup.sql

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

    Commands must run after copying server and database information to the Google Cloud server. These commands set correct file and folder permissions on the Google Cloud server. Setting these permissions ensures the Google Cloud server's settings match the original server's setup, preventing website access problems.

    Confirm that all website settings on your old server precisely match the settings on the new Google Cloud server before restarting the web server. This verification step ensures a smooth website transition and confirms that your Joomla migration is complete.

    🐧Bash / Shell
    sudo systemctl restart nginx
    sudo systemctl restart apache2
    🐧Bash / Shell
    sudo chown -R www-data:www-data /var/www/html
    sudo chmod -R 755 /var/www/html

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

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

    Updating your DNS and pointing your domain to your new Google server IP address requires logging into your domain registrar and changing the A record to match your Google Cloud static IP. This directs visitor traffic from your old host to your newly migrated Joomla site on Google Cloud.

    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.

    And that's how you migrate your Joomla site to Google Cloud.

    Conclusion:

    This Joomla migration guide explains how to move a Joomla website to a Google Cloud server. You can share feedback or report errors using the comment form located below the guide.

    ```

    A Joomla migration to Google Cloud moves your website files, database, and settings to Google's servers to improve speed and performance. Google Cloud Platform (GCP) provides a stable server environment with 99.9% uptime for your site.

    You can complete this entire server setup, file transfer, and domain update process in under an hour by following the steps below.

    ⚡ Quick Answer

    Migrate your Joomla site by first inventorying your current server for web server, database, and PHP versions. Then, set up your Google Cloud server via the Google Cloud Console. Finally, install LAMP or LEMP on your new server to match your current setup.

    Advertisement

    Taking inventory of a Linux server before migration

    Taking inventory of a Linux server before a Joomla migration involves checking your exact web server software, database version, and PHP setup. You need to record these exact package versions and service configurations from your old host so you can match them precisely on Google Cloud and prevent site errors.

    Gather the following information:

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

    If you're using Apache, here's how to check its version on Ubuntu.

    💻Code
    apache2 -v
    🐧Bash / Shell
    sudo apache2 -v

    For more in-depth checks and installation steps, check out this guide:

    How to check and install specific Apache versions on Ubuntu Linux

    If you're using Nginx, here's how to check its version on Ubuntu.

    💻Code
    nginx -v
    💻Code
    nginx -v

    For more in-depth checks and installation steps, check out this guide:

    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

    Setting up and connecting to your Google Cloud server requires creating a Compute Engine instance and using SSH (Secure Shell, a secure text-based command interface) directly from the Google Cloud Console. This gives you a secure command-line connection to build your new hosting environment.

    Compute Engine instances act as virtual computers for your site. The Google Cloud Console provides direct browser access via SSH (Secure Shell), a secure text-based command interface, within 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 is not supported in private browser mode.
      • Virtual machine configurations
        • All Linux VM images are natively available in Google Cloud.
        • Connecting to an instance without a public IP address
        • Connecting to an instance with a private IP address
        • Connecting to an instance with a private IPv6 address

      No additional software or browser extensions are needed. Log in 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

      Installing a LAMP or LEMP stack on your new server before a Joomla migration to Google Cloud requires setting up Linux, a web server like Apache or Nginx, a database like MySQL or MariaDB, and PHP. Matching your exact previous software stack ensures your Joomla files and database run correctly without compatibility errors.

      Matching your original server packages prevents compatibility errors on the new host. Helpful posts exist for installing Apache, Nginx, MySQL, MariaDB, or PHP.

      You may want to use some other posts 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, use the identical posts mentioned above to install specific packages on your new server.

      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

      Configuring your new Google server to match your current server means copying over exact web server folder structures, Apache Virtual Host or Nginx Server block rules, and PHP configuration settings. Matching these server parameters ensures your Joomla site functions identically in the new environment.

      📝Good to KnowEnsure 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/
      • Virtual Host configuration (Apache)
      • Server Block configuration (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/
      • PHP settings (e.g., memory_limit, upload_max_filesize)

      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/
      • MySQL/MariaDB configuration files
      • User privileges and grants

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

      Back up current server data and database before migration

      Backing up current server data and your database before a Joomla migration to Google Cloud involves downloading all website files and exporting a complete SQL database dump. This backup serves as a safety net so you can restore your Joomla site if any part of the cloud transfer fails.

      First, you need the Joomla website content and database content. Back up the website content as well as the content in the database.

      ⚠️WarningStopping new changes before the Joomla backup ensures the backup accurately reflects the site's state at that specific moment.

      This prevents data discrepancies.

      Joomla content backup requires logging onto the server using SSH, a secure computer connection method. After connecting to the current server's SSH console, users run specific commands to back up Joomla content. This backup process targets the `/var/www/html/` directory, which typically stores website files.

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

      A database backup uses a root account or an account with full database access, ensuring all database information saves before migrating Joomla to Google Cloud. Joomla version 3.9 completed this migration process. This backup protects your data.

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

      A file named `all_databases_backup.sql` creates a complete copy of all your website's data. Storing this backup file in the current working directory ensures immediate accessibility for the migration process.

      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

      Copying current server content to the new Google Cloud server is the next step. Users can transfer tar and SQL data files to the new server using several methods.

      You can use the rsync command from the new server by SSHing it and a command similar 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.

      Secure Copy Protocol (SCP) securely copies Joomla website files, using encryption to protect website data during transfer. The SCP command `scp -r /path/to/local/joomla/files username@google_cloud_ip:/path/to/remote/directory` encrypts data during transit.

      💻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/
      💻Code
      scp -r username@current_server_ip:/path/to/joomla/files /path/to/destination/on/new/server

      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
      💻Code
      wget http://current_server_ip/path/to/joomla/files/current-server-backup.tar

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

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

      Restoring the current server's content to the Google Cloud server requires uploading your backed-up website files to the correct web root directory and importing your database SQL file into MySQL. This file transfer and database import makes your Joomla site live on your new virtual machine.

      🐧Bash / Shell
      tar -xvf current-server-content.tar
      sudo cp -rf /var/www/html/ /var/www/html/
      💻Code
      tar -xvf current-server-backup.tar
      mysql -u root -p database_name < all_databases_backup.sql

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

      Commands must run after copying server and database information to the Google Cloud server. These commands set correct file and folder permissions on the Google Cloud server. Setting these permissions ensures the Google Cloud server's settings match the original server's setup, preventing website access problems.

      Confirm that all website settings on your old server precisely match the settings on the new Google Cloud server before restarting the web server. This verification step ensures a smooth website transition and confirms that your Joomla migration is complete.

      🐧Bash / Shell
      sudo systemctl restart nginx
      sudo systemctl restart apache2
      🐧Bash / Shell
      sudo chown -R www-data:www-data /var/www/html
      sudo chmod -R 755 /var/www/html

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

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

      Updating your DNS and pointing your domain to your new Google server IP address requires logging into your domain registrar and changing the A record to match your Google Cloud static IP. This directs visitor traffic from your old host to your newly migrated Joomla site on Google Cloud.

      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.

      And that's how you migrate your Joomla site to Google Cloud.

      Conclusion:

      This Joomla migration guide explains how to move a Joomla website to a Google Cloud server. You can share feedback or report errors using the comment form located below the guide.

      ```

    Was this guide helpful?

  • Was this helpful?
    Richard

    About the Author

    Richard

    Tech Writer, IT Professional

    Richard is a writer at Geek Rewind who turns complex IT tasks into clear, step-by-step guides. He draws on years of hands-on experience in system administration and enterprise IT operations, focusing on Windows, Linux and WordPress: the problems people actually run into, and the fixes that work. His server and WordPress guides come from systems he runs himself. Richard builds and maintains the platform behind Geek Rewind, from its Ubuntu servers and Nginx configuration to its custom WordPress plugins. Many new tutorials start with readers' questions, and he's always glad to answer them in the comments.

    Advertisement

    📚 Related Tutorials

    How to Create Your Website on Google Cloud Server
    Ubuntu Linux How to Create Your Website on Google Cloud Server
    Enable or Disable Spellcheck Assistance in Microsoft Edge
    Browsers Enable or Disable Spellcheck Assistance in Microsoft Edge
    How to Fix Microsoft Edge Not Opening on Windows 11
    Browsers How to Fix Microsoft Edge Not Opening on Windows 11
    How to Install Nginx on Ubuntu Linux
    Ubuntu Linux How to Install Nginx on Ubuntu Linux

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

    Leave a Comment

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