Horde problem: loops on login page

maxime

Member
Aug 13, 2001
16
0
301
Hi,

On one of my servers when trying to log into Horde, it simply goes back to the page asking for the language.

I've tried numerous things (fullhordereset, upcp, ...) to no avail.

Here is what I get when trying to reinstall Horde with /usr/local/cpanel/bin/update-horde --force


Archiving current Horde data to /var/cpanel/horde/horde.backup.sql.1172426956
Cleaning old Horde data archives
Skipping /var/cpanel/horde/horde.backup.sql.1172426956 (archived)
Skipping /var/cpanel/horde/horde.backup.sql.1172426673 (archived)
Skipping /var/cpanel/horde/horde.backup.sql.1172425504 (archived)
Skipping /var/cpanel/horde/horde.backup.sql.1171720154 (archived)
removed `/var/cpanel/horde/horde.backup.sql.1171652391'
mysqladmin: DROP DATABASE horde failed;
error: 'Error dropping database (can't rmdir './horde/', errno: 17)'
Creating Horde database
ERROR 1007 at line 48: Can't create database 'horde'. Database exists
Updating Pear modules ...Done
Restoring Horde data
Resyncing Horde database items
DBD::mysql::st execute failed: Table 'horde.horde_vfs' doesn't exist at /usr/local/cpanel/bin/horde_update_usernames line 38.
Done. Horde updated to 3.1.3


Any idea ?

Thanks in advance.

Maxime
 

cPanelKenneth

cPanel Development
Staff member
Apr 7, 2006
4,607
80
458
cPanel Access Level
Root Administrator
mysqladmin: DROP DATABASE horde failed;
error: 'Error dropping database (can't rmdir './horde/', errno: 17)'
Creating Horde database
ERROR 1007 at line 48: Can't create database 'horde'. Database exists
Updating Pear modules ...Done
Restoring Horde data
Resyncing Horde database items
DBD::mysql::st execute failed: Table 'horde.horde_vfs' doesn't exist at /usr/local/cpanel/bin/horde_update_usernames line 38.
You database is corrupt to the point of no return (unless you have backups). First do not attempt running fullhordereset or update-horde anymore, it won't help (sorry for the emphasis there but running it more will just make the problem worse).

The simplest is to manually delete the /var/lib/msyql/horde directory manually and restore from backup, but I suspect you can't (since an error above stated (can't rmdir './horde/').

The problem could be:

1. Incorrect permissions;
2. Corrupted filesystem;
3. Corrupted database;

#1 can be fixed by comparing the permissions on other database directories within /var/lib/mysql and making the ones on /var/lib/mysql/horde match. (same with the files within the horde directory).

#2 likely means you also have database corruption. The best solution is to restore from backup (after checking your hard drive for errors/replacing your hard drive).

#3 can possibly fixed by performing a repair table command on each table in the horde database. Any InnoDB tables cannot be repaired and will need restored from backup.
 

dory36

Well-Known Member
Aug 30, 2003
179
0
166
I am having the same problem, but the backups aren't a good fix as the server is new and the sites are themselves retores from backups.

How can I start from scratch?
 

rbob523

Registered
Sep 27, 2005
2
0
151
So - and please bear with me as I'm sure I'm going to sound like a bumbling fool here - is the looping at the language select screen pretty much an indication that the database is corrupted beyond repair, etc.? Or, is there something that can be done before simply considering the database dead?

Also, having the same problem with multiple clients on our reseller server - which makes me think that it's a server-wide issue. Do multiple clients share the same Horde database, or does each client have their own?
 

jayh38

Well-Known Member
Mar 3, 2006
1,212
0
166
No, if you recently made changes to your my.cnf file, see if you have

skip-innodb

if do, comment it out.

#skip-innodb
 

cPanelKenneth

cPanel Development
Staff member
Apr 7, 2006
4,607
80
458
cPanel Access Level
Root Administrator
So - and please bear with me as I'm sure I'm going to sound like a bumbling fool here - is the looping at the language select screen pretty much an indication that the database is corrupted beyond repair, etc.? Or, is there something that can be done before simply considering the database dead?
Not the entire database, merely the session table. That is why I cringe whenever people use the fullhordereset and update-horde scripts, because it's overkill. The easiest option is to drop and restore the horde session table:
Code:
mysql
mysql> use horde;
mysql> drop table horde_sessionhandler;
mysql> CREATE TABLE horde_sessionhandler (
    session_id             VARCHAR(32) NOT NULL,
    session_lastmodified   INT NOT NULL,
    session_data           LONGBLOB,

    PRIMARY KEY (session_id)
) ENGINE = InnoDB;
Also, having the same problem with multiple clients on our reseller server - which makes me think that it's a server-wide issue. Do multiple clients share the same Horde database, or does each client have their own?
There is one database for the entire server.
 

wcs4web

Member
May 7, 2002
10
0
301
We are recieving the same error but only appears to be happening when using Horde with IE 7. When we use Mozilla or IE 6, we are able to login.

We are also receiving several messages similiar to the following:

xx.xx.xx.xx - [email protected] [02/Mar/2007:11:43:18 -0500] "GET /webmail/x/images/top_01-sm_3.gif HTTP/1.1" webmail: user password hash is missing from system (user probably does not exist)

Any issues with Horde and IE 7?


Correction: It doesn't appear to be browser based as it is happening to all browsers now. Tried the above database fix to sessionhandler but did not seem to fix


George
 
Last edited:

wcs4web

Member
May 7, 2002
10
0
301
I was able to fix the problem by restarting the IMAP server from WHM. I also recreated the session.handler table but the problem did not correct itself until I restarted the IMAP Server
 

jayh38

Well-Known Member
Mar 3, 2006
1,212
0
166
Yes, Ive caught myself overlooking simple things like that until I go back to basics. I have some CentOS machines with mysql 5 that Horde works fine on with skip-innodb and some on mysql 4.1 that need it commented out, especially the RHEL4 boxes. I dont question it, i just try the opposite setting first and move on.
 

rbob523

Registered
Sep 27, 2005
2
0
151
No, if you recently made changes to your my.cnf file, see if you have

skip-innodb

if do, comment it out.

#skip-innodb

Alrighty - where, pray tell, would one find their my.cnf file.... and/or - how would one go about restoring the Horde session table?

Basically, as I've said before - I'm pretty much a complete newbie at this, so while I have an incredibly peripheral understanding of what y'all are talking about, I don't have the slightest idea where to look to find the files/databases that need to be changed... :(

Many thanks for your patience with me - I really appreciate the time taken to try to help me out, even if I'm too completely brain-dead to actually carry out the instructions... lol

I'm even looking at my WHM page, and can't find/figure out how to restart IMAP - not seeing anything on mine that will allow me to do that (I'm on TotalChoiceHosting, by the way...)
 

jayh38

Well-Known Member
Mar 3, 2006
1,212
0
166
my.cnf would be located at
/etc/my.cnf

Since you are asking, I highly doubt that is your problem so I wouldn't bother. But just to look at it in a ssh session;
cat /etc/my.cnf

As for recreating your Horde session table, Kenneth gave the answer above but again, you would type those commands in a ssh session window.

I would highly recommend asking or possibly hire an admin to perform this for you. Many things could easily break with the slightest mistake.


mysql
mysql> use horde;
mysql> drop table horde_sessionhandler;
mysql> CREATE TABLE horde_sessionhandler (
session_id VARCHAR(32) NOT NULL,
session_lastmodified INT NOT NULL,
session_data LONGBLOB,

PRIMARY KEY (session_id)
) ENGINE = InnoDB;
 

cPanelKenneth

cPanel Development
Staff member
Apr 7, 2006
4,607
80
458
cPanel Access Level
Root Administrator
I'm even looking at my WHM page, and can't find/figure out how to restart IMAP - not seeing anything on mine that will allow me to do that (I'm on TotalChoiceHosting, by the way...)
Have you actually discussed this with the techs at TCH? They are very knowledgable and helpful.
 

lamans

Member
Mar 17, 2006
21
0
151
This worked a treat for me...

mysql
mysql> use horde;
mysql> drop table horde_sessionhandler;
mysql> CREATE TABLE horde_sessionhandler (
session_id VARCHAR(32) NOT NULL,
session_lastmodified INT NOT NULL,
session_data LONGBLOB,

PRIMARY KEY (session_id)
) ENGINE = InnoDB;
Reply With Quote