First, the responsible answer:
Your best bet will likely be to build a new 20.04 server, and then follow the
upgrade instructions for 2.7.x. The upgrade process for major versions of AtoM is generally always to install a new version from scratch and then load your data - upgrading in place rarely works well between major versions because in addition to database schema changes and other code updates, we also upgrade the underlying dependencies whenever possible in major releases, so it's worth carefully checking the installation process.
The official installation docs describe the underlying dependencies and versions that we use in development, testing, and release preparation. As such, they are the ONLY combinations that we can guarantee will work as expected for an AtoM installation, and for which we can reliably offer support.
You could possibly spend a lot of time comparing release notes between Ubuntu 18.04 and 20.04 to find differences and figure out how to get AtoM 2.6 running on 20.04 - only then to discover in the next step that the version of another dependency you need is not available for that Ubuntu version, and now you need to do a manual package install (which could cascade into its own set of headaches). I suspect it's possible to get 2.6 working fine on 18.04, but there are a number of bug fixes, security patches (releases 2.6.2, 2.6.3, 2.6.4, 2.7.1 and 2.7.2 all include security patches), new features, and enhancements in the latest AtoM release - if you are upgrading for security, why not ensure that you have all of those improvements upgraded as well?
Now, for a slight bit more pragmatism:
Honestly, it depends on what error you find in the logs, and what that implies - as well as how exactly you've tried to upgrade in place. It's possible you just need to restart something, or fix one dependency - it's really hard to say without knowing more, and we never fully tested a 2.6 release on Ubuntu 20.04. I do suspect you would need at minimum to downgrade your PHP version - there are some non-backwards-compatible changes in PHP between versions 7.2 and 7.4, and AtoM 2.6 expects PHP 7.4 (which I don't think is the default included in Ubuntu 20.04).
As a general rule, we don't recommend trying to upgrade in place for major release versions, and upgrading dependencies around AtoM can have unexpected results, as you are finding. However, something to consider for the future:
If you would like to make upgrading in place much easier to do for minor releases, then consider following
Option 2 in our installation instructions, and install from our GitHub code repository rather than the downloadable tarball from our website described in
Option 1. Because we try to keep database schema changes and dependency upgrades to major releases, this means that for minor releases installed from the code repository, you can generally just: do the following for a minor version upgrade:
- Run a git pull --rebase against our repository
- Restart services and clear the application cache
- Repopulate the search index
Looking ahead:
Finally, it's worth noting that the Maintainers are working on the 2.8 release, which is currently loosely scheduled for mid-January 2024. This 2.8 release will still use Ubuntu 20.04 however - the Maintainer team is then planning for the AtoM 2.9 release to address a number of underlying dependency upgrades at once, and are looking at Ubuntu, PHP, and Elasticsearch as candidates for upgrade (or replacement, per Elastic's license change), as well as fully removing the legacy Bootstrap 2 framework code completely, finalizing an upgrade process we have spread across 3 major releases (starting with 2.7) to avoid massive disruption for users with custom themes.
About Bootstrap:
If you have a custom theme, this is another reason to upgrade to at least 2.7 now. The 2.7 release includes 2 base themes - the current 2.6 default Dominion theme, built using Bootstrap 2 (a CSS framework that has now been deprecated since 2013), as well as a new upgraded version of the Dominion theme, using Bootstrap 5.2. In 2.7, the current BS2 theme will still be the default, and was the focus of our release testing - meaning any custom themes will still work as expected for that release. This is intended to provide early access to community developers to the BS5 AtoM templates, so you can begin planning for a theme upgrade, before we fully remove the legacy Bootstrap 2 framework - since AtoM theme plugins work by extending the base Dominion theme, doing so will mean that any current BS2 custom themes will break when this finally happens (hence the multi-release plan).
The 2.8 release switches the paradigm - we have focused all of our release testing on the new BS5 templates, and consider the older BS2 theme deprecated but still included, giving users with custom themes one more release to create a new BS5-compatible version of their theming plugin. We have also added some general notes on
creating BS5 themes to the 2.8 documentation here. At this point, the BS5 Domininon theme will be the default on installation and anyone without a custom theme should use this default. Additionally, community developers maintaining an AtoM installation with a custom theme should be actively working to replace legacy themes with new BS5 compatible ones in this release cycle.
In 2.9, Bootstrap 2 will finally be fully removed from AtoM's code base. Anyone with a legacy custom theme who has not upgraded it will not be able to upgrade to 2.9 without their site breaking.
So, hopefully that provides a bit more context for coming releases, to help inform your maintenance plans. Whatever you decide to do now, good luck, and let us know how it goes!
Cheers,