Gelöschte Dateien unter ownCloud entfernen

Bei einer ownCloud-Instanz welche schon einige Betriebsstunden auf dem Buckel hat, kann es zu einem unschönen Effekt kommen. Beim Versuch den Papierkorb über die Funktion „Gelöschte Dateien“ zu leeren, versucht ownCloud alle Dateien aufzulisten, was allerdings nicht gelingt. Der Browser friert ein und das Leeren des Papierkorbes ist nicht möglich.

Der Button um die gelöschten Dateien aufzurufen

Der Button um die gelöschten Dateien aufzurufen

Auch wenn das Leeren des Papierkorber nach Meinung der ownCloud-Entwickler nicht notwendig ist, da die Dateien nach einer Weile weggeworfen werden, sollte es trotzdem eine Lösung geben um den Papierkorb manuell zu leeren. Ein Workarround ist es den Papierkorb direkt zu löschen in dem man das Verzeichnis „owncloud/data/username/files_trashbin/ löscht. Anschließend müssen noch zwei Tabellen in der Datenbank bereinigt werden:

TRUNCATE TABLE oc_files_trashsize;
TRUNCATE TABLE oc_files_trash;

Eine weitere Möglichkeit diese Problematik zu entschärfen, ist es die Vorhaltezeit von gelöschten Dateien von 180 Tagen auf 30 Tage zu reduzieren. Dazu öffnet man die config.php Datei welche im config-Ordner zu finden ist und trägt folgenden Wert ein:

'trashbin_retention_obligation' => 30,

Damit wird verhindert das sich zu viele Dateien im Papierkorb ansammeln und das Problem deutlich entschärft.

ownCloud Passwort zurücksetzen

Wenn man das ownCloud-Passwort ändern möchte, so kann man dies über die „Passwort vergessen?“-Funktion zurücksetzen. Wenn dies nicht mehr möglich ist, so kann das ganze auch in der Datenbank erledigt werden:

UPDATE `oc_users` SET `password`=SHA1('geheim') WHERE `uid`='nutzername'

Da die Passwörter mit einem Salt und mittels SHA1 gehasht gespeichert werden, muss das neue Passwort auch gehasht werden. Dies erledigt die Datenbank-Funktion „SHA1“ für uns. Nachdem das Passwort zurückgesetzt wurde, sollte das Passwort nach dem Login über die „Persönlich“-Seite erneut geändert werden, damit wieder ein Salt für selbiges generiert wird.

ownCloud Adressbuch mit Thunderbird verbinden

Die Synchronisation des ownCloud Kalenders mit Thunderbird (in Verbindung mit Lightning) ist eine relativ einfache Angelegenheit. Schwieriger wird das Ganze wenn man die Kontakte auch mit Thunderbird synchronisieren möchte. Von Haus aus funktioniert die Synchronisation nicht, so das man auf ein Add-On angewiesen ist. In diesem Fall wird der SOGo Connector benötigt.

Der "Remote-Adressbuch" Dialog

Der „Remote-Adressbuch“ Dialog

Dieser muss manuell über die Add-On Verwaltung installiert werden. Nach der Installation findet man im Adressbuch den Menüpunkt „Datei“ -> „Neu“ -> „Remote-Adressbuch“. Über diesen Punkt kann das CardDAV Adressbuch hinzugefügt werden. Nach dem Hinzufügen kann das Ganze dann benutzt werden.

ownCloud iOS 7 CardDAV Problem umgehen

In den Betaversionen hatte iOS 7 seine Probleme mit der CardDAV Synchronisierung. Mittlerweile funktioniert diese bei der letzten Betaversion (bzw. der Goldmaster) ohne Probleme. Die passende URL für die CardDAV Synchronisierung ist dabei folgende:

https://cloud.example.org/remote.php/carddav/addressbooks/seeseekey/contacts

Die URL muss natürlich angepasst werden und der Name „seeseekey“ durch den eigenen Nutzernamen ausgetauscht werden. Danach sollte iOS die URL bei richtigem Passwort und Nutzername ohne Murren akzeptieren.

Firefox Sync App in ownCloud rückstandslos entfernen

In einem meiner letzten Artikel gibt es darum, wie man Firefox Sync in Verbindung mit ownCloud nutzt. Augenscheinlich gibt es im Zusammenhang damit ein Problem, das dass ganze nach dem Neustart von Firefox nicht mehr richtig funktioniert. Natürlich kann man die entsprechende App in ownCloud deaktivieren, allerdings bleiben dabei noch einige Einträge in der Datenbank erhalten. Mit diesem Skript können diese Einträge entfernt werden:

<?php
//Configuration
$dbServer = "localhost";
$dbDatabase = "owncloud";
$dbUsername = "user";
$dbPassword = "secret";

//Set up connection
$mySQLConnection = mysql_connect($dbServer, $dbUsername, $dbPassword) or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch!");
mysql_select_db($dbDatabase) or die ("Die Datenbank existiert nicht.");

//Cleanup ownCloud Tables
mysql_query("DELETE FROM `$dbDatabase`.`oc_appconfig` WHERE `oc_appconfig`.`appid` = 'core' AND `oc_appconfig`.`configkey` = 'remote_mozilla_sync' AND `oc_appconfig`.`configvalue` = 'mozilla_sync/appinfo/remote.php'");

mysql_query("DELETE FROM `$dbDatabase`.`oc_appconfig` WHERE `oc_appconfig`.`appid` = 'mozilla_sync' AND `oc_appconfig`.`configkey` = 'enabled' AND `oc_appconfig`.`configvalue` = 'no'");
mysql_query("DELETE FROM `$dbDatabase`.`oc_appconfig` WHERE `oc_appconfig`.`appid` = 'mozilla_sync' AND `oc_appconfig`.`configkey` = 'installed_version' AND `oc_appconfig`.`configvalue` = '1.0'");
mysql_query("DELETE FROM `$dbDatabase`.`oc_appconfig` WHERE `oc_appconfig`.`appid` = 'mozilla_sync' AND `oc_appconfig`.`configkey` = 'types' AND `oc_appconfig`.`configvalue` = ''");

//Drop tables
mysql_query("DROP TABLE `oc_mozilla_sync_collections`, `oc_mozilla_sync_users`, `oc_mozilla_sync_wbo`;");

//Close connection
mysql_close($mySQLConnection);
?>

Zu finden ist das Skript auf GitHub. Es entfernt dabei die Tabellen „oc_mozilla_sync_collections“, „oc_mozilla_sync_users“ und „oc_mozilla_sync_wbo“. Daneben wird die Tabelle „oc_appconfig“ um die Einträge der App bereinigt.