I will preface this by stating the obvious. I am a software developer. I do not divine solutions to problems. I work on the information I am given to make logical deductions which will help us arrive to the root cause of the issue so we can fix it. It is of paramount importance that you understand this and that you give me enough information to do said troubleshooting. Without any information, or with inaccurate / partial information, I either cannot help you or I will be misled into a troubleshooting path which does not apply.
Based on your replies so far here's what I understand. Do tell me if I have guessed anything wrong.
> After restoring original htaccess
This means that you have enabled the optional Stealth Mode. The description of this feature reads:
Visitors to your site coming from a different IP address than yours will be temporarily redirected to
installation/offline.html, a file telling them your site is currently under maintenance. Only works on servers which support
.htaccess files. Please read the documentation for more information.
Since you already figured it out before I replied I did not comment further, I just want you to know that I did catch that anyway.
> Does the restore function not work with incremental backups?
You seem to be using the integrated restoration, not Kickstart. Not that it matters. Both of them run the same archive extraction code. Moreover, the restoration script that you are having trouble with is included in the backup archive at backup time. What you're using to extract the backup archive may only become important if we exhaust all other troubleshooting avenues.
Furthermore, this tells me that you never told me until now that you are using a backup archive taken with the “Full site, incremental files” backup type. Luckily, it does not matter for the purpose of this troubleshooting. The “Full site” and the “Full site, incremental files” backup types run the same code, the latter ALSO running a bit of code which automatically excludes from the backup all files with a last modified date and time after the date and time you took the last backup with the same backup profile. For the purpose of our troubleshooting you could use either and it'd be exactly the same.
> "something went wrong" ... Yes, but what?
As I told you, something seems to be missing from your installation folder (and I told you what).
Here's what I have in mind with the information you have provided so far. If you closed the browser window during the archive extraction, or you lost network connection, or received a server error and then possibly tried to reload the page you would have a partially extracted installation folder. If you already had a leftover installation folder from a previous restoration attempt but some of its folders were unwritable because of ownership/permissions, a server error etc you could end up in the same situation. If your server failed to write the extracted files in part or in whole because of a server error beyond our control (in PHP, in the Operating System or the hardware) you would again end up with this error. Even a badly configured OPcache would cause this problem. It's even possible that when you last installed / updated Akeeba Backup, Joomla failed to copy one of the files which contains the Joomla-specific code for the restoration script which is embedded in the backup archive. In the latter case the files would have not been included in the backup archive at all, hence the problem.
The only way for me to know what happened is to start by knowing if the two files I mentioned exist or not. So, do installation/angie/models/main.php and installation/platform/models/joomlamain.php exist when you extract the backup archive?
I will tell you what happens next after you give me this information.
If they do not exist I will ask you for the backup log file so I can see if the files were included in the backup archive to begin with.
If they were not included I will ask you to install Akeeba Backup twice in a row, without uninstalling it before or in between, which fixes Joomla's long-standing problem of sometimes forgetting to copy some files on extension update.
If they files are included I would ask you to take a video of the restoration so I can see if you are receiving an error or warning you may have missed. If there are errors or warnings I will guide you from there (there are too many possible branches to write them all here).
If there are no errors and warnings I would then ask you for access to the site to see what is going on; there's a server error unrelated to our software but I can at least help you find out what.
So, I need information to help you.
> then why does it even let me get to this step?
Software — any software, not just ours — will try to execute. If it's unexpectedly sabotaged (a piece of it is removed before or while it's running) it might break in unpredictable ways. Try removing a DLL from a Windows application which is only used for one feature. You can use the application just fine up to the point where you try using the feature which uses the missing DLL. Then, the application crashes.
> Does the restore function not work with incremental backups? (Full site, incremental files)
I already told you I tried taking a backup and restoring it before answering your ticket, just in case. Yes, with the same PHP, Joomla and Akeeba Backup version — and I tried both with the integrated restoration and Kickstart because your original ticket was non-specific on that front.
Just to be extra sure, I took a new “Full site, incremental files” backup on Joomla 4.2.3, PHP 8.0 using Akeeba Backup 9.3.0 before posting this reply. I tried both the integrated restoration and Kickstart. Sure enough, in both cases the backup archive does restore correctly.
So, at this point we are certain that this is not a bug in the software. There is something happening in the software installation / upgrade which is handled by Joomla OR a server issue during the archive extraction process OR a server issue when you run the restoration. I will need more information (see bold type above) to start going through the possibilities.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!