Articles in this section

How to make an in-place upgrade of a Plesk server from CloudLinux 7 to CloudLinux 8?

kb: how-to

Question

How to make an in-place upgrade of a Plesk server from CloudLinux 7 to CloudLinux 8?

Answer

We prepared a CLI script that in-place converts a CloudLinux 7 server with Plesk to CloudLinux 8.

Note: The script is based on the LEAPP modernization framework. The script includes additional repositories and configuration support provided by Plesk.

Note: If you'd like Plesk to assist with this task or handle it on your behalf, you can submit a request to the Plesk Professional Services team here: Plesk Professional Services - Administrative Services.

Limitations:

  • The script was not tested on other Red Hat Enterprise Linux 7-based distributions. Run only if the server is using CloudLinux 7.9.
  • The script is only compatible with the most recent five versions of Plesk. It will prevent conversion if the Plesk version is outdated.
  • PHP 5.5 and earlier are not supported in CloudLinux 8 and will not receive any updates after the conversion. These PHP versions are deprecated and may have security vulnerabilities. So we are forced to remove this version before the conversion.
  • Conversions inside containers (like Virtuozzo containers, Docker containers, etc.) are not supported.
  • More than one kernel-named interface (like ethX) is not supported. The stability of such names is not guaranteed, so LEAPP prevents the conversion in such cases.

Recommendations:

  • Ensure that you have a way to restart the server without a direct SSH connection. A serial port connection to the server can be used to monitor the status of the conversion process in real time and to reboot the server if necessary. Reach out to the hosting provider if required.
  • Create a server-wide backup in Plesk and/or create a server snapshot in advance so it can be used as a recovery point in case the convention process fails.

Conversion process:

Warning: Plesk services, hosted websites, and emails will be unavailable during the conversion process for about 30 to 60 minutes. Server is going to be rebooted, conversion automatically progresses after reboot.

Warning: The conversion process will not start if the Litespeed extension is installed. The extension must be removed before the conversion can continue.

  1. Connect to the server via SSH.
  2. Verify there is at least 5GB of free space on disk.

    # df -h

  3. Warning: Verify and disable custom repositories configured on the server. These repositories are known to cause issues due to potential scale of replacement of base packages. They are configured on /etc/yum.repos.d folder.

    1. Examples of repositories that should be enabled or disabled (via yum repolist enabled):

      ❌ Repositories that should be disabled:

      • city-fan.org
      • CentOS Plus
      • Remi Repository
      • RPMFusion
      • ELRepo
      • Software Collections (SCL)
      • IUS Community Repository

      ✅ CentOS official repositories

      • base/7/x86_64
      • extras/7/x86_64
      • updates/7/x86_64

      ✅ Repositories added by Plesk

      • epel/x86_64
      • PLESK_17_PHP
      • PLESK_18_0_66-extras
      • imunify360
      • imunify360-rollout
  4. Download and prepare the script with the latest instructions of the Using the script section of the repository README:
  5. Run the script:

    # ./cloudlinux7to8

    • Perl modules installed via CPAN are not supported. To forcefully remove them during the conversion, append the '--remove-unknown-perl-modules' flag:

    # ./cloudlinux7to8 --remove-unknown-perl-modules

    • If PostgreSQL version <13 is installed, is recommended to upgrade it prior to starting conversion. Alternatively, use the --upgrade-postgres flag to upgrade PostgreSQL during the conversion:

    # ./cloudlinux7to8 --upgrade-postgres

    Note: flags can be combined if both of the above is the case:

    # ./cloudlinux7to8 --upgrade-postgres --remove-unknown-perl-modules

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.