[Eisfair_dev] roundcube v0.90.4 testing für eisfair-1/2

Juergen Edner juergen at eisfair.org
Mi Feb 20 18:26:16 CET 2013


Hallo Stefan,

> Etwas schlecht beschrieben ist die Konfiguration der Datenbank. Dass
> hier vorher eine Einstellung in der PHP-Konfiguration gemacht werden
> muss, habe ich leider nicht gefunden und bin da durch probieren und
> Screen-Meldungen darauf gekommen.

welche Hinweise sollten Deiner Meinung nach verbessert werden? Ich habe
versucht möglichst alle Tests durchzuführen und entsprechend eindeutige
Hinweise auszugeben.

> Per Standard wird dann SQLITE verwendet, was wiederum das Problem aufwirft, 
> dass es nicht gesichert werden kann bzw. ich keine Stelle finde, wo man eine 
> Sicherung anwerfen könnte.

Ein Sicherung erfolgt mittels eines ieinfachen Kopierbefehls:

cp /var/owncloud/owncloud/data/owncloud.db <deiner-wunschpfad/

> Also Paket nochmal deinstallieren und mit MySQL-Datenbank neu installiert. 
> Da ich bei der Installation aber nicht weiß, welche Datenbank erwartet wird 
> muss ich als Datenbankuser den SQL-root angeben, weil ja nur der neue 
> Datenbanken anlegen darf. Ich hoffe, das stellt keine gravierende 
> Sicherheitslücke dar.

Dies verstehe ich nicht, Du weißt doch vorher welche Datenbank Du
verwenden willst. Du wirst nirgends aufgefordert in die Konfiguration
den SQL-root-User und das SQL-Root-Kennwort einzutragen. Du
konfigurierst für den zukünftigen Datenbankzugriff einen
Datenbank-User, welcher während der Konfiguration angelegt wird. Das
dafür notwendige SQL-Root-Kennwort wird einmalig abgefragt und nirgends
gespeichert, ergo keine Sicherheitslücke.

> Nachdem ich die MySQL-Konfiguration anpassen musste 
> (MYSQL_OLD_PASSWORD='no') kann ich die Konfiguration von RoundCube zwar ohne 
> Fehler abschließen, ein Aufruf der Webseite bringt aber diesen Fehler:
> 
> DATABASE ERROR: CONNECTION FAILED!
> Unable to connect to the database!
> Please contact your server-administrator.

Wenn Du eine bestehende Datenbank verwendest bei welcher zuvor
MYSQL_OLD_PASSWORD='yes' gesetzt war, reicht es nicht den Parameter
umzusetzen. Du musst alle Kennwörter Deiner Datenbank-User auch
auf sichere Kennwörter umstellen. Ich werde doch nicht herum kommen
auch dies noch zu prüfen und zu dokumentieren :-(

mysql> SHOW VARIABLES LIKE 'old_passwords';

Hier muss old_passwords OFF angezeigt werden.

mysql> SELECT `User`, `Host`, Length(`Password`) FROM mysql.user;

Wenn hier eine Kennwortlänge von 16 angezeigt wird das jeweilige
Kennwort neu geschrieben werden.

mysql> SET PASSWORD FOR '<user>'@'localhost'=PASSWORD('<password>');

und final noch folgenden Befehl absetzen:

mysql> FLUSH Privileges;

Siehe auch:

http://stackoverflow.com/questions/1575807/cannot-connect-to-mysql-4-1-using-old-authentication

> Also wieder alles zurück auf SQLITE, was aber wieder die 
> Sicherungsproblematik mit sich bring.
> 
> Dann habe ich versucht mein Adressbuch von Google zu nutzen; dann müsste ich 
> nur an einer Stelle alle Kontakte pflegen. Dazu gibt es ein Plugin:
> http://blog.datentraeger.li/?p=2859
> 
> Nur, wie kriege ich die Tabelle in SQLITE angelegt?

Die Vorgehensweise wird doch auf der von Dir genannten Seite beschrieben:

1. google_contacts-Plugin installieren.

2. Die Konfigurationsdatei aktivieren:
   cd /var/www/htdocs/roundcube/plugins/google_contacts/config
   cp config.inc.php.dist config.inc.php

3  Alle Zugriffsrechte der Dateien anpassen:
   cd /var/www/htdocs/roundcube/plugins
   chown -R wwwrun: google_contacts

4. In google_contacts/SQL befinden sich die entsprechenden Dateien für
   das Anlegen der Tabelle die meines Erachtens wie folgt verwendet
   wird:
   cd /var/www/htdocs/roundcube/plugins/google_contacts/SQL
   mysql -hlocalhost -uROUNDCUBE_DB_USER -pROUNDCUBE_DB_PASS
     -Droundcubemail < ./mysql.initial.sql

Gruß Jürgen
-- 
Mail: juergen at eisfair.org


Mehr Informationen über die Mailingliste Eisfair_dev