ownCloud

ownCloud ermöglicht es dir über WebDAV sowie über ein Webinterface Dateien in deiner persönlichen Cloud zu speichern. Diese sind, wenn der Server von überall erreichbar ist, auch von überall zugänglich. Das Verzeichnis kann über WebDAV lokal eingebunden werden und somit zur Synchronisation von Dateien dienen. Außerdem verfügt ownCloud über die Möglichkeiten, Kalender und Adressbücher zu synchronisieren.

Softwarevoraussetzungen: Paketverwaltung | LAMP | phpMyAdmin (optional) | Apache Webserver (optional Informationen zum Verständnis) | siehe weiter unten
Schwierigkeitsgrad: Mittel
Ausgetestet mit folgenden Betriebssystemen: Ubuntu (Precise hat für ownCloud 8 eine zu alte PHP-Version!) | Debian | teilweise auch andere Distributionen

Archiv: Diese Anleitung richtet sich an ältere Versionen von ownCloud (5.0.19, 6.0.8, 7.0.12 bzw. 8.2.2). Dabei wird auf die Installationsweise Manual, d.h. Download des Quelltextes und Verschieben in das Webroot eingegangen. Alternativ existieren auch Pakete für zahlreiche Distributionen, Appliances und ein Web-Installer.

Voraussetzungen & Hinweise

  • Ein vollständiger LAMP ist wie bereits im Header erwähnt die Basis. Zudem sollte der Apache über einen oder mehrere brauchbare V-Hosts verfügen. Soll ownCloud über HTTPS (SSL) erreichbar sein, wird ein SSL-V-Hosts benötigt (mehr zu Apache).
  • In meinem Test lies sich ownCloud nicht im PHP-Safemode mit aktivierter Sandbox installieren. In einer Standardinstallation dürften diese Einstellungen zum Glück nicht vorhanden sein. Falls du sie trotzdem aktiviert hast, deaktiviere sie für die Dauer der Installation und überprüfe danach, ob ownCloud auch mit diesen Einstellungen funktioniert.
  • Eine extra HTTP-Authentifizierung durch Apache ist überflüssig. Wenn die Benutzername von ownCloud nicht mit denen der HTTP-Authentifizierung übereinstimmt, ist ein lokales Einbinden des WebDAVs nicht möglich!

Installation der benötigten Pakete

ownCloud 7 & 8

Zusätzlich zu einem LAMP, der in dieser Anleitung bereits vorausgesetzt wird, werden noch weitere PHP-Module als Abhängigkeiten benötigt. Die in Lucid (Ubuntu 10.04 LTS) enthaltene PHP Version reicht nur noch für ownCloud 5, da ownCloud 7 ein moderneres PHP (>= 5.3.8, minimum recommended 5.4) benötigt! ownCloud 8 benötigt eine noch aktuellere PHP Version (>= 5.4), wofür auch die in Precise (Ubuntu 12.04 LTS) enthaltene Version zu alt ist. Für ownCloud 8 müssen Ubuntuuser also zu Trusty (14.04 LTS) greifen. Die weiteren Abhängigkeiten können hier eingesehen werden und sind hier nochmal mit dem jew. Paket zusammengefasst. Die Pakete können dann z.B. mit apt (sudo apt-get install PAKET) installiert werden.
Die folgenden Abhängigkeiten müssen erfüllt sein bzw. sind empfohlen:

  • PHP module GD: php5-gd
  • PHP module JSON: php5-json bzw. php-services-json
  • PHP module libxml: php-xml-parser
  • PHP module curl (highly recommended, some functionality, e.g. http user authentication, depends on this): php5-curl
  • PHP module intl (increases language translation performance): php5-intl
  • PHP module mcrypt (increases file encryption performance): php5-mcrypt
user@server:~$ sudo apt-get install php5-gd php5-json php5-curl php5-intl php5-mcrypt php-xml-parser

Diese Pakete werden für einige Apps und Zusatzfeatures benötigt:

  • PHP module ldap (for ldap integration): php5-ldap
  • smbclient (for SMB storage): smbclient
  • PHP module ftp (for FTP storage): php-net-ftp
  • PHP module gmp (for SFTP storage): php5-gmp
  • PHP module imagick php5-imagick
  • avconv or ffmpeg: libavtools oder ffmpeg
  • OpenOffice or libreOffice: libreoffice-base (?)
user@server:~$ sudo apt-get install php5-ldap smbclient php-net-ftp php5-gmp php5-imagick ffmpeg

Ggf. kann noch einer der folgenden PHP-Beschleuniger verwendet werden (APC empfohlen):

  • PHP module apc: php-apc
  • PHP module apcu
  • PHP module xcache: php5-xcache
user@server:~$ sudo apt-get install php-apc

ownCloud 6

Auch hier wird neben einem LAMP (bereits vorausgesetzt) noch weitere PHP-Module als Abhängigkeiten benötigt. Bitte stelle sicher, dass dein Webserver die hier einsehbaren Abhängikeiten erfüllt und rüste Fehlende ggf. nach. Für ownCloud 6 reicht die in Lucid (Ubuntu 10.04 LTS) enthaltene PHP Version ebenfalls nicht mehr aus!

ownCloud 5 und älter

Laut der offiziellen Anleitung müssen folgende Abhängigkeiten erfüllt sein:

  • php5 (>= 5.3)
  • php5-gd
  • php-xml-parser

Da in dieser Anleitung ein LAMP bereits vorausgesetzt wird, müssen nur noch die zusätzlichen PHP-Module installiert werden. Dies geschieht wie folgt:

user@server:~$ sudo apt-get install php5-gd php-xml-parser

Hinweis: In älteren Versionen wurden noch weitere Module vorausgesetzt: php5-json php-pear

Optionale Pakete

Für einige Apps werden die Pakete php5-intl, curl, libcurl3 und php5-curl benötigt (in älteren ownCloud-Versionen zusätzlich libcurl3-dev ):

user@server:~$ sudo apt-get install php5-intl curl libcurl3 php5-curl

Sollen später SMB Netzwerkfreigeben eingebunden werden, wird das Paket smbclient benötigt:

user@server:~$ sudo apt-get install smbclient

In älteren ownCloud-Versionen musste man, um mehrere Dateien downloaden zu können (als Archiv) zusätzlich zip installieren:

user@server:~$ sudo apt-get install zip

Für ein besseres Scannen der Musikdateien (ebenfalls nur für ältere ownCloud-Versionen), kann das Paket mp3info installiert werden:

user@server:~$ sudo apt-get install mp3info

SQLite

Soll nachher statt MySQL oder PostgreSQL SQLite verwendet werden, müssen die Pakete sqlite und php5-sqlite installiert sein:

user@server:~$ sudo apt-get install sqlite php5-sqlite

Dies erspart später etwas Konfigurationsaufwand, bringt aber eine schlechtere Performance mit sich. Anschließend sollte Apache neu gestartet werden:

user@server:~$ sudo service apache2 restart

Installation der Webanwendung

Auch hier gehe ich davon aus, dass du den Standard-V-Host von Apache verwendest. Demnach läge das Webroot direkt in /var/www. Sollte dies bei dir nicht der Fall sein, musst du in den folgenden Befehlen /var/www auf dein Webroot anpassen.

Download der Webanwendung

In diesem Schritt lädst du dir Version 8.2.2 herunter und verschiebst den Inhalt in das Webroot:

user@server:~$ cd /tmp
user@server:/tmp$ wget https://download.owncloud.org/community/owncloud-8.2.2.tar.bz2   # Version 8.2.2 downloaden
user@server:/tmp$ tar xvf owncloud-8.2.2.tar.bz2                                        # Das Paket entpacken. Evtl muss noch "bzip2" installiert werden
user@server:/tmp$ sudo mv owncloud /var/www                               # Das heruntergeladene Verzeichnis ins Webroot verschieben
user@server:/tmp$ sudo chown -R www-data:www-data /var/www/owncloud       # Anpassen der Rechte im Webroot

Es steht auch noch Version 7.0.12 zur Wahl:

user@server:~$ cd /tmp
user@server:/tmp$ wget https://download.owncloud.org/community/owncloud-7.0.12.tar.bz2   # Version 7.0.12 downloaden
user@server:/tmp$ tar xvf owncloud-7.0.12.tar.bz2                                        # Das Paket entpacken. Evtl muss noch "bzip2" installiert werden
user@server:/tmp$ sudo mv owncloud /var/www                               # Das heruntergeladene Verzeichnis ins Webroot verschieben
user@server:/tmp$ sudo chown -R www-data:www-data /var/www/owncloud       # Anpassen der Rechte im Webroot

Alternativ kannst du auch die Version 6.0.8 verwenden:

user@server:~$ cd /tmp
user@server:/tmp$ wget https://download.owncloud.org/community/owncloud-6.0.8.tar.bz2   # Version 6.0.8 downloaden
user@server:/tmp$ tar xvf owncloud-6.0.8.tar.bz2                                        # Das Paket entpacken. Evtl muss noch "bzip2" installiert werden
user@server:/tmp$ sudo mv owncloud /var/www                               # Das heruntergeladene Verzeichnis ins Webroot verschieben
user@server:/tmp$ sudo chown -R www-data:www-data /var/www/owncloud       # Anpassen der Rechte im Webroot

Die etwas ältere Version 5.0.19 steht ebenfalls noch zur Auswahl:

user@server:~$ cd /tmp
user@server:/tmp$ wget https://download.owncloud.org/community/owncloud-5.0.19.tar.bz2     # Version 5.0.19 downloaden
user@server:/tmp$ tar xvf owncloud-5.0.19.tar.bz2                                          # Das Paket entpacken. Evtl muss noch "bzip2" installiert werden
user@server:/tmp$ sudo mv owncloud /var/www                               # Das heruntergeladene Verzeichnis ins Webroot verschieben
user@server:/tmp$ sudo chown -R www-data:www-data /var/www/owncloud       # Anpassen der Rechte im Webroot

Wenn du stattdessen die Entwicklerversion von ownCloud (siehe auch: ownCloud Seite) verwenden willst, musst du wie folgt vorgehen:

user@server:~$ sudo apt-get install git-core                   # Installation von git
user@server:~$ cd /var/www
user@server:/var/www$ sudo git clone https://github.com/owncloud/core ./owncloud   # Mittels git die neuste Version "besorgen"
user@server:/var/www$ sudo git clone https://github.com/owncloud/apps
user@server:/var/www$ sudo git clone https://github.com/owncloud/3rdparty
user@server:/var/www$ sudo chown -R www-data:www-data owncloud apps 3rdparty       # Anpassen der Rechte im Webroot

Konfiguration von Apache

Damit die .htaccess von ownCloud von Apache akzeptiert wird, muss die AllowOverride Direktive des jeweiligen V-Hosts (mehr zu V-Hosts) auf All gesetzt werden.

Hinweis: Wenn du statt Apache Version 2.2 Aapche 2.4 verwendest (siehe Ausgabe von apache2 -v), ändert sich die Konfiguration leicht:

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
</Directory>

bzw.

<Directory /var/www/owncloud/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
</Directory>

Normalerweise ist dies schon der Fall. Hier ein Beispiel:

<Directory /var/www/>
   Options Indexes FollowSymLinks MultiViews
   AllowOverride All
   Order allow,deny
   allow from all
</Directory>

Wenn du die Direktive AllowOverride nur in einem Ordner auf All setzen willst, kannst du dies wie folgt tun:

<Directory /var/www/owncloud/>
   Options Indexes FollowSymLinks MultiViews
   AllowOverride All
   Order allow,deny
   allow from all
</Directory>

Dieses Code-Beispiel ist natürlich nicht bindend, es ist nur wichtig, dass folgende Einstellung für das verwendete Verzeichnis gilt:

   AllowOverride All

Die Konfigurationsdatei für den default V-Host findet sich normalerweise in /etc/apache2/sites-available/default und kann folglich so bearbeitet werden:

user@server:~$ sudo nano /etc/apache2/sites-available/default

Falls Mod Rewrite noch nicht aktiviert ist, muss dies nun erledigt werden:

user@server:~$ sudo a2enmod rewrite                  # Mod Rewrite aktivieren
user@server:~$ sudo service apache2 restart      # Apache neu starten

Ausführen des Assistenten

Besuchen des Webinterfaces

Hierzu besucht man die die Adresse des V-Hosts mit einem Webbrowser, an die man hinter einem / den Pfad owncloud anhängt:

http://Adresse_des_V-Hosts/owncloud    # Syntax
http://server.tld/owncloud             # Beispiel
https://server.tld/owncloud            # Beispiel mit HTTPS
http://192.168.5.10/owncloud           # Beispiel mit IP

Sollte man statt dem Konfigurationsassistenten einen 500er („Internal Server Error“) bekommen, muss überprüft werden ob die AllowOverride Direktive des V-Hosts auf All gesetzt und Mod Rewrite wirklich aktiviert wurde.

Administrativer Benutzer

Im ersten Abschnitt Admin-Konto anlegen. der Konfiguration, werden die Zugangsdaten für den Admin Account festgelegt. Diese können beliebig gewählt werden.

Datenbankeinstellungen

Mit einem Klick auf Fortgeschritten können u.a. Datenbankeinstellungen vorgenommen werden. Die einfachste Möglichkeit ist die Verwendung von SQLite. Alternativ kann auch MySQL oder PostgreSQL verwendet werden.

SQLite

Es muss sichergestellt werden, dass die Pakete sqlite und php5-sqlite installiert sind (siehe Installation der benötigten Pakete, SQLite. Sollte dies der Fall sein dürfte SQLite automatisch von ownCloud ausgewählt worden sein. Die Verwendung von SQLite ist wesentlich Aufwands-ärmer als die von MySQL und sollte deshalb wenn möglich präferiert werden.

MySQL

Sollte aus irgendwelchen Gründen SQLite auf dem System nicht vorhanden sein oder soll aus anderen GründenMySQL bevorzugt werden, so kann selbstverständlich auch MySQL verwendet werden.

Anlegen der MySQL-Datenbank

Diese muss hier von Hand oder über phpMyAdmin angelegt werden. Hier eine Schritt-für-Schritt Anleitung mit installiertem phpMyAdmin:

  1. Aufrufen von phpMyAdmin im Webbrowser (siehe phpMyAdmin)
  2. Einloggen als root
  3. Oben in der Toolbar Rechte wählen
  4. Unten auf Neuen Benutzer hinzufügen klicken
  5. Das Formular wie folgt ausfüllen:
    • Anmeldeinformationen
      • Benutzername: owncloud
      • Host: leer lassen (sollte der neu angelegten mySQL-User nachher nicht funktionieren, hier localhost eintragen)
      • Passwort: bei Passwort generieren: auf Generieren klicken und generiertes Passwort notieren
    • Datenbank für Benutzer
      • Haken bei Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte
  6. Auf OK klicken
Einstellungen für MySQL

Im ownCloud Installationsassistenten im Abschnitt ErweitertDatenbank einrichten müssen nach einem Klick auf MySQL nun die Benutzerdaten für den vorher via phpMyAdmin angelegten Benutzer eingegeben werden:

  • Datenbankbenutzer: owncloud
  • Datenbankpasswort: in phpMyAdmin generiertes Passwort
  • Datenbankname: owncloud
  • Host: localhost

Speichern & Erster Login

Mit einem Klick auf Installation abschließen werden die Datenbanken angelegt und die Konfiguration gesichert. Wurden alle oberen Einstellungen richtig vorgenommen, erscheint anschließend die Weboberfläche von ownCloud

Konfiguration

Die Grundeinstellungen sind nach dem Login im Webinterface durch einen Klick auf Einstellungen (Zahnrad unten links) möglich. Hier lohnt es sich die einzelnen Reiter nach interessanten Funktionen zu durchforsten.

Uploadgröße

In ownCloud ist die maximale Uploadgröße bei genutzter .htaccess bereits auf 512MB angehoben, wer diese - aus welchem Grund auch immer - anheben oder senken möchte, kann dies zum einen über das Webinterface erledigen oder diese Einstellung manuell vornehmen, indem die .htaccess bearbeitet wird und die Werte für php_value upload_max_filesize und php_value post_max_size verändert wrerden. Die .htaccess befindet sich im ownCloud Ordner im Webroot. Mit nano könnte man jene so öffnen:

user@server:~$ sudo nano /var/www/owncloud/.htaccess

Die von ownCloud generierte .htaccess sieht nun etwa so aus:

ErrorDocument 403 /core/templates/403.php
ErrorDocument 404 /core/templates/404.php
<IfModule mod_php5.c>
php_value upload_max_filesize 513M
php_value post_max_size 513M
php_value memory_limit 512M
<IfModule env_module>
(...)

Wie in den Kommentaren erklärt müssen nun die Werte für php_value upload_max_filesize und php_value post_max_size verändert werden - hier ein Ausschnitt mit 700MB:

(...)
php_value upload_max_filesize 700M     # hier
php_value post_max_size 700M           # und hier wurden die Werte verändert
(...)

ownCloud nutzen

ownCloud kann wie ein normales WebDAV-Verzeichnis eingebunden werden. Der Pfad hierzu lautet:

# Mit ownCloud im Webroot:
webdav://server.tld/owncloud/files/webdav.php           # ohne SSL (Vorgabe)
webdavs://server.tld/owncloud/files/webdav.php          # mit SSL

Nautilus (Gnome & Unity)

Über die Adressleiste

Um diese Freigabe in Nautilus einzubinden muss web weggelassen werden:

# Mit ownCloud im Webroot:
dav://server.tld/owncloud/remote.php/webdav       # ohne SSL (Vorgabe)
davs://server.tld/owncloud/remote.php/webdav       # mit SSL

Diese Adresse kann direkt in die Adressleiste von Nautilus, die über [STRG] + L erreichbar ist, eingegeben werden und muss nur noch mit der [Eingabetaste] bestätigt werden. Anschließend wird man nach einem Benutzernamen und dem dazugehörigen Passwort gefragt, dazu nimmt man die Logindaten für das ownCloud-Webinterface.

Über "Mit Server verbinden"

Den Assistenten für Serververbindungen findet man unter DateiMit Server verbinden. Der Inhalt der Maske muss wie folgt ausgefüllt werden:

  • Dienste-Typ: ohne SSL (Vorgabe) → WebDAV (HTTP); mit SSL → Sicheres WebDAV (HTTPS)
  • Port: kann leer gelassen werden
  • Ordner: in unserem Beispiel → /owncloud/remote.php/webdav
  • Benutzername: der ownCloud Benutzer
  • Lesezeichen: optional

Weitere Clients

Hierfür finden sich Anleitungen auf der offiziellen Seite von ownCloud:

Viele weiteren Betriebssysteme unterstützen WebDAV hierzu muss unter anderem die Dokumentation der jew. Distribution/ des jew. OSes herangezogen werden. Der Pfad zum WebDAV der ownCloud Installation kann wie bereits erwähnt dem Webinterface in der Fußzeile entnommen werden.

Kalender, Kontakte und Musik

Kalender via CalDAV (siehe auch in der offiziele Dokumentation):

# Mit ownCloud im Ordner owncloud im Webroot:
http://server.tld/owncloud/remote.php/caldav        # ohne SSL (Vorgabe)
https://server.tld/owncloud/remote.php/caldav       # mit SSL
http://server.tld/owncloud/remote.php/caldav/principals/username/              # Spezialfall Apple iCal
http://server.tld/owncloud/remote.php/caldav/calendars/USERNAME/CALENDARNAME   # Spezialfall Mozilla Lightning

Adressbuch via CardDAV (siehe auch in der offiziele Dokumentation):

# Mit ownCloud im Ordner owncloud im Webroot:
http://server.tld/owncloud/remote.php/carddav       # ohne SSL (Vorgabe)
https://server.tld/owncloud/remote.php/carddav      # mit SSL

Musik via Ampache-URL (nicht ownCloud 6+, siehe auch in der offiziele Dokumentation):

# Mit ownCloud im Ordner owncloud im Webroot:
http://server.tld/owncloud/apps/media/       # ohne SSL (Vorgabe)
https://server.tld/owncloud/apps/media/      # mit SSL

Diese URLs kann man sich auch unter EinstellungenPersönlich anzeigen lassen.


chrisge 2018/05/26 01:27

Zur Bereitstellung eines bestmöglichen Angebots setzt diese Webseite Cookies ein. Durch die Nutzung dieser Webseite erklären Sie sich mit der Verwendung von Cookies einverstanden. Weitere Informationen