I need some suggestions on where next to look for the source of a 503 error I'm getting on the front end (back end seems fine) after restoring a backup from my production server (shared hosting) to a development server that I fully control.
The production server is a InMotionHosting.com shared hosting plan running Apache, fpm-fcgi, PHP 8.1.17, Joomla! 4.2.9, Akeeba Backup Professional for Joomla!™ 9.5.1, and Admin Tools Professional 7.3.2.
My development/test server is Fedora 37 running PHP 8.1.18 (cli), Apache, and I used Kickstart Pro 7.2.0 to do the restore.
The extensions we use are RegularLabs (many of their suite), Tassos.gr (many of their suite), JCE editor, DJ-megamenu, and NextEndWeb's Smart Slider 3. They've been pretty solid to date, but I don't have a lot of history yet on how everything works with Joomla 4.x.
Under Joomla 3.10.x, restoring a production Akeeba backup to this dev/test server always worked flawlessly to refresh the environment. I just recently upgraded the production server from Joomla 3.10.x to Joomla 4.2.9, and since then restores to my dev/test server have never worked. The back end always seems to work fine, but the front end always instantly yields a 503 error.
As a result, I'm getting concerned that in the event of a production disaster, a restore to production might not work. I feel unable to update any software on the production machine now (like to Joomla 4.3.0 or 4.3.1), because I haven't yet been able to prove out a successful restore of my Joomla 4.x site to my dev/test server. I don't dare touch production until that happens.
On the dev/test server after restore, any time I request what I know to be a valid URL on the front end, I get the 503 error instantly. But if I enter a URL I know to be non-existent, the front end displays the site's header and footer correctly, but also a 404 "requested page not found" error in the main body.
When preparing for the Joomla 4.x upgrade, I regularly restored the production Joomla 3.x site to dev/test, ran the Joomla 4 upgrade (including required extension upgrades) on the dev/test server, and everything worked fine, back end and front end. So I sort of doubt Joomla core or extensions or content are the issue, but the previous paragraph makes me wonder a bit. And the production site is working well. I just can't prove out a successful production backup and restore to dev/test.
I've read and followed most of the related advice provided in https://www.akeeba.com/documentation/akeeba-backup-joomla/restoration-troubleshooting.html. I've tried lots of combinations and permutations of the following:
- rerun Admin Tools' .htaccess Maker
- delete .htaccess
- use .htaccess.txt from a fresh Joomla install .zip as the content for .htaccess
- In configuration.php I've ensured: public $cookie_domain = ''; public $cookie_path = ''; public $cache_handler = 'file'; public $caching = '0'; public $session_handler = 'database'; public $live_site is pointed to the correct URL
- The php.ini file shows memory_limit is 256M, upload_max_filesize is 32M, post_max_size is 32M, and max_execution_time is 30
- Apache's mod_rewrite seems to be loading (I tested with a custom .htaccess file that forced a rewrite to Google.com)
What I haven't exhaustively done yet, because the combinations and permutations of what to try are nearly infinite, is to add/delete various individual lines in .htaccess and enable/disable various Joomla plugins. But I've done quite a bit of fiddling in this way, with no success. If this is the only thing left for me to try, I could use some targeting help.
I'm no expert at knowing and finding all the linux logs squirreled away in various places, but those that I've looked at (after turning on maximum logging) don't tell me much, because the site never seems to respond very far- it seems to bomb immediately with the 503 before it does (or logs) anything else.
What perplexes me is that a) this always worked a charm under Joomla 3.x, b) the production and dev/test environments haven't changed except for the production Joomla 4.x upgrade and commensurate plug-in upgrades, c) the back-end seems to work fine on dev/test after restoring the production Joomla 4.x backup, and d) the dev/test header and footer display correctly if I request an invalid URL.
So, of course I'm happy to do more legwork here, but I thought I'd report in with all the above and maybe you could help me narrow down the universe of reasonable possibilities, given what I've described above.
Honestly, I think it's a .htaccess or a php.ini or a configuration.php issue, but I'm a bit lost beyond the basics discussed in the documentation. Where might I focus my next many hours of frustration and worry?
Thanks in advance for any ideas.