OK, edited config.php to set the version to 27.1.11.3 and ran the upgrade again. Apparent success, but the output is too long to post. Left the system in maintenance mode, so disabled that.
Browsing to the install gives me a login page, but when I enter credentials, I get this:
Looks like an issue connecting to the LDAP server?
2024-11-26T10:08:47-05:00 [1:nextcloud1:nextcloud-app] NOTICE: PHP message: [nextcloud][no app in context][3] {"reqId":"JC2znR3iToXUd220sNlQ","level":3,"time":"2024-11-26T15:08:47+00:00","remoteAddr":"192.35.48.169","user":"--","app":"no app in context","method":"POST","url":"/login","message":"{\"Exception\":\"OC\\\\ServerNotAvailableException\",\"Message\":\"Lost connection to LDAP server.\",\"Code\":0,\"Trace\":[{\"file\":\"/var/www/html/apps/user_ldap/lib/LDAP.php\",\"line\":420,\"function\":\"processLDAPError\",\"class\":\"OCA\\\\User_LDAP\\\\LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\",\"*** sensitive parameters replaced ***\",-1,\"Can't contact LDAP server\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/LDAP.php\",\"line\":309,\"function\":\"postFunctionCall\",\"class\":\"OCA\\\\User_LDAP\\\\LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/LDAP.php\",\"line\":67,\"function\":\"invokeLDAPMethod\",\"class\":\"OCA\\\\User_LDAP\\\\LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Connection.php\",\"line\":719,\"function\":\"bind\",\"class\":\"OCA\\\\User_LDAP\\\\LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Connection.php\",\"line\":632,\"function\":\"bind\",\"class\":\"OCA\\\\User_LDAP\\\\Connection\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Connection.php\",\"line\":240,\"function\":\"establishConnection\",\"class\":\"OCA\\\\User_LDAP\\\\Connection\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Connection.php\",\"line\":248,\"function\":\"init\",\"class\":\"OCA\\\\User_LDAP\\\\Connection\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":1112,\"function\":\"getConnectionResource\",\"class\":\"OCA\\\\User_LDAP\\\\Connection\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":1294,\"function\":\"executeSearch\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"(&(|(objectclass=inetOrgPerson))(|(uid=admin)(|(mail=admin))))\",\"ou=People,dc=directory,dc=nh\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"],500,0]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":979,\"function\":\"search\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"(&(|(objectclass=inetOrgPerson))(|(uid=admin)(|(mail=admin))))\",\"ou=People,dc=directory,dc=nh\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"],\"*** sensitive parameters replaced ***\",0]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":871,\"function\":\"searchUsers\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"(&(|(objectclass=inetOrgPerson))(|(uid=admin)(|(mail=admin))))\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"],\"*** sensitive parameters replaced ***\",\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":851,\"function\":\"fetchListOfUsers\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"(&(|(objectclass=inetOrgPerson))(|(uid=admin)(|(mail=admin))))\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/User_LDAP.php\",\"line\":156,\"function\":\"fetchUsersByLoginName\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/User_LDAP.php\",\"line\":119,\"function\":\"getLDAPUserByLoginName\",\"class\":\"OCA\\\\User_LDAP\\\\User_LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"function\":\"loginName2UserName\",\"class\":\"OCA\\\\User_LDAP\\\\User_LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/User_Proxy.php\",\"line\":116,\"function\":\"call_user_func_array\",\"args\":[[[\"OCA\\\\User_LDAP\\\\User_LDAP\"],\"loginName2UserName\"],[\"*** sensitive parameters replaced ***\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Proxy.php\",\"line\":140,\"function\":\"walkBackends\",\"class\":\"OCA\\\\User_LDAP\\\\User_Proxy\",\"type\":\"->\",\"args\":[\"LOGINNAME,admin\",\"loginName2UserName\",[\"*** sensitive parameters replaced ***\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/User_Proxy.php\",\"line\":276,\"function\":\"handleRequest\",\"class\":\"OCA\\\\User_LDAP\\\\Proxy\",\"type\":\"->\",\"args\":[\"LOGINNAME,admin\",\"loginName2UserName\",[\"*** sensitive parameters replaced ***\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Helper.php\",\"line\":297,\"function\":\"loginName2UserName\",\"class\":\"OCA\\\\User_LDAP\\\\User_Proxy\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/lib/private/legacy/OC_Hook.php\",\"line\":105,\"function\":\"loginName2UserName\",\"class\":\"OCA\\\\User_LDAP\\\\Helper\",\"type\":\"::\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/lib/public/Util.php\",\"line\":416,\"function\":\"emit\",\"class\":\"OC_Hook\",\"type\":\"::\",\"args\":[\"\\\\OCA\\\\Files_Sharing\\\\API\\\\Server2Server\",\"preLoginNameUsedAsUserName\",\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/password_policy/lib/ComplianceService.php\",\"line\":92,\"function\":\"emitHook\",\"class\":\"OCP\\\\Util\",\"type\":\"::\",\"args\":[\"\\\\OCA\\\\Files_Sharing\\\\API\\\\Server2Server\",\"preLoginNameUsedAsUserName\",\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/password_policy/lib/Listener/BeforeUserLoggedInEventListener.php\",\"line\":45,\"function\":\"entryControl\",\"class\":\"OCA\\\\Password_Policy\\\\ComplianceService\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\",\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/lib/private/EventDispatcher/ServiceEventListener.php\",\"line\":86,\"function\":\"handle\",\"class\":\"OCA\\\\Password_Policy\\\\Listener\\\\BeforeUserLoggedInEventListener\",\"type\":\"->\",\"args\":[[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"]]},{\"file\":\"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php\",\"line\":230,\"function\":\"__invoke\",\"class\":\"OC\\\\EventDispatcher\\\\ServiceEventListener\",\"type\":\"->\",\"args\":[[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"],\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\",[\"Symfony\\\\Component\\\\EventDispatcher\\\\EventDispatcher\"]]},{\"file\":\"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php\",\"line\":59,\"function\":\"callListeners\",\"class\":\"Symfony\\\\Component\\\\EventDispatcher\\\\EventDispatcher\",\"type\":\"->\",\"args\":[[[\"Closure\"]],\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\",[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"]]},{\"file\":\"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php\",\"line\":94,\"function\":\"dispatch\",\"class\":\"Symfony\\\\Component\\\\EventDispatcher\\\\EventDispatcher\",\"type\":\"->\",\"args\":[[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"],\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"]},{\"file\":\"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php\",\"line\":106,\"function\":\"dispatch\",\"class\":\"OC\\\\EventDispatcher\\\\EventDispatcher\",\"type\":\"->\",\"args\":[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\",[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"]]},{\"file\":\"/var/www...
2024-11-26T10:08:47-05:00 [1:nextcloud1:nextcloud-app] NOTICE: PHP message: [nextcloud][index][3] {"reqId":"JC2znR3iToXUd220sNlQ","level":3,"time":"2024-11-26T15:08:47+00:00","remoteAddr":"192.35.48.169","user":"--","app":"index","method":"POST","url":"/login","message":"{\"Exception\":\"OC\\\\ServerNotAvailableException\",\"Message\":\"Lost connection to LDAP server.\",\"Code\":0,\"Trace\":[{\"file\":\"/var/www/html/apps/user_ldap/lib/LDAP.php\",\"line\":420,\"function\":\"processLDAPError\",\"class\":\"OCA\\\\User_LDAP\\\\LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\",\"*** sensitive parameters replaced ***\",-1,\"Can't contact LDAP server\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/LDAP.php\",\"line\":309,\"function\":\"postFunctionCall\",\"class\":\"OCA\\\\User_LDAP\\\\LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/LDAP.php\",\"line\":67,\"function\":\"invokeLDAPMethod\",\"class\":\"OCA\\\\User_LDAP\\\\LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Connection.php\",\"line\":719,\"function\":\"bind\",\"class\":\"OCA\\\\User_LDAP\\\\LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Connection.php\",\"line\":632,\"function\":\"bind\",\"class\":\"OCA\\\\User_LDAP\\\\Connection\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Connection.php\",\"line\":240,\"function\":\"establishConnection\",\"class\":\"OCA\\\\User_LDAP\\\\Connection\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Connection.php\",\"line\":248,\"function\":\"init\",\"class\":\"OCA\\\\User_LDAP\\\\Connection\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":1112,\"function\":\"getConnectionResource\",\"class\":\"OCA\\\\User_LDAP\\\\Connection\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":1294,\"function\":\"executeSearch\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"(&(|(objectclass=inetOrgPerson))(|(uid=admin)(|(mail=admin))))\",\"ou=People,dc=directory,dc=nh\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"],500,0]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":979,\"function\":\"search\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"(&(|(objectclass=inetOrgPerson))(|(uid=admin)(|(mail=admin))))\",\"ou=People,dc=directory,dc=nh\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"],\"*** sensitive parameters replaced ***\",0]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":871,\"function\":\"searchUsers\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"(&(|(objectclass=inetOrgPerson))(|(uid=admin)(|(mail=admin))))\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"],\"*** sensitive parameters replaced ***\",\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":851,\"function\":\"fetchListOfUsers\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"(&(|(objectclass=inetOrgPerson))(|(uid=admin)(|(mail=admin))))\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/User_LDAP.php\",\"line\":156,\"function\":\"fetchUsersByLoginName\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/User_LDAP.php\",\"line\":119,\"function\":\"getLDAPUserByLoginName\",\"class\":\"OCA\\\\User_LDAP\\\\User_LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"function\":\"loginName2UserName\",\"class\":\"OCA\\\\User_LDAP\\\\User_LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/User_Proxy.php\",\"line\":116,\"function\":\"call_user_func_array\",\"args\":[[[\"OCA\\\\User_LDAP\\\\User_LDAP\"],\"loginName2UserName\"],[\"*** sensitive parameters replaced ***\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Proxy.php\",\"line\":140,\"function\":\"walkBackends\",\"class\":\"OCA\\\\User_LDAP\\\\User_Proxy\",\"type\":\"->\",\"args\":[\"LOGINNAME,admin\",\"loginName2UserName\",[\"*** sensitive parameters replaced ***\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/User_Proxy.php\",\"line\":276,\"function\":\"handleRequest\",\"class\":\"OCA\\\\User_LDAP\\\\Proxy\",\"type\":\"->\",\"args\":[\"LOGINNAME,admin\",\"loginName2UserName\",[\"*** sensitive parameters replaced ***\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Helper.php\",\"line\":297,\"function\":\"loginName2UserName\",\"class\":\"OCA\\\\User_LDAP\\\\User_Proxy\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/lib/private/legacy/OC_Hook.php\",\"line\":105,\"function\":\"loginName2UserName\",\"class\":\"OCA\\\\User_LDAP\\\\Helper\",\"type\":\"::\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/lib/public/Util.php\",\"line\":416,\"function\":\"emit\",\"class\":\"OC_Hook\",\"type\":\"::\",\"args\":[\"\\\\OCA\\\\Files_Sharing\\\\API\\\\Server2Server\",\"preLoginNameUsedAsUserName\",\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/password_policy/lib/ComplianceService.php\",\"line\":92,\"function\":\"emitHook\",\"class\":\"OCP\\\\Util\",\"type\":\"::\",\"args\":[\"\\\\OCA\\\\Files_Sharing\\\\API\\\\Server2Server\",\"preLoginNameUsedAsUserName\",\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/password_policy/lib/Listener/BeforeUserLoggedInEventListener.php\",\"line\":45,\"function\":\"entryControl\",\"class\":\"OCA\\\\Password_Policy\\\\ComplianceService\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\",\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/lib/private/EventDispatcher/ServiceEventListener.php\",\"line\":86,\"function\":\"handle\",\"class\":\"OCA\\\\Password_Policy\\\\Listener\\\\BeforeUserLoggedInEventListener\",\"type\":\"->\",\"args\":[[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"]]},{\"file\":\"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php\",\"line\":230,\"function\":\"__invoke\",\"class\":\"OC\\\\EventDispatcher\\\\ServiceEventListener\",\"type\":\"->\",\"args\":[[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"],\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\",[\"Symfony\\\\Component\\\\EventDispatcher\\\\EventDispatcher\"]]},{\"file\":\"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php\",\"line\":59,\"function\":\"callListeners\",\"class\":\"Symfony\\\\Component\\\\EventDispatcher\\\\EventDispatcher\",\"type\":\"->\",\"args\":[[[\"Closure\"]],\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\",[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"]]},{\"file\":\"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php\",\"line\":94,\"function\":\"dispatch\",\"class\":\"Symfony\\\\Component\\\\EventDispatcher\\\\EventDispatcher\",\"type\":\"->\",\"args\":[[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"],\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"]},{\"file\":\"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php\",\"line\":106,\"function\":\"dispatch\",\"class\":\"OC\\\\EventDispatcher\\\\EventDispatcher\",\"type\":\"->\",\"args\":[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\",[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"]]},{\"file\":\"/var/www/html/lib/private/Server...
Re-saving the app settings for Nextcloud appears to have solved this such that I’m able to log in.