Zum Einsatz von ownCloud habe ich ja hier und hier schon etwas geschrieben – jetzt ist ownCloud in Version 6 erschienen und kommt natürlich auch gleich auf den Prüfstand.
Meine Erkenntnisse werde ich nach und nach hier zusammentragen.
Noch ein Satz vorweg: ich habe OC6 auf einem ganz normalen Webhosting Paket bei HostEurope installiert – manche meiner Beobachtungen könnten damit zusammenhängen und folglich bei anderen Providern/Servern nicht auftreten.
Installation
Man kann leider immer noch kein Tabellenpräfix vorgeben, die Installation erfolgt standardmäßig mit oc_
. Vorsicht also, wenn man die neue Version in die alte Datenbank installieren will – das dürfte ziemlich in die Hose gehen, jedenfalls wenn man keine aktuelle Sicherung der Datenbank parat hat.
Ich habe direkt nach der Installation alle Tabellen manuell (in phpMyAdmin) umbenannt:
[code lang=”sql” gutter=”0″ collapse=”true” title=”SQL-Befehle…”]RENAME TABLE `meineDB`.`oc_activity` TO `meineDB`.`abcde_activity`;
RENAME TABLE `meineDB`.`oc_appconfig` TO `meineDB`.`abcde_appconfig`;
RENAME TABLE `meineDB`.`oc_clndr_calendars` TO `meineDB`.`abcde_clndr_calendars`;
RENAME TABLE `meineDB`.`oc_clndr_objects` TO `meineDB`.`abcde_clndr_objects`;
RENAME TABLE `meineDB`.`oc_clndr_repeat` TO `meineDB`.`abcde_clndr_repeat`;
RENAME TABLE `meineDB`.`oc_clndr_share_calendar` TO `meineDB`.`abcde_clndr_share_calendar`;
RENAME TABLE `meineDB`.`oc_clndr_share_event` TO `meineDB`.`abcde_clndr_share_event`;
RENAME TABLE `meineDB`.`oc_contacts_addressbooks` TO `meineDB`.`abcde_contacts_addressbooks`;
RENAME TABLE `meineDB`.`oc_contacts_cards` TO `meineDB`.`abcde_contacts_cards`;
RENAME TABLE `meineDB`.`oc_contacts_cards_properties` TO `meineDB`.`abcde_contacts_cards_properties`;
RENAME TABLE `meineDB`.`oc_documents_invite` TO `meineDB`.`abcde_documents_invite`;
RENAME TABLE `meineDB`.`oc_documents_member` TO `meineDB`.`abcde_documents_member`;
RENAME TABLE `meineDB`.`oc_documents_op` TO `meineDB`.`abcde_documents_op`;
RENAME TABLE `meineDB`.`oc_documents_revisions` TO `meineDB`.`abcde_documents_revisions`;
RENAME TABLE `meineDB`.`oc_documents_session` TO `meineDB`.`abcde_documents_session`;
RENAME TABLE `meineDB`.`oc_filecache` TO `meineDB`.`abcde_filecache`;
RENAME TABLE `meineDB`.`oc_files_trash` TO `meineDB`.`abcde_files_trash`;
RENAME TABLE `meineDB`.`oc_files_trashsize` TO `meineDB`.`abcde_files_trashsize`;
RENAME TABLE `meineDB`.`oc_files_versions` TO `meineDB`.`abcde_files_versions`;
RENAME TABLE `meineDB`.`oc_file_map` TO `meineDB`.`abcde_file_map`;
RENAME TABLE `meineDB`.`oc_gallery_sharing` TO `meineDB`.`abcde_gallery_sharing`;
RENAME TABLE `meineDB`.`oc_groups` TO `meineDB`.`abcde_groups`;
RENAME TABLE `meineDB`.`oc_group_admin` TO `meineDB`.`abcde_group_admin`;
RENAME TABLE `meineDB`.`oc_group_user` TO `meineDB`.`abcde_group_user`;
RENAME TABLE `meineDB`.`oc_jobs` TO `meineDB`.`abcde_jobs`;
RENAME TABLE `meineDB`.`oc_locks` TO `meineDB`.`abcde_locks`;
RENAME TABLE `meineDB`.`oc_lucene_status` TO `meineDB`.`abcde_lucene_status`;
RENAME TABLE `meineDB`.`oc_mimetypes` TO `meineDB`.`abcde_mimetypes`;
RENAME TABLE `meineDB`.`oc_mozilla_sync_collections` TO `meineDB`.`abcde_mozilla_sync_collections`;
RENAME TABLE `meineDB`.`oc_mozilla_sync_users` TO `meineDB`.`abcde_mozilla_sync_users`;
RENAME TABLE `meineDB`.`oc_mozilla_sync_wbo` TO `meineDB`.`abcde_mozilla_sync_wbo`;
RENAME TABLE `meineDB`.`oc_permissions` TO `meineDB`.`abcde_permissions`;
RENAME TABLE `meineDB`.`oc_pictures_images_cache` TO `meineDB`.`abcde_pictures_images_cache`;
RENAME TABLE `meineDB`.`oc_preferences` TO `meineDB`.`abcde_preferences`;
RENAME TABLE `meineDB`.`oc_privatedata` TO `meineDB`.`abcde_privatedata`;
RENAME TABLE `meineDB`.`oc_properties` TO `meineDB`.`abcde_properties`;
RENAME TABLE `meineDB`.`oc_share` TO `meineDB`.`abcde_share`;
RENAME TABLE `meineDB`.`oc_storages` TO `meineDB`.`abcde_storages`;
RENAME TABLE `meineDB`.`oc_users` TO `meineDB`.`abcde_users`;
RENAME TABLE `meineDB`.`oc_vcategory` TO `meineDB`.`abcde_vcategory`;
RENAME TABLE `meineDB`.`oc_vcategory_to_object` TO `meineDB`.`abcde_vcategory_to_object`;
[/code]
und anschließend noch in der config/config.php
das neue Präfix eingetragen:
[sourcecode lang=”php” highlight=”10″ toolbar=”false”]
<?php
$CONFIG = array (
‘instanceid’ => ‘…’,
‘passwordsalt’ => ‘…’,
‘datadirectory’ => ‘/home/www/htdocs/owncloud/data’,
‘dbtype’ => ‘mysql’,
‘version’ => ‘6.0.0.13’,
‘dbname’ => ‘cloud_oc6’,
‘dbhost’ => ‘localhost’,
‘dbtableprefix’ => ‘abcde_’,
‘dbuser’ => ‘johndoe’,
‘dbpassword’ => ‘mypassword’,
‘installed’ => true,
);[/sourcecode]
SSL-Proxy
Wer kein eigenes SSL-Zertifikat besitzt, kann ownCloud auch über einen SSL-Proxy seines Providers benutzen – bei der Einrichtung hat sich mit dem Versionswechsel nichts geändert, die config.php
muss wie gehabt um ein paar Parameter erweitert werden. Die Angaben im Beispiel unten sind von HostEurope; wer woanders hostet muss entsprechend die Adressen seines Providers eintragen.
[code lang=”php” toolbar=”false” gutter=”false” highlight=”4,5,6,7″]<?php
$CONFIG = array (
…
‘overwritehost’ => ‘ssl.webpack.de’,
‘overwriteprotocol’ => ‘https’,
‘overwritewebroot’ => ‘/meinedomain/owncloud’,
‘overwritecondaddr’ => ‘^10\.30\.7\.1(?:37|38|39|40)$’,
);[/code]
Die Cloud wird über den SSL-Proxy mit folgender Adresse aufgerufen:
https: //ssl.webpack.de/meinedomain/owncloud
(also overwriteprotocol + overwritehost + overwritewebroot).
Achtung: im ersten Anlauf konnte ich mit dem neuen Desktopclient (1.5.0) in dieser Konstellation (OC6 mit SSL-Proxy) mein eingebundenes S3-Verzeichnis (s.u.) nicht synchronisieren. Der Grund ist mir noch nicht ganz klar, aber die Fehlermeldung läßt Schlimmes vermuten: “CSync konnte sich nicht über einen Proxy verbinden. 500 Internal Server Error”.
Im zweiten Anlauf scheint es eher an OC6 als am Client zu liegen, denn mit der vorherigen Version 1.4.2 kommt die gleiche Fehlermeldung.
Mit ownCloud 6.0.0a und dem Desktop Client 1.5.0 funktioniert es jetzt – bis auf ein bekanntes Problem: Dateien mit Pluszeichen (+) im Namen werden nicht synchronisiert.
S3-Anbindung
Im Backend kann man jetzt wesentlich mehr Parameter für eine S3-Verbindung eingeben, unter anderem auch einen eigenen Hostnamen wie z.B. cs.hosteurope.de
. Damit werden die Updates wieder einfacher, weil ich endlich nicht mehr in jeder neue Version die entsprechenden Dateien manuell patchen muss.
Ob der Bucketname jetzt auch Punkte akzeptiert (bei Amazon selber geht das nicht, bei Hosteurope ist das kein Problem) habe ich nicht getestet, weil es mich im Moment nicht interessiert.
Bilder werden nicht angezeigt
Auch kein neues Problem: Nicht alle Fotos aus meinem eingebundenen S3-Verzeichnis werden in ownCloud auch als Bilder angezeigt; in der Tabelle oc_filecache
landen sie mit “falschem” MIME-Typ. Mit dem Versionswechsel haben sich allerdings auch die mimetypes geändert, so dass die Einträge in der Tabelle jetzt wie folgt aktualisiert werden können:
[code lang=”sql” gutter=”0″ toolbar=”false”]UPDATE ‘oc_filecache’ set mimetype=6, mimepart=5 WHERE name like ‘%.jpg’ and mimetype&lt;&gt;6[/code]
Auch das ist mit der 6.0.0a – zumindest bei mir – behoben.
Sonderzeichen in Dateinamen
Wie oben schon angerissen: Pluszeichen in Dateinamen führen dazu, dass die Datei nicht synchronisiert wird. Man kann zwar im Browser eine Datei mit Pluszeichen im Namen neu erzeugen, die dann sogar vom Sync-Client heruntergeldean wird (!!) – aber anschließend kommt beim nächsten Sync wieder die Fehlermeldung
Die guten deutschen Umlaute scheinen die Weboberfläche zu irritieren: der angezeigte Dateiname wird vor dem Umlaut abgeschnitten; in der Datenbank steht der komplette Name incl. Umlaut. Statt Ina Müller.mp3
wird einfach nur Ina M
angezeigt, ohne Dateityp und ohne Icon.
(Fortsetzung folgt…)