As of Parallels Plesk Panel (PP) version 10.4, you no longer have to manually download this script; it will automatically be downloaded before an upgrade. You can find the script here: "/root/parallels/PSA_10.4.4/examiners/panel_preupgrade_checker.php" on Linux and in "C:\ParallelsInstaller\parallels\PANEL-WIN_10.4.4\panel_preupgrade_checker.php_" on Windows
If you have the 10.4 version of PP and want to run this script manually, you can download and run it as it is described in the "HOW TO USE" chapter.
Due to the changes in the business model of the Parallels Plesk Panel 10.x release, not all previous account settings will be transferable from previous PP releases. Some business schemas will be lost for both the host and their clients.
Attached is a script that allows you to check the environment before an upgrade or migration. It checks for business logic issues and works for both the Linux and Windows platforms. This tool could be launched prior to an upgrade in order to obtain a report on potential problems with the upgrade. Based on the report, a host can decide whether an upgrade to Parallels Plesk Panel 10.x is suitable for their situation. We will continue working on the script to add more issues as they are discovered.
Note: We also have a post-upgrade script. Detailed information on this script can be found in the article Parallels Plesk Panel Post-Upgrade Checker.
How to use
php -d safe_mode=Off plesk101_preupgrade_checker.php <plesk-db-admin-password>
"%plesk_dir%\Additional\pleskphp5\php.exe" -d safe_mode=Off plesk101_preupgrade_checker.php <plesk-db-admin-password>
plesk104_preupgrade_checker.php - for upgrade to Plesk version 10.4.
plesk110_preupgrade_checker.zip - for upgrade to Plesk version 11.0.
plesk115_preupgrade_checker.zip - for upgradewh to Plesk version 11.5.
Report Content Clarification
At the beginning of the report, we give a general overview of the changes that a host should expect from the upgrade.
In Parallels Plesk 10.x, a host and resellers define service plans and subscribe customers to these plans. A subscription has assigned resource limits, which can be used by the customer for web and mail hosting. Unlike in previous PP versions, no resources are directly owned by a customer outside of a subscription. During an upgrade to PP 10.x, each domain will be converted to a subscription.
This report gives an overview of potential problems you may encounter during a transition to the Parallels Plesk 10.x model.
The script will report on the following problems:
|Diagnosed Situation||Report Message|
|Clients owned by Administrator|
- Client limit has more than one domain.
- Client can create domains.
- Client can manage domain limits.
You have "N" Clients who are free to manage resources on their domains themselves within the resource limits that you gave them. In PP 10, the resources are defined in a subscription. The Customer cannot redistribute resources between his/her subscriptions.
If you want to retain the same degree of flexibility for these Customers, you should consider converting them to Resellers after the upgrade.
|Client has created Domain Administrators for several domains.||
You have "N" Clients with Domain Administrators defined on more than one domain. After transitioning, these Clients will have problems because in PP 10, users belonging to a Customer have access to all of the Customer's subscriptions.
You will avoid the problem if, after the upgrade, Clients are upgraded to Resellers and Domain Administrators to Customers.
|- Client has no domains.||
You have "N" Clients with no domains defined. After transitioning, these Clients will not be able to log in to the control panel until you create a subscription for them.
An alternative solution is to upgrade them to Resellers after conversion.
|Clients owned by Resellers|
- Client limit has more than one domain.
- Client can create domains.
- Client can manage domain limits.
You have "X" Resellers with "N" Clients who are free to manage resources in their domains themselves within the resource limits that you gave them. In PP 10, the resources are defined in a subscription. The Customer cannot redistribute resources between his/her subscriptions.
After the upgrade, it is suggested that you redistribute Clients' resources between the existing subscriptions (current domains).
|Client has created Domain Administrators for several domains.||
You have "X" Resellers with "N" Clients with Domain Administrators defined on more than one domain. After the transition, these Clients will have problems because, in PP 10, users belonging to a Customer have access to all of the Customer's subscriptions.
You should probably consult with your Resellers regarding the path forward for these Customers.
|Resellers have Clients with domains.||You have "X" Resellers with "N" Clients that have no domains defined. After the transition, these Clients will not be able to log in to the control panel until you or the Reseller creates a subscription for them.|
|Domain Administrators owned by Host|
|There is more than one domain belonging to an Admin with defined Domain Administrators.||You have "N" domains with separate Domain Administrators. In PP 10, these users will see all of your domains. You should consider converting them to Customers after the upgrade to avoid a security problem.|
|Domain Administrators owned by Resellers|
|There is more than one domain belonging to Resellers with defined Domain Administrators.||You have "X" Resellers with "N" domains with separate Domain Administrators. In PP 10, these users will see all of the domains of their Resellers. You should consider converting them to Customers after the upgrade to avoid security problems.|
- Application Vault is not empty on the server.
- Clients have Application Pools that are different from the Application Vault, i.e., not all applications from the Vault are present in the Pools.
|You have "N" Clients with not-empty Application Pools that differ from the server Application Vault. In PP 10, you will not be able to manage the list of applications Customers have access to until the PP 10.1 release.|
|Accounts with encrypted passwords|
|There is at least one encrypted password used in PP.||There are "N" accounts with encrypted passwords.|
|Domains with non-existent owners|
|There is an inconsistency in the database. Some domains are assigned to owners that do not exist.||You have "N" domains whose owners do not exist.|
|A User has the same contact email address as an existing mail account|
|User can't change their own contact data.||A User "login" has an email account "e-mail" as a contact email address. Another user has the same email account as a contact email address. Please check http://kb.parallels.com/en/112032 for more details.|
On Debian-like OSes, PP is installed in the /opt/psa folder. To keep the same option with PP on RedHat-like and Debian-like OSes, PP creates a symbolic link, /usr/local/psa, on /opt/psa on Debian-like OSes.
Symlink /usr/local/psa can disappear or become a directory.
|The symbolic link /usr/local/psa doesn't exist. Read the article http://kb.parallels.com/en/112214 to fix the issue.|
|An outdated version of the file iisfcgi.dll on Windows 2008 R2 may be a cause of PHP, as the FastCGI mode will not work on a domain.||The file "iisfcgi.dll" version "VERSION" is outdated. Please refer to the article http://kb.parallels.com/en/112606 for details.|
|System users for subdomains and for web users will not have their own hard disk quota limits after upgrading to Plesk versions above 10.4.4.||You have several subdomains or web users with a hard disk quota limit. After upgrading, these users will inherit a hard disk quota from the domain. Please check http://kb.parallels.com/en/111823 for details.|
|Immutable attribute on Plesk files can interrupt upgrade.||An immutable attribute on Plesk files is detected. Please check http://kb.parallels.com/115457 for details.|
|If it's impossible to read, write, or change the owner or group inside of the DUMP_D folder (by default, /var/lib/psa/dumps), the upgrade procedure will fail.||It is not possible to change the file owner of a file group in the /var/lib/psa/dumps folder. The upgrade process will fail. Please check http://kb.parallels.com/116353 for details.|
|Check that microupdates.xml is available via the path /root/.autoinstaller/microupdates.xml.||After upgrading, Plesk will always report that new updates are available because the user root has a home folder that is not in "/root." Please check http://kb.parallels.com/116192 for details.|
|Check that the registry.xml is not empty.||The license key is invalid or the file "$file" has been corrupted. Please check http://kb.parallels.com/113381 for details.|
|- The upgrade fails if the table "mysql.servers" does not exist.||The table "servers" in the database "mysql" does not exist. Please check http://kb.parallels.com/en/112290 for more details.|
|- It is not possible to connect to the local MySQL server via TCP/IP.||You are unable to connect to the local default MySQL server at 127.0.0.1 and port 3306. Read the article http://kb.parallels.com/en/112212 for details.|
|- If MySQL server works in strict mode.||Please switch off strict mode for the MySQL server. Read the article http://kb.parallels.com/en/112453 for details.|
|- Third-party software can replace the "libmySQL.dll" file, which is used by PP for accessing the MySQL server.||A custom version of "libmySQL.dll" is installed at "PATH." Please check http://kb.parallels.com/en/112521 for more details.|
|- The PP MySQL user root doesn't have access to phpMyAdmin.||You have the user "LOGIN" for the database "DATABASE NAME" on the domain "DOMAIN NAME," which probably does not have access to phpMyAdmin. Please check http://kb.parallels.com/en/112779 for more details.|
|- The upgrade fails if the "mysql-server" package is installed from the REMI repository.||There is a "mysql-server" package installed on the server from the REMI repository. This may lead to upgrade failure. Please see http://kb.parallels.com/en/114306 for the solution.|
|- Checking the local MySQL server's datadir directory location on Windows||The datadir directory of a local MySQL server is located outside of "%plesk_dir%\Databases\MySQL\Data." This may cause problems with this MySQL server after the upgrade. Please check http://kb.parallels.com/en/114723 for details.|
|- The aps utility throws the error message "Package with UID "not found."||There is a misconfiguration for several APS packages. Please check http://kb.parallels.com/112568 for details.|
|- Incorrect name of permission for antivirus management can lead to migration errors.||There is an incorrect permission name for antivirus management in the Plesk database. Please check http://kb.parallels.com/111777 for details.|
|- The IP address that is registered in PP does not exist in the system.||
An IP address, "IP," with the "Mask" "netmask" that is registered in PP but does not exist on a system level can lead to errors during a PP upgrade procedure.
If this IP or netmask is registered incorrectly, you can change or repair it according to the documentation.
|- The list of applications cannot be displayed if the corresponding record is absent in the "IP_addresses" table.||Unable to find the "main" IP address in the psa database. Please check http://kb.parallels.com/en/112417 for more details.|
|- There is no binding of the SmarterMail port on the IP address registered in PP.||It is not possible to connect to the IP address "IP" on SMTP port 25: "ERROR MESAGE."|
|- The upgrade procedure from the old version to the new one can fail.||Your autoinstaller version "version" is outdated. Please refer to the article http://kb.parallels.com/en/112166 on how to obtain the latest version of the autoinstaller.|
- Using third-party ISAPI filters can lead to incorrect PP operation.
||Please read the article http://kb.parallels.com/en/111908 to avoid possible problems caused by third-party ISAPI filters.|
|- Starting from version 10.3.0, the custom per-domain "php.ini" file resides in the "/var/www/vhosts/DOMAINNAME/etc/" directory.||Move the custom "php.ini" file from "/var/www/vhosts/DOMAINNAME/conf/" to the "/var/www/vhosts/DOMAINNAME/etc/" directory after the upgrade. Refer to http://kb.parallels.com/en/111697 for details.|
|- Windows authentication for the PleskControlPanel website should be enabled to prevent possible errors in PP operation.||Windows authentication for the PleskControlPanel website is disabled. Check http://kb.parallels.com/en/113253 for more details.|
|- Incorrect GUI behavior occurs if the forwarding URL doesn't have "http://" after upgrading to a PP version above 10.4.4.||There are domains registered in PP in which the URL does not have the "http://" prefix. Such domains will not be shown on the Domains page. Check http://kb.parallels.com/en/113359 for more details.|
|- Wrong order of loading Zend extensions' ionCube declaration in "php.ini" can cause to Apache fail.||The server-wide "php.ini" file contains the declaration of the ZendOptimizer extension. As a result, the Apache server may fail to start after the upgrade. Please check http://kb.parallels.com/en/1520 for more details.|
|- Checking for IP address references in the PP database||There are a number of domains that are not associated with any IP address. This may be caused by an error in the IP address database. Please check http://kb.parallels.com/en/113475 for details.|
|- Broken contexts of the APS applications can lead to errors on building the Apache webserver configuration.||References between several subscriptions and APS applications have been broken. Please check http://kb.parallels.com/en/112815 for details.|
|- Apache webserver reconfiguration fails if there are broken references in the PP database between IP collections and IP addresses for some domains.||References between some IP collections and IP addresses have been broken. Please check http://kb.parallels.com/en/113826 for details.|
|- The customized parameters "http_port" and "https_port" in the misc table of the psa database can lead to incorrect operation of Apache + Nginx in Plesk 11.||Custom configuration of Apache ports is present in the misc table. It may lead to problems if nginx is installed on server. Please check http://kb.parallels.com/en/114598 for more details.|
|- Check the availability of the IIS metabase.||There are too few websites registered in IIS. Please check IIS configuration.|
|- Broken references between the "domains" and "hosting"/"forwarding" tables in the Panel database lead to errors on building web server configs.||There are broken references in the database between the "domains" and "hosting"/"forwarding" tables. Please check http://kb.parallels.com/114632 for instructions and /root/plesk11_preupgrade_checker.log for details.|
|- If a regular file is placed instead of symbolic links to the latest virtual hosts, it can lead to errors on building web server configs.||There are regular files in place of future symbolic links to the latest virtual host configuration files. This can lead to webserver configuration file generation failures. Please check http://kb.parallels.com/114556 and /root/plesk11_preupgrade_checker.log for details.|
|- There are broken references between domains and domain owners.||There are broken references in the database between the domains and domains owners. Please check http://kb.parallels.com/114835 for instructions and plesk11_preupgrade_checker.log for details.|
- There is a broken reference between a domain and the domain's owner.
||There are broken references in the database between the domains and domains owners. Please check http://kb.parallels.com/114835 for instructions and plesk11_preupgrade_checker.log for details.|
|- Use of unsupported installations or a mix of several different installations of Microsoft Visual C++ Redistributable Packages can lead to a broken upgrade.||Please carefully read the article http://kb.parallels.com/en/111891 to avoid possible problems caused by Microsoft Visual C++ Redistributable Packages.|
|- If the MySQL ODBC driver 3.51 is not installed, the upgrade can fail.||MySQL ODBC 3.51 Driver is not installed. Please check http://kb.parallels.com/en/112019 for details.|
|- .NET framework issue may cause the upgrade to fail.||An issue with a .NET framework has been detected. Check http://kb.parallels.com/en/111448 for the resolution.|
|- "/etc/drweb/drweb32.ini" file content will be restored to default during an upgrade.||Custom changes in "/etc/drweb/drweb32.ini" will be overwritten. After the upgrade, you should apply the changes described in http://kb.parallels.com/en/111347 manually.|
|- After the upgrade, PP changes permissions on the folder of Collaboration Data Objects (CDO) for NTS (CDONTS) to default.||After the upgrade, you must add write permissions to the psacln group on the "PATH" folder. Please check http://kb.parallels.com/en/111194 for more details.|
|- Check that non-existent PAM services are not referenced by other services, i.e., that the PAM configuration array is consistent.||The PAM configuration array on this system appears to be in an inconsistent state. If you proceed with the installation, the required PAM modules will not be installed and the upgrade procedure may fail. Some PAM services reference the following non-existent services: "LIST"|
|- RedHat has not provided the mcrypt module for php53.||The Mcrypt library is not supported in PHP 5.3 for CentOS 5 and RedHat 5. Check the article http://kb.parallels.com/en/112098 for more details.|
|- If Health Monitor is installed, the sw-collectd process periodically consumes a lot of CPU time.||Much CPU time can be consumed if the default value of the "Interval" setting used in "/etc/sw-collectd/collectd.conf." Please check http://kb.parallels.com/en/113711 for details.|
|- DotNetNuke application may not work if .NET Framework version 3.5 or higher is not installed on the server.||The DotNetNuke application has been installed on one of the domains but may not work because .NET Framework 3.5 or above is not installed. Please check http://kb.parallels.com/112803 for details.|
- Unable to activate the MagicSpam license; get the following error in the "Control panel Home-" Extensions Management" and panel.log:
Error retrieving version from Plesk API: Permission denied
|Admin's ID in "clients" table is not "1." Please check http://kb.parallels.com/115001 for details.|
|- PP 10 Gene6 and Serv-U FTP servers are unsupported in the current PP installation.||Since Parallels Plesk Panel version 10, the Gene6 and Serv-U FTP servers are no longer supported. Please check http://kb.parallels.com/en/111894 for more details.|
|- PP version 10 does not support hMailserver.||PP version 10 does not support hMailserver. Please check http://kb.parallels.com/en/9602 for more details.|
|- PP version 10 does not support Simple DNS servers.||
Since Parallels Plesk Panel version 10, Simple DNS servers are no longer supported. Please check http://kb.parallels.com/en/112280 for more details.
|- PP version 10 does not support MDaemon.||PP version 10 does not support MDaemon. Please check http://kb.parallels.com/en/112356 for more details.|
|Accounts with same email|
|- After an upgrade from version 8.x or 9.x, a Client can appear with the same email as the Admin.||Please check http://kb.parallels.com/en/111985 for details.|
|Customer and Business Manager|
|- An incorrect hostname of a server can be detected during installation, and it can be used for integration with the Customer and Business Manager.||If you have trouble accessing the Customer and Business Manager, please read this article: http://kb.parallels.com/en/111500.|
|- Customer and Business Manager cannot be used after an upgrade to Parallels Plesk Panel 10.2.||If you have not purchased the Customer and Business Manager License, you cannot use it after the upgrade. Read the article http://kb.parallels.com/en/111143 for more details.|
|- It is not clear how to change the password for a mailbox after an upgrade to Parallels Plesk Panel version 10.x.||You have "X" mailbox users that will be converted to subscription-level auxiliary users after upgrading to PP 10. Learn how to change the passwords for such users in http://kb.parallels.com/en/9454.|
|- Check domain names and mailboxes that are not in lowercase.||There are Plesk entities with names that are not stored in lowercase. Please check http://kb.parallels.com/en/5780 and /root/plesk11_preupgrade_checker.log for details.|
|- The SSO startup script has an incorrect execution priority after the upgrade.||The SSO startup script has an incorrect execution priority. Please read http://kb.parallels.com/en/112666 for more details.|
|- Check the availability of Parallels Plesk Panel TCP ports.||It is not possible to connect to the IP address "IP" on "SERVICE" "PORT NUMBER" because of a time-out. It is not possible to connect to some PP ports. See the "PATH TO LOG FILE" and http://kb.parallels.com/en/391 for details.|
|- Upgrade of Customer and Business Manager will fail if Admin's access for IP 127.0.0.1 is prohibited.||Upgrade of Customer and Business Manager fails if 127.0.0.1 is restricted from administrative access. Please read http://kb.parallels.com/en/113096 for more details.|
|- There is a notification about subdomains having their own DNS zones after an upgrade.||Since 10.4, after an upgrade, every subdomain will have its own DNS zone. Read the article http://kb.parallels.com/en/112966 for more details.|
|- Error occurs during an upgrade of IDN subdomains.||You have several IDN subdomains. These subdomains will be upgraded with errors. Please check http://kb.parallels.com/en/114082 for details.|
- Some subdomains are not visible in Plesk Panel after an upgrade procedure.
If you try to delete a domain, you see an error message like "Missing parameter 'dirname' or previous parameter is empty."
|Some subdomains were not correctly upgraded during the Plesk upgrade to 10.4.4 procedure. Please check http://kb.parallels.com/115285 for details.|
|- Check that the limits are not exceeded in "/proc/user_beancounters."||The Parallels Virtuozzo Containers limit "LIMIT NAME" was exceeded "N" times. Limits set by Parallels Virtuozzo Containers are exceeded. Please check http://kb.parallels.com/en/112522 for more details.|
|- Check that there is enough free memory to perform the upgrade procedure.||There is a lack of free memory to perform the upgrade procedure. At least 200MB of free memory is required. Current free space: "N" KB.|
|- PHP on a domain running via CGI/FastCGI can't use a session by default.||PHP on domains running via CGI/FastCGI can't use a session by default because of permission restrictions for the session directory "PATH". Please check http://kb.parallels.com/en/7056 for more details.|
|- The JkWorkersFile directive in the Apache configuration can lead to failed Apache configs re-generation during and after the upgrade procedure.||The JkWorkersFile directive may cause problems during the Apache reconfiguration after the upgrade. Please read http://kb.parallels.com/en/113210 for more details.|
|- An outdated mysqlclient15 package can lead to an upgrade failure.||An old version of mysqlclient15 is installed, which can lead to an upgrade failure. You can apply the workaround from the article http://kb.parallels.com/en/113737.|
|- An old version of the MySQL ODBC package can lead to a memory allocation error.||An old version of "PACKAGE" is installed. Please check http://kb.parallels.com/en/113620 for details.|
|- Customized DNS records with a host equal to the host of an existing subdomain will be lost after an upgrade to a PP version above 10.4.4.||There are a number of DNS records for the subdomains that you have manually added to domain DNS zones. If you upgrade to PP 10.4.4, these records will be lost. Read http://kb.parallels.com/en/113310 for more details.|
|- Customized DNS zones can be corrupted during the upgrade.||A or AAAA records in DNS zones will be modified or deleted after the upgrade. Please check http://kb.parallels.com/en/113725 and /root/plesk10_preupgrade_checker.log for details.|
|- If there is no execute permission on the named(bind) init file, the upgrade will fail.||There is no execute permission on the /etc/init.d/named file, which can lead to an upgrade failure. You can apply the workaround from this article: http://kb.parallels.com/en/113733.|
|- If there is no NS type record in the server's DNS template, it can break BIND server configuration.||There is no NS type record in the server DNS template, and this can break BIND server configuration. Please check http://kb.parallels.com/en/113119 for details.|
|- Check for DNS zones that will not get fixed references with the DNS template on upgrade from Plesk 10.4.4 to Plesk 11.0.||Several DNS zones will be not synchronized with the DNS template. Please check http://kb.parallels.com/en/114324 and /root/plesk11_preupgrade_checker.log for details.|
|- If DUMP_TMP_D in "/etc/psa/psa.conf" contains an extra space at the end, the string backup procedure will fail permanently.||The DUMP_TMP_D variable in "/etc/psa/psa.conf" contains odd characters. This can cause backup tasks to fail on this server. Please read http://kb.parallels.com/113474 for details.|
|- Due to an error in the Plesk 10.0.1 version, when you try to restore backups from the Plesk 10.0.1 version on Plesk 11, you may see error messages about some files already existing. This error does not have any negative consequences and will not occur for backups from the Plesk 11 version.||Error messages can appear on restoring backups created in Plesk 10.0.1. Please check http://kb.parallels.com/en/114041 for details.|
|- If there are clients with empty login names, backups and migrations will fail.||There are clients with empty login names. This can break backups/migrations. Please see http://kb.parallels.com/en/114835 for the solution.|
|- The FTP service proftpd cannot be started by xinetd if IPv6 is disabled.||The proftpd FTP service will fail to start if support for IPv6 is disabled on the server. Please read http://kb.parallels.com/en/113504 for details.|
|- PP doesn't bind SmarterMail 8 ports on new IPs.||SmarterMail is unable to use some of the IP addresses because they are not associated with the SmarterMail ports. Please read http://kb.parallels.com/en/113330 for details.|