Vollbildmodus: Seiteninhalt ohne Menus

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.

Links

Funktionen

Installation

Grundsätzliche Schritte:

  • Webpacket, virtuellen Server oder Root-Server aussuchen (idealerweise mit SSH-Zugriff, nicht zu billig wg. Leistung)
  • 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, Datenbankname, MySQL-Benutzer, MySQL-Passwort)
  • ggf. Dateirechte fixen
  • HTTPS einrichten
  • PHP-Cache und HSTS einrichten, siehe Admin-Seite

Einschränkungen

Aus Administrativer Sicht:

  1. Erweiterungen werden nach Updates immer wieder mal deaktiviert (Kalender, …)
  2. (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.
  3. hin und wieder sync-Bugs (u.a. mit symlinks), unbedingt Backups anfertigen!
  4. 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, vor Clientversion 2.x ging pro lokalem Benutzer im Client nur ein Benutzer auf einem owncloud-Server
  • 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: Sync only the file change, not entire file #179 oder auch: Incremental Sync in ownCloud. 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

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:

  1. Linux (davfs2): Nur Warnmeldung
  2. MacOS/Finder (WebDAVFS): Laufwerk wird lediglich schreibgeschützt eingebunden! Ein entsprechender workaround ist entwickelt aber bisher für Version 9.x vorgesehen, möglicherweise wird er zurückportiert auf 8.1.x/8.2x, die Entscheidung steht noch aus wie man im Bugticket #17732 ablesen kann.

Konfiguration

php-memcache und HSTS aktivieren

APC(u):

  • bis incl. PHP-Version 5.4 (debian:Debian Wheezy):
    aptitude install php-apc && /etc/init.d/apache2 reload
      * ab PHP-Version 5.5 (debian:Debian Jessie): <code bash>aptitude install php5-apcu && /etc/init.d/apache2 reload

Für den Cronjob per php5-cli eintragen: /etc/php5/cli/php.ini:

apc.enable_cli=1

config.php:

'memcache.local' => '\\OC\\Memcache\\APC',

HSTS in Apache aktivieren:

<IfModule mod_headers.c>
  Header always set Strict-Transport-Security "max-age=15768000"
</IfModule>service apache2 restart

ggf. das Modul headers aktivieren:

 a2enmod headers && service apache2 restart

automatischer Logout nach x Minuten

Beispiel für 15Minuten (Standard ist 24h):

<?php
$CONFIG = array (
  ...
  'session_lifetime' => '60*15',
  ...
);

owncloud in frames erlauben

Damit owncloud in frames funktioniert muss eine Zeile in der config/onfig.php ergänzt werden:

<?php
$CONFIG = array (
  ...
  'xframe_restriction' => false,
  ...
);

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:

  1. das Skript „occ“ muss ausführbar gemacht werden, es befindet sich im Stammordner der owncloud-Installation (z.B. /var/www/owncloud)
    chmod +x occ
  2. 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.
  3. das occ-Skript wird zur Konvertierung gestartet (im Beispiel ist der DB-Benutzer: owncloud mit Passwort „geheim“ auf Server „localhost“ mit der Datenbank „owncloudDBName“):
    ./occ db:convert-type --password="geheim" --all-apps mysql owncloud localhost owncloudDBName
    Creating schema in new database
    The following tables will not be converted:
    oc_permissions
    Continue with the conversion?y
    oc_activity
     3780/3784 [===========================>]  99%
    oc_activity_mq
        0/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 [============================]   0%
    oc_clndr_share_event
      0/0 [============================]   0%
    oc_contacts_addressbooks
     7/7 [============================] 100%
    oc_contacts_cards
     0/0 [============================]   0%
    oc_contacts_cards_properties
     0/0 [============================]   0%
    oc_documents_invite
     0/0 [============================]   0%
    oc_documents_member
     0/0 [============================]   0%
    oc_documents_op
     0/0 [============================]   0%
    oc_documents_revisions
     0/0 [============================]   0%
    oc_documents_session
     0/0 [============================]   0%
    oc_file_map
     0/0 [============================]   0%
    oc_filecache
     3225/3226 [===========================>]  99%
    oc_files_trash
     28/28 [============================] 100%
    oc_gallery_sharing
      0/0 [============================]   0%
    oc_group_admin
     4/4 [============================] 100%
    oc_group_user
     14/14 [============================] 100%
    oc_groups
     5/5 [============================] 100%
    oc_jobs
     2770/2771 [===========================>]  99%
    oc_locks
        0/0 [============================]   0%
    oc_lucene_status
     38/38 [============================] 100%
    oc_mimetypes
     36/36 [============================] 100%
    oc_pictures_images_cache
      0/0 [============================]   0%
    oc_preferences
     29/29 [============================] 100%
    oc_privatedata
      0/0 [============================]   0%
    oc_properties
      0/0 [============================]   0%
    oc_share
     11/11 [============================] 100%
    oc_share_external
      0/0 [============================]   0%
    oc_storages
     7/7 [============================] 100%
    oc_users
     9/9 [============================] 100%
    oc_vcategory
     31/31 [============================] 100%
    oc_vcategory_to_object
      0/0 [============================]   0%

Das Skript nimmt ebenfalls selbstständig die Einstellungen in der Konfigurationsdatei config/config.php vor.

SemperVideo - Owncloud 8: Datenbank auf MySQL konvertieren, eine Anleitung für Version 8 incl. Webmin.

 
software/owncloud.txt · Zuletzt geändert: 2016/10/11 18:06 von st
 
Backlinks: [[software:owncloud]]