After Upgrade to 4.3-1: driver for horde_auth not found

After upgrading the horde app and univention to the latest release (from 4.3.0 to 4.3.1) I’m getting the following when trying to access the horde app:

A fatal error has occurred
"" driver (for Horde_Auth not found).
Details have been logged for the administrator.

Right now tried to search all the log files for some errors (in- and outside of the docker container) but i can’t seem to find something other than this error.

I’ve installed everything with UCS 4.3.0 and authentication is done with the integrated LDAP Server (or UCS Domain) all installed on a single server.

Where could I look for detailed error description? What could be the missing module? Any help is greatly appreciated!

After some additional tests with a backuped VM I can tell that the reason was not the upgrade of the Univention server itself but the Update of the Horde App. I upgraded from version 5.2.7 to 5.2.17. This Upgrade seems to try to shift as much as possible in the docker container.

Also I can’t investigate it because the horde.log is still empty so I can’t see the debug output of the error (Even if I manually set logging to debung inside the containers /etc/horde/horde/conf.php

Which version of the Horde App did you install exactly? Sounds like this problem:

I’ve upgraded to Version 5.2.17-2. Before the upgrade version 5.2.7-3 was installed.

Now I’ve tried to reinstall the horde App as suggested but that does not solve my problem. I still get the exact same error.

Here’s a screenshot with the problem I got

horde_fatal_error

Sidenote: I actually did a ssh forwarding directly to the container. That’s why you see localhost:10000 as the address. The error is the same when connecting normally.

I have the same problem. If I click on the Horde icon from the univention portal it links to

http://localhost/horde/login.php

which does not work of course.

Looks to me as if there’s something messed up with certain settings.

Re-Installation does not help!

Any help welcome - Martin

No hint anybody ? - Martin

Is anybody still checking this ? The upgrade has messed up the calendar sync and I cannot use web mail anymore. Am I supposed to delete the container, reinstall everything and re-enter all of horde’s calendar entries ? Or am I better to use this: https://wiki.univention.de/index.php/Cool_Solution_-_Webcalendar ?

Please advise …

Martin

If only the link is wrong it can be easily fixed by adjusting the corresponding entry in the “Portal” UMC-module (in “Domain”)

Yes, I know that. But the settings there are correct. It must be something executed afterwards which screws the URL. If I enter http:/horde it throws the a. m. message “Driver for horde_auth not found”.

I guess there is some problem in the upgrade script as I upgraded the same way as the original poster.

May be I should again deinstall, remove the container and reinstall …

However, I have another horde installation which I did not dare upgrading yet. What to do with that one ?

Martin

Moritz has shared a detailed list where to look at and eventually how to adjust the configuration in Can't login to Horde after upgrade to last version 5.2.17-1.
I am not sure how the configuration is handled during a re-install and would recommend to check if the hooks.php has the required changes.

Best Regards,
Dirk

I tried it and modified hooks.php as described. In my installation it was line 85 in function “preauthenticate”.

No change in the behaviour, however.

I don’t mind to completely delete the container and set everything up again as this system is not used for business. However I have another installation on which I did not update the horde app yet. And as long as this system does not work I won’t touch the other.

Martin

I have tried once to uninstall the Horde app and install it again. In this case the postgresql-db for Horde was re-used and the calendar-entries and contacts came up afterwards.

hth,
Dirk

I tried re-installing the app - this did not help. Again, I’m puzzled that even the link to Horde did not work - even it looks as if it’s configured correctly. Also for this problem re-installing did not help.

Thanks for your time - Martin

Uninstalling a package usually does not purge configurations (from /etc) and LDAP-entries. While the first cleanup can be done with apt (remove --purge) the second means some deeper digging using univention-ldapsearch. I am not very familiar with the Horde integration and dont know where to look at.

The source of the portal entry can be checked with udm settings/portal_entry list --filter=cn=horde.

/horde is proxied to docker:

root@d:/etc/apache2/sites-enabled# grep -i horde  *
000-default.conf:	ProxyPass /horde http://127.0.0.1:40000/horde retry=0
000-default.conf:	ProxyPassReverse /horde http://127.0.0.1:40000/horde
default-ssl.conf:	ProxyPass /horde https://127.0.0.1:40001/horde retry=0
default-ssl.conf:	ProxyPassReverse /horde https://127.0.0.1:40001/horde
root@d:/etc/apache2/sites-enabled# netstat -tulpen |grep 4000
tcp6       0      0 :::40000                :::*                    LISTEN      0          31733      2679/docker-proxy   
tcp6       0      0 :::40001                :::*                    LISTEN      0          31705      2668/docker-proxy   

"" driver (for Horde_Auth not found)

I get this error if i set horde/auth/driver in the container to “nothing” (empty string), so maybe you could check the value of horde/auth/driver in the horde container

univention-app shell horde ucr get horde/auth/driver

The correct value and the default for this setting is “application”

univention-app shell horde ucr set horde/auth/driver=application

Best regards,
Felix

Well, that looks okay as far as I can see:

root@lion:~# univention-app shell horde ucr get horde/auth/driver
application
root@lion:~#

Unfortunately I am not at all familiar with this container stuff. Could it be that the update somehow installed a second container and somehow horde is started from the wrong one ? I already re-installed horde which did not change a bit …

Thanks for your thoughts - Martin

Hallo,

ok, lets check the container a bit more

  • How many containers are started?
-> docker ps
CONTAINER ID        IMAGE                                                  COMMAND                  CREATED             STATUS              PORTS                                           NAMES
22580d33364d        docker.software-univention.de/ucs-appbox-amd64:4.3-0   "/sbin/init"             About an hour ago   Up About an hour    0.0.0.0:40000->80/tcp, 0.0.0.0:40001->443/tcp   dazzling_joliot
  • 22580d33364d is my horde container, the ID should match the value of the UCR variable appcenter/apps/horde/container
-> ucr get appcenter/apps/horde/container 
22580d33364ddd48b3e7705ae3ad235cf96a8f503eff87072b114f87a1bbf018
  • Version should be the following:
-> univention-app shell horde ucr search --brief version
repository/mirror/version/end: <empty>
repository/mirror/version/start: <empty>
repository/online/component/.*/version: <empty>
repository/online/component/4.3-0-errata/version: 4.3
repository/online/component/horde_20180621115801/version: current
update/umc/nextversion: true
version/erratalevel: 157
version/patchlevel: 0
version/releasename: Neustadt
version/version: 4.3
  • My "auth " related config option for the horde App are:
-> univention-app shell horde cat /etc/horde/horde/conf.d/10-ucs.php| grep auth
$conf['mailer']['params']['auth'] =  true;
$conf['auth']['admins'] = array();
$conf['auth']['params']['app'] = 'imp';
$conf['auth']['driver'] = 'application';
$conf['auth']['redirect_on_logout'] = '/';
  • Also important for authentication, the ucs ldap settings
univention-app shell horde cat /etc/horde/horde/conf.d/10-ucs.php| grep ldap
$conf['ucs']['ldaprdn'] = 'cn=horde-72459747,cn=memberserver,cn=computers,dc=w2k12,dc=test';
$conf['ucs']['ldappass'] = 'secret';
$conf['ucs']['ldapbase'] = 'dc=w2k12,dc=test';
$conf['ucs']['ldaphost'] = 'master.w2k12.test';
$conf['ucs']['ldapport'] = 7389;

Best regards,
Felix

Hello,
we see the exactly same problem as described by Martin. All output/file content of the proposed commands is meaningful and matches what’s posted by Felix and Dirk.

Is there any progress on this?
Can 5.2.7 be installed after an upgrade to 5.2.17 (or did the upgrade to 5.2.17 modify the database or whatever that makes 5.2.7 incompatible)? If yes, what’s the procedure to install 5.2.7 again?

What we observed:
Horde test page works despite testdisable being set to true in any config files (all occurences of grep -r testdisable /etc/horde/*). Checking the value in test.php revealed that ‘testdisable’ is not set at all (ie. it’s not false, but unset). So are the config files read at all? I renamed all files in /etc/horde/horde and restarted apache. The only complain was about registry.php. Putting registry.php back makes the system appear as we see it ("" driver (for Horde_Auth not found)).
So quite likely other config files are not processed, what leads to the question how horde starts up and how to trace that?

Besides, the test page shows horde version 5.2.13!? The upgrade worked from command line only (univention-app upgrade horde), from UMC the installation reproducibly failed with error: Unable to find version 5.2.17-2 of app horde.

Thanks in advance for any thoughts,
Norbert

I did a retry on this matter - to no avail. Every output on the suggested queries seems to be correct:

docker ps
CONTAINER ID        IMAGE                                                      COMMAND                  CREATED             STATUS              PORTS                                           NAMES
d98b746d91af        docker.software-univention.de/ucs-appbox-amd64:4.3-3       "/sbin/init"             13 minutes ago      Up 13 minutes       0.0.0.0:40000->80/tcp, 0.0.0.0:40002->443/tcp   confident_murdock
bf611ffb1b9d        docker.software-univention.de/collabora:4.0.8.2            "/bin/sh -c 'bash st…"   2 hours ago         Up 2 hours          0.0.0.0:9980->9980/tcp                          hopeful_kapitsa
e4881e1facd3        docker.software-univention.de/dudle:1.2                    "/start.sh"              6 days ago          Up 6 days           0.0.0.0:40001->80/tcp                           thirsty_poitras
4fe60a11c0a4        docker.software-univention.de/owncloud-owncloud:10.2.1-1   "/usr/bin/entrypoint…"   6 weeks ago         Up 9 days           0.0.0.0:40008->8080/tcp                         owncloud_owncloud_1
0b5780f59110        docker.software-univention.de/owncloud-redis:10.2.1-1      "/usr/bin/entrypoint…"   6 weeks ago         Up 9 days           6379/tcp                                        owncloud_redis_1
944d7f38d863        docker.software-univention.de/ucs-appbox-amd64:4.3-0       "/sbin/init"             16 months ago       Up 9 days           0.0.0.0:40006->80/tcp                           musing_goldstine
7ce77cd99a4f        docker.software-univention.de/wordpress:4.9.4

,

ucr get appcenter/apps/horde/container
d98b746d91af39c0f303e8c046a871becb3aeda5a3ac2c6563150a3979e3b95e

,

univention-app shell horde ucr search --brief version
repository/mirror/version/end: <empty>
repository/mirror/version/start: <empty>
repository/online/component/.*/version: <empty>
repository/online/component/4.3-3-errata/version: 4.3
repository/online/component/horde_20190925130937/version: current
update/umc/nextversion: true
version/erratalevel: 520
version/patchlevel: 3
version/releasename: Neustadt
version/version: 4.3

,

univention-app shell horde cat /etc/horde/horde/conf.d/10-ucs.php| grep auth
$conf['mailer']['params']['auth'] =  true;
$conf['auth']['admins'] = array();
$conf['auth']['params']['app'] = 'imp';
$conf['auth']['driver'] = 'application';
$conf['auth']['redirect_on_logout'] = '/';

and

univention-app shell horde cat /etc/horde/horde/conf.d/10-ucs.php| grep ldap
$conf['ucs']['ldaprdn'] = 'cn=horde-44667944,cn=memberserver,cn=computers,dc=cats-net,dc=intranet';
$conf['ucs']['ldappass'] = 'geheim';
$conf['ucs']['ldapbase'] = 'dc=cats-net,dc=intranet';
$conf['ucs']['ldaphost'] = 'lion.cats-net.intranet';
$conf['ucs']['ldapport'] = 7389;

As mentioned already: Removing and reinstalling horde does not help. Clicking on “Open” tries to load horde from “localhost” (which of course fails). If I replace localhost with its dns name the “driver for horde_auth not found” message pops up.

Any ideas ?

Martin

Mastodon