Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
software:owncloud [2018/05/04 08:34] – [automatischer Logout nach x Minuten] st | software:owncloud [2021/01/22 20:37] (aktuell) – st | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== owncloud ====== | ||
+ | ownCloud ist eine open-source Software zur Verteilung von Daten (Filehosting) und stellt auch andere Funktionen wie Kalender zur Verfügung. Im Gegensatz zu vergleichbaren Lösungen (dropbox, [[:strato hidrive]], icloud, google drive, ...) ist man nicht von einem cloud-Anbieter abhängig sondern kann mit eigenen Servern diese Dienste bereitstellen. | ||
+ | |||
+ | Aufgrund der stärkeren enterprise-Ausrichtung von owncloud hat sich [[software: | ||
+ | |||
+ | ===== Zukunft ===== | ||
+ | |||
+ | Nextcloud hat durch die Implementierung vieler features und apps mittlerweise eine dominante Stellung gegenüber owncloud. | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | |||
+ | ===== Links ===== | ||
+ | |||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | ownCloud (BSI)]] | ||
+ | * [[windows: | ||
+ | |||
+ | |||
+ | |||
+ | ===== Funktionen ===== | ||
+ | |||
+ | * Dateisync ähnlich zu dropbox, Client-Software stellt syncronisiertes Verzeichnis bereit | ||
+ | * Netzlaufwerks-Zugriff per [[netzwerke: | ||
+ | * Kalender (CalDAV) '' | ||
+ | * Android: Sync per App ([[https:// | ||
+ | * iOS (iphone, ipad, ...): [[http:// | ||
+ | * Thunderbird: | ||
+ | * Adressbuch: '' | ||
+ | * Android: CardDAV mit [[https:// | ||
+ | * iOS (iphone, ipad, ...): http:// | ||
+ | |||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | Grundsätzliche Schritte: | ||
+ | |||
+ | * Webpacket, virtuellen Server oder Root-Server aussuchen (idealerweise mit SSH-Zugriff, | ||
+ | * LAMP-Paket installieren (incl. php5-curl) | ||
+ | * Installationspaket in htdocs-Ordner herunterlagen (wget von owncloud.org) oder Pakete von owncloud installieren (falls SSH-Zugriff möglich) | ||
+ | * per phpmyadmin oder Kundenmenu einen mysql-Benutzer anlegen | ||
+ | * Webseite mit Installer aufrufen (Benötigte Infos: MySQL-Server, | ||
+ | * ggf. Dateirechte fixen | ||
+ | * HTTPS einrichten | ||
+ | * PHP-Cache und HSTS einrichten, siehe Admin-Seite | ||
+ | * **[[https:// | ||
+ | |||
+ | |||
+ | ===== Einschränkungen ===== | ||
+ | |||
+ | Aus Administrativer Sicht: | ||
+ | - Erweiterungen werden nach Updates immer wieder mal deaktiviert (Kalender, ...) | ||
+ | - (mindestens) die Debian-Pakete vom opensuse-Build-Service nehmen keine Anpassungen der Datenbank vor, bis diese abgeschlossen wurden (per Web oder Kommandozeile) kann owncloud nicht benutzt werden. | ||
+ | - hin und wieder sync-Bugs (u.a. mit symlinks), unbedingt Backups anfertigen! | ||
+ | - der Server sollte genug Leistung haben, kleine embedded-System wie der Rasperry pie sind überfordert | ||
+ | |||
+ | |||
+ | ==== behoben ==== | ||
+ | |||
+ | |||
+ | * selektiver Sync, bis Clientversion 1.7 gab es keine wirklich gute Lösung auf bestimmten Rechnern (Netbook?) bestimmte Ordner (z.B. Musiksammlung) von der Syncronisierung auszuschließen. | ||
+ | * nur ein Account pro lokalem Benutzername, | ||
+ | * Warnung vor großen Downloads: ab 2.x ab 500G pro Ordner Warnung | ||
+ | * Freigabe-Links vom Desktop (Windows-Client ab 2.x), kein extra Icon aber Freigabe aktivier- und deaktivierbar | ||
+ | |||
+ | |||
+ | ==== kein delta Sync ==== | ||
+ | |||
+ | Wird noch eine Weile aktuell bleiben: [[https:// | ||
+ | Geänderte Dateien werden als ganzes hochgeladen auch wenn nur wenige Byte dazu gekommen sind. Problematisch ist dies bei VM-Images und Truecrypt-Containern die damit mit owncloud nicht sinvoll zu benutzen sind. | ||
+ | |||
+ | Viele Benutzungsszenarien profitieren allerdings nicht von delta-sync: kleine Dateien, komprimierte Dateien und bei Einbindung von externem Speicher. | ||
+ | |||
+ | |||
+ | ==== Android: Speicherort für sync nicht wählbar ==== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | |||
+ | ==== kein file-locking via Webdav ==== | ||
+ | |||
+ | Seit der Version 8.1.x ist die file-locking-Unterstützung bei Zugriff über Webdav entfallen. Je nach Client hat das keine bis ernsthafte Auswirkung: | ||
+ | |||
+ | - Linux (davfs2): Nur Warnmeldung | ||
+ | - **MacOS/ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Konfiguration ===== | ||
+ | |||
+ | ==== Absicherung ==== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Webserver absichern (SSL-Konfiguration) | ||
+ | * Betriebbssystem absichern | ||
+ | |||
+ | * Gerätepasswörter: | ||
+ | * möglichst 2-Faktor-Authentifizierung das das Web benutzen | ||
+ | |||
+ | ==== MySQL Einstellungen ==== | ||
+ | |||
+ | Die Standard-Einstellungen müssen verändert werden, die transaction-isolation ist nämlich standardmäßig REPEATABLE-READ (muss READ-COMMITTED sein, siehe https:// | ||
+ | |||
+ | In der ''/ | ||
+ | < | ||
+ | [mysqld] | ||
+ | ... | ||
+ | # owncloud | ||
+ | binlog-format = MIXED | ||
+ | transaction-isolation = READ-COMMITTED | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ==== php-memcache und HSTS aktivieren ==== | ||
+ | |||
+ | APC(u): | ||
+ | * bis incl. PHP-Version 5.4 (debian: | ||
+ | * ab PHP-Version 5.5 (debian: | ||
+ | * ab PHP-Version 7.0 (debian: | ||
+ | |||
+ | Für den Cronjob per php-cli eintragen: In ''/ | ||
+ | < | ||
+ | |||
+ | '' | ||
+ | |||
+ | < | ||
+ | in neueren Version (ab 10.2 oder 10.3): | ||
+ | < | ||
+ | |||
+ | **HSTS in Apache aktivieren**: | ||
+ | < | ||
+ | < | ||
+ | Header always set Strict-Transport-Security " | ||
+ | </ | ||
+ | </ | ||
+ | <code bash> | ||
+ | |||
+ | ggf. das Modul headers aktivieren: <code bash> a2enmod headers && service apache2 restart</ | ||
+ | |||
+ | |||
+ | ==== automatischer Logout nach x Minuten ==== | ||
+ | |||
+ | Beispiel für 15Minuten (Standard ist 24h): | ||
+ | |||
+ | <code php> | ||
+ | <?php | ||
+ | $CONFIG = array ( | ||
+ | ... | ||
+ | ' | ||
+ | ... | ||
+ | );</ | ||
+ | |||
+ | |||
+ | ==== Wartungsmodus ==== | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | oder in der '' | ||
+ | |||
+ | |||
+ | ==== owncloud in frames erlauben ==== | ||
+ | |||
+ | Damit owncloud in frames funktioniert muss eine Zeile in der '' | ||
+ | <code php> | ||
+ | <?php | ||
+ | $CONFIG = array ( | ||
+ | ... | ||
+ | ' | ||
+ | ... | ||
+ | );</ | ||
+ | |||
+ | ==== Datenverzeichnis verschieben ==== | ||
+ | |||
+ | Um den Pfad des Datenverzeichnisses von owncloud zu ändern sind leider viele manuelle Schritte notwendig, unter anderem Änderungen in der Datenbank und Dateianpassungen (maintenance-Modus anschalten!). | ||
+ | Dies kann durch symbolische Links von dem alten und das neue Verzeichnis vermieden werden. | ||
+ | Ansonsten dieser Anleitung folgen: https:// | ||
+ | |||
+ | Mindestens diese Schritte sind notwendig: | ||
+ | <code php> | ||
+ | $CONFIG = array ( | ||
+ | ' | ||
+ | </ | ||
+ | |||
+ | <code sql> | ||
+ | UPDATE oc_accounts | ||
+ | SET home = REPLACE( | ||
+ | home, | ||
+ | '/ | ||
+ | '/ | ||
+ | ); | ||
+ | </ | ||
+ | |||
+ | Bei nextcloud ist die Sache etwas anders: https:// | ||
+ | ==== Datenbank von Sqlite zu MySQL konvertieren ==== | ||
+ | |||
+ | Sqlite ist für den Mehrbenutzerbetrieb nicht gut geeignet da die Datenbank als Datei auf dem Server liegt und bei jedem Zugriff gelesen wird, das kostet Performance. | ||
+ | |||
+ | |||
+ | Konvertierung am Beispiel von owncloud 7.0.1: | ||
+ | |||
+ | - das Skript " | ||
+ | - Mysql muss installiert sein (Paket mysql-server bei Debian) und (z.B. mit phpmyadmin) ein Benutzer + eine leere Datenbank mit allen Rechten für diesen Benutzer angelegt sein. | ||
+ | - das occ-Skript wird zur Konvertierung gestartet (im Beispiel ist der DB-Benutzer: | ||
+ | Creating schema in new database | ||
+ | The following tables will not be converted: | ||
+ | oc_permissions | ||
+ | Continue with the conversion? | ||
+ | oc_activity | ||
+ | | ||
+ | oc_activity_mq | ||
+ | 0/0 [============================] | ||
+ | oc_appconfig | ||
+ | 85/85 [============================] 100% | ||
+ | oc_clndr_calendars | ||
+ | 11/11 [============================] 100% | ||
+ | oc_clndr_objects | ||
+ | 31/31 [============================] 100% | ||
+ | oc_clndr_repeat | ||
+ | 66/66 [============================] 100% | ||
+ | oc_clndr_share_calendar | ||
+ | 0/0 [============================] | ||
+ | oc_clndr_share_event | ||
+ | 0/0 [============================] | ||
+ | oc_contacts_addressbooks | ||
+ | 7/7 [============================] 100% | ||
+ | oc_contacts_cards | ||
+ | 0/0 [============================] | ||
+ | oc_contacts_cards_properties | ||
+ | 0/0 [============================] | ||
+ | oc_documents_invite | ||
+ | 0/0 [============================] | ||
+ | oc_documents_member | ||
+ | 0/0 [============================] | ||
+ | oc_documents_op | ||
+ | 0/0 [============================] | ||
+ | oc_documents_revisions | ||
+ | 0/0 [============================] | ||
+ | oc_documents_session | ||
+ | 0/0 [============================] | ||
+ | oc_file_map | ||
+ | 0/0 [============================] | ||
+ | oc_filecache | ||
+ | | ||
+ | oc_files_trash | ||
+ | 28/28 [============================] 100% | ||
+ | oc_gallery_sharing | ||
+ | 0/0 [============================] | ||
+ | oc_group_admin | ||
+ | 4/4 [============================] 100% | ||
+ | oc_group_user | ||
+ | 14/14 [============================] 100% | ||
+ | oc_groups | ||
+ | 5/5 [============================] 100% | ||
+ | oc_jobs | ||
+ | | ||
+ | oc_locks | ||
+ | 0/0 [============================] | ||
+ | oc_lucene_status | ||
+ | 38/38 [============================] 100% | ||
+ | oc_mimetypes | ||
+ | 36/36 [============================] 100% | ||
+ | oc_pictures_images_cache | ||
+ | 0/0 [============================] | ||
+ | oc_preferences | ||
+ | 29/29 [============================] 100% | ||
+ | oc_privatedata | ||
+ | 0/0 [============================] | ||
+ | oc_properties | ||
+ | 0/0 [============================] | ||
+ | oc_share | ||
+ | 11/11 [============================] 100% | ||
+ | oc_share_external | ||
+ | 0/0 [============================] | ||
+ | oc_storages | ||
+ | 7/7 [============================] 100% | ||
+ | oc_users | ||
+ | 9/9 [============================] 100% | ||
+ | oc_vcategory | ||
+ | 31/31 [============================] 100% | ||
+ | oc_vcategory_to_object | ||
+ | 0/0 [============================] | ||
+ | </ | ||
+ | Das Skript nimmt ebenfalls selbstständig die Einstellungen in der Konfigurationsdatei config/ | ||
+ | |||
+ | |||
+ | [[https:// | ||
+ | |||
+ | |||
+ | ==== Calendar-Plugin / neuer Appstore ==== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | '' | ||
+ | < | ||
+ | ' | ||
+ | </ | ||
+ | |||
+ | ===== Wartungsfunktionen ===== | ||
+ | |||
+ | * Wartungsmodus einschalten: | ||
+ | * ..aus: '' | ||
+ | * Datenbank mit der Realität (=vorhandene Dateien) abgleichen: '' | ||
+ | * shares, tags, comments aufräumen: '' |