BugFix nach Update von Debian

#1
BugFix nach Update von Debian Lenny auf Squeeze

Hallo zusammen,

ich hatte nach dem Update von Debian Lenny auf Debian Squeeze das Problem, das etliche E-Mailkonten nicht mehr per POP/IMAP abgerufen werden konnten. Nach längerer Suche stellte sich heraus, dass durch das Zusammenspiel des Updates von MySQL 5.0 auf MySQL 5.1 und die vorherigen Updates von ISPConfig nicht alle Spalten der "mail_user" Tabelle richtig besetzt sind. Die daraus resultierenden NULL Wert Spalten führen dazu, dass man keine Mails abrufen kann.

Hier mein SQL Fix für diese fehlerhaften Spaltenwerte:

Code:
UPDATE `mail_user`
SET `postfix` = 'y'
WHERE `postfix` IS NULL OR `postfix` = '';

UPDATE `mail_user`
SET `access` = 'y'
WHERE `access` IS NULL OR `access` = '';

UPDATE `mail_user`
SET `disableimap` = 'n'
WHERE `disableimap` IS NULL OR `disableimap` = '';

UPDATE `mail_user`
SET `disablepop3` = 'n'
WHERE `disablepop3` IS NULL OR `disablepop3` = '';

UPDATE `mail_user`
SET `disabledeliver` = 'n'
WHERE `disabledeliver` IS NULL OR `disabledeliver` = '';

UPDATE `mail_user`
SET `disablesmtp` = 'n'
WHERE `disablesmtp` IS NULL OR `disablesmtp` = '';
PhpMyadmin kann auch ärger machen - bei mir zeigte es nur noch eine leere HTML Seite.

Lösung:

Es muss die Datei /etc/apache2/phpmyadmin.conf angepasst werden. Hauptsächlich für suhosin und open_basedir (neuer Pfad /var/lib/phpmyadmin)

Code:
Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
        Options FollowSymLinks
        DirectoryIndex index.php

        <IfModule mod_php5.c>
                AddType application/x-httpd-php .php

                php_flag magic_quotes_gpc Off
                php_flag track_vars On
                php_flag register_globals Off
                php_admin_value include_path .
                php_admin_value open_basedir /usr/share/php:/usr/share/php5:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin
                php_flag suhosin.cookie.encrypt Off
                php_admin_value error_reporting E_ALL
                php_admin_value suhosin.request.max_vars 2048
                php_admin_value suhosin.post.max_vars 2048
                php_admin_value suhosin.request.max_array_index_length 256
                php_admin_value suhosin.post.max_array_index_length 256
                php_admin_value suhosin.request.max_totalname_length 8192
                php_admin_value suhosin.post.max_totalname_length 8192
                php_flag suhosin.bailout_on_error off
        </IfModule>

</Directory>

# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authn_file.c>
    AuthType Basic
    AuthName "phpMyAdmin Setup"
    AuthUserFile /etc/phpmyadmin/htpasswd.setup
    </IfModule>
    Require valid-user
</Directory>

# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/libraries>
    Order Deny,Allow
    Deny from All
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Order Deny,Allow
    Deny from All
</Directory>
 
Zuletzt bearbeitet:

pee

New Member
#2
Hallo,

konnten noch andere das hier beschriebene Problem beobachten und es mit der hier beschriebenen Lösung fixen? Würde auch gerne auf Debian 6 updaten, habe aber Angst vor möglichen zeitfressenden Problemen.

- pee
 
#3
ein paar sachen dazu: mysql von 5.0 auf 5.0.10 oder höher:

1.Grant-Tabellen sind zu aktualisieren mit "shell> mysql_fix_privilege_tables --password=root_password"

Das behebt neben dem offensichtlichen, das : mysql.plugin tables angelegt werden.

2. table_cache wurde umbenannt in table_open_cache, falls benutzt

3. FULLTEXT-Indizes wurde in MySQL 5.1 geändert: Repair_tables ist da notwendig

4. skip-bdb gibts nicht mehr, also auskommentieren aus der my.cnf, sonst geht z.b. apt-get upgrade unter umständen auf debian systemen nicht.

5. eventuell müssen php/perl Module neu drüber installiert werden -> "DBD"

Ansonsten lief das Upgrade 2x Problemlos durch bei den Tables. Sprich '' trat nicht auf.
 

pee

New Member
#4
Danke für deine Antwort. Dazu stellen sich mir jedoch ein paar Fragen.

1.Grant-Tabellen sind zu aktualisieren mit "shell> mysql_fix_privilege_tables --password=root_password"
Also einfach

Code:
mysql_fix_privilege_tables --password=root_password
in der Konsole eingeben?

Code:
Das behebt neben dem offensichtlichen
Was ist das Offensichtliche?

Code:
5. eventuell müssen php/perl Module neu drüber installiert werden -> "DBD"
Was ist DBD?
 
#5
1. MySQL System Tabellen
2. Ja auf der Konsole, und dein Passwort (für root) angeben
3. Eventuelle Fehler in den MySQL Systemtablellen
4. Für PHP/Perl gibt es ja Module die dir den Zugriff in deinen Programmen auf Datenbanken ermöglichen. Diese müssen unter Umständen für MySQL 5.1 neu installiert werden. Um dies kurz zu beschreiben:
shell> perldoc DBI
shell> perldoc DBI::FAQ
shell> perldoc DBD::mysql

Zu 1+3 Die interne Struktur der MySQL Systemtabellen hat sich geändert...
 
#6
Die besagten Module werden bei einem Uprade normalerweise auch aktualisiert. Nur wenn man diese von Hand installiert hat, ist dies manuell notwendig.
 
#7
Hallo,

ich möchte mich beim OP bedanken. Das Ausführen seiner SQL Querries auf die ISP Config Datenbank nach einem Update von Debian 5 auf 6 hat mein System wieder in Betrieb gesetzt.

Bei mir ging alles außer Email. Man konnte sich halt nicht in Mailaccounts einloggen.

Also: Vielen Dank!


Grüße,

André
 

Werbung

Top