Koozali.org: home of the SME Server

Horde does not redirect after login, after upgrade to SME 7.2 (contrib-related?)

Offline levien

  • **
  • 26
  • +0/-0
(Also submitted in Bugzilla as bug #3499, see http://bugs.contribs.org/show_bug.cgi?id=3499))

Yesterday I upgraded our SME server from 7.1.3 to 7.2, using yum and following
the procedure described on the Wiki. After the upgrade, logging into the
webmail / Horde framework stops on the /horde/imp/redirect.php page, without
any further activity or errors in the browser or the httpd-logs. Manually
entering the /horde url or reloading the page does work, and will give you the
Horde site as usual. However, using the /horde/imp or /webmail url just gives
you the e-mail screen, without the sidebar. The problem is browser-independent.

I'm not sure if this is a bug or a contrib-compatibility-problem though.
At the start of the year I installed the horde 3 contrib, together with the
additional kronolith, gollem, mnemo and nag contribs. I tried removing them,
but it didn't make a difference, so I reinstalled them again from smedev (which
I normally keep disabled).

These are the horde-packages I have, from the normal repositories as far as I
know:

horde.noarch                             3.1.4-1.el4.sme        installed
imp-h3.noarch                            4.1.4-1.el4.sme        installed
turba-h3.noarch                          2.1.4-2.el4.sme        installed
ingo-h3.noarch                           1.1.3-2.el4.sme        installed
e-smith-horde.noarch                     1.13.0-21.el4.sme      installed
e-smith-turba.noarch                     1.7.0-16.el4.sme       installed
e-smith-imp.noarch                       1.13.0-10.el4.sme      installed
e-smith-ingo.noarch                      1.1-6.el4.sme          installed

And these I installed from smedev:

 gollem-h3               noarch     1.0.3-1.el4.sme  installed         2.6 M
 kronolith-h3            noarch     2.1.5-1.el4.sme  installed         5.1 M
 mnemo-h3                noarch     2.1.1-1.el4.sme  installed         3.1 M
 smeserver-gollem        noarch     1.0-13.el4.sme   installed          24 k
 smeserver-kronolith     noarch     1.1-10.el4.sme   installed          98 k
 smeserver-mnemo         noarch     1.1-2.el4.sme    installed          23 k
 nag-h3                  noarch     2.1.2-00sme01    installed         3.6 M
 smeserver-nag           noarch     1.1-3            installed          26 k


This is what the logs say when I log in (slightly edited for readbility and
privacy):

[26/Oct/2007:20:50:43 +0200] "GET /horde/imp/login.php HTTP/1.1" 200 2545 "https://server/intranet.html"
[26/Oct/2007:20:50:53 +0200] "POST /horde/imp/redirect.php HTTP/1.1" 200 26 "https://server/horde/imp/login.php"

This is where it gets stuck. I enter the same URL again (by just pressing enter
in the address bar)

[26/Oct/2007:20:51:00 +0200] "GET /horde/imp/redirect.php HTTP/1.1" 302 26 "-"
[26/Oct/2007:20:51:01 +0200] "GET /horde/imp/mailbox.php?mailbox=INBOX&no_newmail_popup=1 HTTP/1.1" 200 7588 "-"
[26/Oct/2007:20:51:02 +0200] "GET /horde/services/javascript.php?file=keybindings.js&app=horde HTTP/1.1" 200 1052 "https://server/horde/imp/mailbox.php?mailbox=INBOX&no_newmail_popup=1"
[26/Oct/2007:20:51:02 +0200] "GET /horde/services/javascript.php?file=popup.js&app=imp HTTP/1.1" 200 833 "https://server/horde/imp/mailbox.php?mailbox=INBOX&no_newmail_popup=1"

I now see my webmail, but no sidebar. I remove everything after /horde/ from
the URL, and load the page:

[26/Oct/2007:20:51:09 +0200] "GET /horde/ HTTP/1.1" 200 335 "-"
[26/Oct/2007:20:51:09 +0200] "GET /horde/imp/?frameset_loaded=1 HTTP/1.1" 302 26 "https://server/horde/"
[26/Oct/2007:20:51:09 +0200] "GET /horde/services/portal/sidebar.php HTTP/1.1" 200 3749 "https://server/horde/"
[26/Oct/2007:20:51:10 +0200] "GET /horde/services/javascript.php?file=popup.js&app=imp HTTP/1.1" 200 833 "https://server/horde/services/portal/sidebar.php"
[26/Oct/2007:20:51:10 +0200] "GET /horde/imp/mailbox.php?mailbox=INBOX HTTP/1.1"200 7496 "https://server/horde/"
[26/Oct/2007:20:51:11 +0200] "GET /horde/services/javascript.php?file=tree.js&app=horde HTTP/1.1" 200 3798 "https://server/horde/services/portal/sidebar.php"
[26/Oct/2007:20:51:11 +0200] "GET /horde/services/javascript.php?file=keybindings.js&app=horde HTTP/1.1" 200 1052 "https://server/horde/imp/mailbox.php?mailbox=INBOX"
[26/Oct/2007:20:51:11 +0200] "GET /horde/services/javascript.php?file=popup.js&app=imp HTTP/1.1" 200 833 "https://server/horde/imp/mailbox.php?mailbox=INBOX"

Now it displays like it should.

[26/Oct/2007:20:51:16 +0200] "GET /horde/login.php?logout_reason=logout HTTP/1.1" 302 26 "https://server/horde/imp/mailbox.php?mailbox=INBOX"

Has anyone else had similar problems? Does anyone have a clue as to what have could gone wrong after the upgrade?
(And how to fix it? ;) ).

-Levien

Offline mmccarn

  • *
  • 2,651
  • +10/-0
Do you have any custom-templates defined for Horde?

There is a well-known problem with Horde if you have a customized version of 110AppRegistryHorde in /etc/e-smith/templates-custom/home/httpd/html/horde/config/registry.php/ (see http://wiki.contribs.org/Updating_to_SME_7.2#Webmail_.2F_Horde.)

If you don't have 110AppRegistryHorde do you have any other custom template fragments in /etc/e-smith/templates-custom/home/httpd/html/horde/config/registry.php/?  If so, we may need to update the notes referenced above.

If you do have custom-templates configured you need to copy over the new versions of those templates from /etc/e-smith/templates/home/httpd/html/horde/... and customize the new versions.

I can't find a quick link to what you need to do after fixing the template issue, so try

signal-event post-upgrade ; signal-event reboot

(overkill, but should do the trick...)

Offline levien

  • **
  • 26
  • +0/-0
Do you have any custom-templates defined for Horde?

I didn't have custom templates for Horde. I did indeed find a reference to the template issue when I did a web-search to see if anyone else had these problems with horde. But thanks for the pointer anyway. :-)

Furthermore, I just discovered the source of my problems. It turned out to be the ionCube PHP accelerator (aka. PHPA) which we installed last year to speed up a slowish web application. Apparently PHPA breaks the redirect-script in the version of Horde that comes with SME 7.2. I removed it and installed eAccelerator instead (using
Sleepy SME's smeserver-eaccelerator RPM
), which seems to work just fine.

Thanks!
Levien

Offline mmccarn

  • *
  • 2,651
  • +10/-0
I don't know anything about PHPA - is it common enough that I should add a note to the 7.2 update instructions?

Offline levien

  • **
  • 26
  • +0/-0
I don't know anything about PHPA - is it common enough that I should add a note to the 7.2 update instructions?

PHPA is a free but closed-source PHP accelerator, and it is apparently no longer maintained. It is a well-known product, but I do not suspect that many people are still using it. They would probably have run into the same problems I had, and I could not find a single reference to it. Therefore I doubt that it is necessary to add a note to the update instructions (although I might send the Horde people an email telling them to update their documentation regarding php accelerators).

Actually, the only reason why I used PHPA was that we needed to quickly fix some speed issues, and PHPA is the first things that shows up when you google for "PHP accelerator". ;-) eAccelerator is the fourth hit though, and at least there's an SME 7.x contrib for that one...

-L.