There are some technical problems with the Plesk Migrator tool if it's being used to migrate a domain from a 'higher tier' version of plesk to a 'lower tier' one; from a shared hosting server to a private hosting server that's only serving one domain and thus only requires the web admin edition. It appears to me that the Migrator isn't written to be aware of the fact that multiple license versions exist.
I tried 'repairing' the php-fpm settings via the command line utility, but this fails to find any problems.
Thankfully for me, the CLI tools show that under the hood, the actual plesk binary is roughly the same. It still works with 'subscriptions', even though those are now invisible in the UI. Rather than these not existing at all, they exist 'in the background' (possibly all assigned to be some variant of the basic 'unlimited' sub).
This can be a problem when settings are migrated from older OS to newer OS in at least one case (possibly there could be more problems with other things that are assigned per subscription in the web host edition): PHP handlers. This manifests itself as follows: When sending a HTTP request for any regular file on any vhost, the file is returned as normal. However, any PHP script will return a 404, and not the default 404 handler page either, but a mysterious page I can't seem to find on the OS that just contains "File not Found" in text, and nothing else.
It's not the default apache 404, nor the Plesk 404, which is what I found so strange about that.
The issue is with the way plesk mangles the config files. It can't connect everything together. I tried manually trudging through them, but between the complexity of the setup and the outdatedness of many of the online documentation, I gave up after a few hours of digging, and went in a different direction, which is where I found out that, while subscriptions are hidden in the web UI, the command line is much more lenient, and basically still full-featured.
This ends up restoring PHP functionality.
I still don't quite know what was happening in the details though, or why this works.
Note: There may be more severe problems with the migrator if it is indeed the case that it's agnostic to the whole 'different subscription tiers' thing in that one could potentially circumvent said tiers' restrictions by using the plesk CLI and/or the migrator in some clever way when running multiple Plesk servers.
I tried 'repairing' the php-fpm settings via the command line utility, but this fails to find any problems.
Thankfully for me, the CLI tools show that under the hood, the actual plesk binary is roughly the same. It still works with 'subscriptions', even though those are now invisible in the UI. Rather than these not existing at all, they exist 'in the background' (possibly all assigned to be some variant of the basic 'unlimited' sub).
This can be a problem when settings are migrated from older OS to newer OS in at least one case (possibly there could be more problems with other things that are assigned per subscription in the web host edition): PHP handlers. This manifests itself as follows: When sending a HTTP request for any regular file on any vhost, the file is returned as normal. However, any PHP script will return a 404, and not the default 404 handler page either, but a mysterious page I can't seem to find on the OS that just contains "File not Found" in text, and nothing else.
It's not the default apache 404, nor the Plesk 404, which is what I found so strange about that.
The issue is with the way plesk mangles the config files. It can't connect everything together. I tried manually trudging through them, but between the complexity of the setup and the outdatedness of many of the online documentation, I gave up after a few hours of digging, and went in a different direction, which is where I found out that, while subscriptions are hidden in the web UI, the command line is much more lenient, and basically still full-featured.
Code:
domainName="acme.com"
phpversion="plesk-php84-fpm"
plesk bin subscription -u $domainName -php true
plesk bin subscription -u $domainName -php_handler_id $phpversion
This ends up restoring PHP functionality.
I still don't quite know what was happening in the details though, or why this works.
Note: There may be more severe problems with the migrator if it is indeed the case that it's agnostic to the whole 'different subscription tiers' thing in that one could potentially circumvent said tiers' restrictions by using the plesk CLI and/or the migrator in some clever way when running multiple Plesk servers.