Plesk

Plesk extensions are malfunctioning: Error in line 74: local complex type: The content model is not determinist.

Symptoms

Cause

The packages libxml2-2.12.1-1.0.cf.rhel7.x86_64, libcurl-8.2.1-4.0.cf.rhel7.x86_64 and python2-libxml2-2.12.1-1.0.cf.rhel7.x86_64 have been updated from a custom repository CityFan. These packages are not supported by Plesk.

Resolution

Downgrade the packages to a supported version that comes from default OS .

  1. For safety reasons, create a snapshot of the server

  2. Connect to the Plesk server via SSH

  3. List the yum operations related to the mentioned packages, e.g.:

    # yum history list libxml2
    Loaded plugins: fastestmirror, priorities
    ID | Login user | Date and time | Action(s) | Altered
    -------------------------------------------------------------------------------
    578 | root <root> | 2023-12-02 16:47 | I, O, U | 54
    2 | 1000 | 2022-06-16 09:43 | I, U | 5
    1 | System <unset> | 2022-06-16 09:36 | Install | 252
    history list

    # yum history list python2-libxml2
    Loaded plugins: fastestmirror, priorities
    ID | Command line | Date and time | Action(s) | Altered
    -------------------------------------------------------------------------------
    578 | update | 2023-12-02 16:47 | I, O, U | 54
    history list

  4. Undo the update using the ID:

    # yum history undo 578

 

If yum history undo operation fails, try:

  1. Disable CityFan repos:

    # grep -Ril city-fan /etc/yum.repos.d/ |xargs -i mv {} ~

  2. Download packages from epel/updates:

    # mkdir ~/epelXml && cd ~/epelXml
    # yum makecache
    # curl -LO http://mirror.centos.org/centos/7/os/x86_64/Packages/libxslt-1.1.28-6.el7.x86_64.rpm
    # curl -LO http://mirror.centos.org/centos/7/updates/x86_64/Packages/libxml2-2.9.1-6.el7_9.6.x86_64.rpm
    # curl -LO http://mirror.centos.org/centos/7/os/x86_64/Packages/libcurl-7.29.0-59.el7.x86_64.rpm
    # curl -LO http://mirror.centos.org/centos/7/updates/x86_64/Packages/libxml2-python-2.9.1-6.el7_9.6.x86_64.rpm

  3. Remove the packages installed from CityFan repo:

    # printf "libxml2npython2-libxml2nlibxsltn" |xargs -i rpm -e --nodeps {}

  4. Manually install the downloaded packages from epel/updates(libxml2, libxml2-python, libxslt):

    # ls |xargs -i rpm -ivh {}

  5. Restart the Plesk services:

    # service sw-cp-server restart && service sw-engine restart

Exit mobile version