This article explains how you can safely and efficiently replace outdated operating systems on IONOS VPS with newer versions.

Security is not an optional feature

Running an outdated operating system (e.g. Microsoft Windows Server 2012, Debian 9, or CentOS 7) is associated with considerable risks:

  • Security risks: Without security patches, known vulnerabilities (CVEs) are open. Ransomware attacks prefer to attack unpatched systems.
  • Compliance breach: GDPR mandates the use of state-of-the-art technology. An operating system without manufacturer support no longer fulfils this requirement.
  • Performance & incompatibility: New hardware features of the IONOS platform (e.g. modern CPU instruction sets, NVMe optimisations) are often not supported. In addition, modern web server or database versions can no longer be installed.

List of the recommended steps in short form

To ensure that the installation of the new operating system and the migration of your data is successful, we recommend that you plan the procedure carefully. The necessary steps are listed briefly below, and then explained in detail further in the article.

  • Create a local backup of the data.
  • Install the new operating system.
  • Install the required applications (web server, database services, etc.).
  • Configure the required services, firewall settings, roles, and rights. If necessary, adjust any additional settings.
  • Copy the backed up data to VPS.
  • Configure the migrated applications and integrate SSL certificates.
  • Test all projects and services with a subdomain or another top-level domain that is not used for live operation.
  • Ensure that your applications and scripts function correctly.

Prepare migration

To reduce the effort and minimise the resources required, we recommend that you clean up the VPS you are currently using in advance. To do this, remove unnecessary or outdated pages, backups, and files that are no longer required. This will reduce the amount of data and the time required.

  • Inventory: Create a list of the websites, databases, applications, folders, and files that need to be migrated.

    If you are using Linux, you can use the appropriate command to output a list of manually installed packages to a text file:

    Debian/Ubuntu

    apt-mark showmanual > my_packages.txt

    RHEL/Rocky/Alma

    dnf repoquery --userinstalled > my_packages.txt

    Microsoft Windows Server

    • Press the Windows Key + R on your keyboard to open the Run dialog.

    • Type appwiz.cpl and press Enter.
      This opens Programs and Features, which lists all installed desktop applications. Take note of the list of installed programs.

    • Click on the Server Manager application in the Windows taskbar to open it.

    • Click on Manage > Remove Roles and Features in the menu at the top. The list of installed Windows Server roles, features, and applications are listed. Take note of the list of installed items.

  • Configuration check: Check your individual configuration and make a note of all the settings that need to be made in the new operating system.

  • External connections: Make a note of access data for external databases, cache servers, or proxies. It is advisable to change these in the course of the operating system change.

In the following article you will find instructions on how to determine and migrate the required website files: VPS: Manually backing up website data and importing it after reinstalling the operating system

Caution

It is recommended to migrate your existing server data to a new server (e.g., a newly ordered/created VPS) while keeping your existing server active. This way, if setup, migration, or configuration of the new server takes longer than expected, you don't have to worry about excess downtime as your existing server remains available.

You can find our latest VPS deals here: https://www.ionos.co.uk/servers/vps

You can find out more information on migrating websites to a new Linux server in the following article: Manually migrating websites to a new server (Linux)

If instead, you decide to reimage your existing server with a newer operating system, all data that exists on the VPS will be irrevocably deleted.

Create a backup of the data to be migrated

If you decide to install a new operating system on your existing VPS, all data will be lost without a backup. Before you reinstall the system, you must back up your data. Before you create the backup archive, you must export the databases, as copying the current database files will lead to errors.

Option 1: Local backup

How to save a backup of your server data on your local computer is explained in the following articles:

Microsoft Windows Server: Moving files via Remote Desktop

Linux Server: Create a tar backup: How the archiving works (IONOS Digital Guide)

Saving website files and databases locally

The following article explains how to export a MySQL database. It also explains how to save your website files and the exported MySQL database locally: VPS: Manually backing up website data and importing it after reinstalling the operating system

Option 2: Backup with Cloud Backup

Alternatively, you can use Cloud Backup to create a backup of your data and then restore it after installing the operating system on VPS.

You can find information on Cloud Backup in the following articles:

Cloud Backup: First steps

Restoring backups

Migration from Plesk

If you use Plesk, you can find information on migrating hosting data in the manufacturer's articles.

If you're migrating from one Plesk server to another server with Plesk:

Migrating from Supported Hosting Platforms

If you're migrating (or reimaging) from a server without Plesk to a Plesk server:

Migrating from Custom Hosting

Step-by-step instructions for reinstalling the operating system

You can find instructions on how to install a new server operating system image in the following article: Reinstalling image (VPS)

Install applications and configure VPS

Install the required applications and packages on the VPS. Then, configure the required services, firewall settings, as well as the roles and rights in the operating system. Make any other necessary adjustments.

Copy data to the VPS

Copy your backed-up data to your VPS and import the backed-up database.

Copying data between two Linux operating systems

You can use the following command to copy a directory located on your original server (or local Linux PC) to your VPS:

[root@localhost ~]# scp -P [Port] -r /LOCAL/DIRECTORY remote_username@SERVERIP:/DIRECTORY_ON_THE_SERVER

Example:

[root@localhost ~]# scp -P 22 -r /home/backup root@217.160.44.208:/home

To copy a single file, enter the following command:

[root@localhost ~]# scp -P [port] /DIRECTORY/FILE_NAME remote_username@SERVERIP:/DIRECTORY_ON_THE_SERVER

Example:

[root@localhost ~]# scp -P 22 /home/test.txt root@217.160.44.208:/home

Note

If scp is not found, you can install the program with the following command:

AlmaLinux and Rocky Linux

[root@localhost ~]# sudo dnf install openssh-clients

Debian/Ubuntu

[root@localhost ~]# apt -y install openssh-client

If you have backed up your data with tar, you can copy the files to your VPS using an FTP program, for example. You can then unpack the archive files.

You can find more information about tar in the following article: Create a tar backup: How the archiving works (IONOS Digital Guide)

Copying data from Microsoft Windows or Windows Server to a Linux VPS

If you are copying files from Microsoft Windows or Windows Server, you can transfer the files easily and conveniently using the WinSCP program. WinSCP is a graphical open source SFTP and FTP client for Microsoft Windows. You can download WinSCP from the following URL: https://winscp.net/eng/download.php

Copying data from Microsoft Windows to a Microsoft Windows Server VPS

You can find instructions on how to use Remote Desktop to copy files between two Windows operating systems in the following article: Moving files via Remote Desktop

Importing a MySQL database

You can find instructions on how to import a MySQL database in the following article: VPS: Manually backing up website data and importing it after reinstalling the operating system

Configure and test applications

After you have copied your data to a VPS, carry out the following steps:

  • SSL certificates: Reintegrate your certificates (e.g. via Let's Encrypt or IONOS SSL).
  • Services check: Restart Apache, Nginx, or IIS and check the status logs for errors.
  • Connection to external databases, cache and proxy servers: Establish the connection to external databases, cache, and proxy servers.
  • Function test: Test all services with a subdomain or an alternative top-level domain. Also ensure that your applications and scripts function correctly.