OwnCloud – Installation und Clients

ownCloud Logo

ownCloud Logo

In einer eigenen Cloud lagern Sie Ihre eigenen Daten, greifen mit verschiedenen Client darauf zu und synchronisieren die Datenbestände. Die Cloud Software ist auf Ihrem Root-Server installiert. Das Open Source Programm ownCloud ist gerade bei sensiblen oder auch allgemeinen Unternehmensdaten eine echt Alternative zu Dropbox, Google, iCloud und ähnlichen Programmen. Sie können über ihren PC, ihr Smartphone, Tablet oder über eine Weboberfläche auf die Daten zugreifen. Es gibt Clients für Linux, Mac OS, Windows, Android und iOS. OwnCloud bietet Benachrichtigungs- und soziale Netzwerkfunktionen für die Nutzer einer OwnCloud-Installation sowie zahlreiche Zusatzfunktionen, unter anderem einen Musikplayer, eine Fotogalerie und einen Editor zum gemeinsamen Bearbeiten von Dokumenten.

Die Daten können verschlüsselt übertragen und gespeichert werden. Das Programm existiert in einer Business- und einer Community Edition. Wir installieren die Community Edition. Das Serverprogramm ownCloud server ist Open Source Software und läuft in Ihrem LAMP Stack. Es ist über einen Browser nutzbar. Andere Dateimanager und Groupware Systeme können mit OwnCloud über eine Programmierschnittstelle (API) Kontakt aufnehmen. Die Client Software, die eine tiefere Verzahnung und eine Synchronisation von OwnCloud in Ihrem Desktop Betriebssystem erlaubt, wird von der Firma OwnCloud Inc. kostenlos herausgegeben. Für die Desktop Clients steht auch der Quellcode zur Verfügung. Bei den Apps für Smartphones gibt es die Android Version im Quellcode.

Installation

Sie können OwnCloud Server in einem virtuellen Apache Host (vhost) laufen lassen oder den Default Host Ihrer LAMP Installation nutzen. In diesem Beispiel nutze ich den Default Host, da auf diesem Root-Server nur die ownCloud laufen soll. Bevor etwas neues installieren, sollten Sie immer

apt-get update
apt-get upgrade

laufen lassen, damit Ihr System auf dem aktuellen Stand ist. Danach benötigen Sie den Apache Webserver, den MySQL Datenbankserver und die Programmiersprache PHP. Im Beitrag LAMP einrichten (LINK TODO) finden Sie die notwendigen Installationsschritte.

Notwendige PHP-Module

OwnCloud benötigt einige zusätzliche PHP-Module, die Sie mit dem Befehl

apt-get install php5-gd php5-json php5-curl php5-intl php5-mcrypt php5-imagick

installieren können.

  • php5-gd: ermöglicht die Ausgabe und Bearbeitung von Bildern im JPEG, GIF, PNG und anderen Formaten
  • php5-json: dieses Modul ermöglicht die Nutzung des „JavaScript Object Notation (JSON)“ Datenaustauschformats.
  • php5-curl: ermöglicht die Nutzung der libcurl Bibliothek aus PHP heraus. Diese Bibliothek bietet Möglichkeiten, unterschiedliche Server über gängige Protokolle zu verbinden. libcurl unterstützt u.a. HTTP, HTTPS, FTP, FILE, und das LDAP Protokoll.
  • php5-intl: ist das Internationalisierungsmodul von PHP
  • php5-mcrypt: ermöglicht die Nutzung der mcrypt Bibliothek. Sie unterstützt viele Verschlüsselungsalghorithmen.
  • php5-imagick: erlaubt Bilder in mehr als 100 verschiednenen Formaten zu erzeugen und zu verändern.

Starten Sie den Webserver neu

sudo service apache2 restart

Falls irgendetwas schiefgeht, schauen Sie in das Apache Error Log, vielleicht helfen Ihnen die Meldungen weiter (tail -f /var/log/apache2/error.log)

OwnCloud Quellcode herunterladen, überprüfen, auspacken

Unter https://owncloud.org/install/finden Sie die aktuellen Installationspakete. Kopieren Sie sich den Downloadlink der letzten stabilen Version ownCloud Server (in meinem Fall 7.02) und laden das Paket mit dem Befehl

wget https://download.owncloud.org/community/owncloud-7.0.2.tar.bz2

Da heutzutage nicht auszuschliessen ist, dass das Archiv tatsächlich das richtige Package ist, können Sie es überprüfen lassen. Sie können sich die Checksumme der Datei auf verschiedene Weise ausrechnen und überprüfen. Mit dem Befehl

novatrend@server1:~$ md5sum owncloud-7.0.2.tar.bz2
4af57e093878917d80004f7151f9282e  owncloud-7.0.2.tar.bz2

erzeugen Sie beispielsweise die md5 Checksummer für das Package. Die ausgegebenen Ziffern müssen mit dem Inhalt der Datei https://download.owncloud.org/community/owncloud-7.0.2.tar.bz2.md5 übereinstimmen. Sie können diese Datei auf Ihren lokalen PC laden und in einem Editor öffnen um die die Ziffern zu vergleichen. Packen Sie das Archiv mit dem Befehl

sudo tar -xvf owncloud-7.0.2.tar.bz2 -C /var/www/html

in das Dokumentenverzeichnis des Default Webservers aus. Es wird ein neues Verzeichnis owncloud angelegt, dass alle notwendigen Dateien enthält. Machen Sie den Benutzeraccount unter dem der Webserver läuft zum Eigentümer der Dateien.

sudo chown www-data:www-data -R /var/www/html/owncloud/

DB Datenbank und Benutzer anlegen

Rufen Sie den MySQL Monitor auf und erzeugen Sie ein Benutzerkonto und eine Datenbank. Im folgenden Beispiel heisst der Benutzer ownclouduser und die Datenbank ownclouddb.

mysql -u root -p
Enter password:
mysql> CREATE USER 'ownclouduser'@'localhost' IDENTIFIED BY 'IHRPASSWORT';
mysql> CREATE DATABASE ownclouddb;
mysql> GRANT ALL ON ownclouddb.* TO 'ownclouduser'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit

OwnCloud Webinstallation

Sie können nun auf Ihrem Root-Server das ownCloud Verzeichnis aufrufen und der ownCloud Webinstaller erscheint. In meinem Fall mit einer Sicherheitswarnung. http://[IP-Adresse]/owncloud

Webinstaller ownCloud
Webinstaller ownCloud
In diesem Formular müssen Sie das Verzeichnis eintragen, in dem Ihre Dateien liegen werden (bereits vorbelegt), den DB-Benutzernamen, das Password und den Namen der Datenbank. Danach müssen Sie noch Benutzernamen und Passwort des Administrators festlegen. Der Webinstaller konfiguriert automatisiert das Programm und Sie landen in der ownCloud Weboberfläche.
ownCloud Webclient
ownCloud Webclient
Sie können nun Ordner anlegen, Dateien hochladen, zusätzliche benutzer anlegen, die eigene Dateien verwalten und vieles andere mehr. Schauen Sie sich in Ruhe um. Bevor Sie sensible Dateien hochladen, sollten sie die Admin-Seite http://[IP-Adresse]/index.php/settings/admin aufrufen. Wir müssen uns um zwei Dinge kümmern:

  1. Schutz des Datenverzeichnisses
  2. Verschlüsselte Kommunikation

1. Schutz des Datenverzeichnisses

Security Warning Your data directory and files probably accessible from the internet because the .htaccess files does not work. For information how to properly configure your server, please see the documentation.

OwnCloud speichert alle Daten in einem Datenverzeichnis namens data. Damit keine unberechtigten Benutzer auf die Daten zugreifen können, schützt man solche Verzeichnisse mit einer sogenannten .htaccess Datei. Sie enthält Konfigurationsanweisungen für den Apache Webserver. Bei meiner Installation nutze ich als Datenverzeichnis /var/www/html/owncloud/data. In diesem Verzeichnis hat das ownCloud Programm eine .htaccess Datei erzeugt, die Befehler für den Apache Webserver enthält, um den öffentlichen Zugriff einzuschränken. Leider führt der Apache Webserver diese Datei offensichtlich nicht aus und es kommt zur Fehlermeldung. In diesem Fall liegt die Lösung in der Apache-Konfigurationsdatei /etc/apache2/apache2.conf. Der Standard Webserver ist aus Sicherheitsgründen so konfiguriert, dass keine .htaccess Dateien ausgeführt werden. Sie können das Problem nun auf mehrere Arten lösen

  1. Die Apache Konfigurationsdatei ändern
  2. Das Datenverzeichnis an einen Platz legen, der nicht öffentlich, aber für den Webserver erreichbar ist
  3. Einen virtuellen Host (vhost) erstellen und die entsprechenden Anweisungen angeben

Es gibt in diesem Fall kein richtig oder falsch. Jede Möglichkeit ist für sich gesehen ok. Ich nehme die Variante 1 und ändere die /etc/apache2/apache2.conf

sudo vi  /etc/apache2/apache2.conf

Fügen Sie nach Zeile 168 (nach den Anweisungen für das Verzeichnis /var/www/) folgende Anweisungen ein:

<Directory /var/www/html/>
        AllowOverride All
</Directory>

Der Befehl AllowOverride All bedeutet, dass es in diesem Verzeichnis erlaubt ist, die Apache Konfigurationseinstellungen zu überschreiben. Starten Sie den Webserser neu

sudo service apache2 restart

Die Fehlermeldung ist verschwunden. Der Webserver führt nun die OwnCloud Befehle aus und das Verzeichnis ist geschützt. Ein kurzer Blick auf die Admin Seite (Admin-Seite http://[IP-Adresse]/index.php/settings/admin) bestätigt das. Auch hier ist die Warnung verschwunden.

2. Verschlüsselte Kommunikation

Security Warning You are accessing ownCloud via HTTP. We strongly suggest you configure your server to require using HTTPS instead.

Dieses Thema ist sehr wichtig. Momentan werden Ihre Daten unverschlüsselt übertragen. Jeder, der Zugriff auf den Netzwerkverkehr zwischen Ihrer ownCloud Installation und Ihrem Client hat, kann Ihre Daten im Klartext mitlesen. Glücklicherweise wird Ubuntu 14.04 mit einer Lösung für dieses Problem ausgeliefert. Sie müssen nur die entsprechenden Module im Webserver aktivieren

sudo a2enmod ssl
sudo a2ensite default-ssl
sudo service apache2 reload

Die Standard Apache SSL Konfiguration können Sie mit dem folgenden Befehl einsehen cat /etc/apache2/sites-available/default-ssl.conf Wenn Sie nun Ihre ownCloud Installation im Webserver mit https:// anstelle von http:// aufrufen, wird der Netzwerkverkehr verschlüsselt. Je nach Browsertyp müssen Sie bestätigen, auf die Seite zugreifen zu wollen. Bei der Installation von Ubuntu wurde ein Zertifikat erzeugt, um die verschlüsselte Verbindung zu ermöglichen. Dieses Zertifikat ist von keiner offiziellen Stelle bestätigt und daher fragt der Browser nach.

Selbst erstelltes Zertifikat
Selbst erstelltes Zertifikat
Sie können auch jederzeit ein Zertifikat kaufen und auf Ihrem Root-Server installieren. Dann werden alle Browser ohne Nachfrage den Zugriff auf Ihre Seite ermöglichen.

Ausprobieren

Laden Sie ein paar Dateien per Browser in Ihre Owncloud Installation und machen Sie sich mit der Oberfläche vertraut

OwnCloud Clients

Auf die von Ihnen genutzten PC, Telefone und Tablets können Sie nun die entsprechenden ownCloud Clients installieren und mit Ihrer Server Installation verbinden. Die Downloads finden Sie unter http://owncloud.org/install/.

Beispiel Mac OS

Die OwnCloud App erzeugt einen zusätzlichen Ordner, der im Finder angezeigt wird. Alle Dateien, die sich in diesen Ordnern befinden werden mit Ihrem ownCloud Server synchronisiert. Die Einstellungen können im ownCloud menü im oberen Bildschirmrand vorgenommen werden.

ownCloud App Mac OS
ownCloud App Mac OS

Beispiel Android

Ich habe ein Android Telefon mit CyanogenMod Distribution. Es gibt mehrere ownCloud Clients, hier ein Screenshot vom original ownCloud client, herausgegeben von ownCloud Inc. Für diesen Client wird auch der Quellcode zur Verfügung gestellt (https://github.com/owncloud/android).

ownCloud Client für Android
ownCloud Client für Android

tl:dr ownCloud ist eine vollwertige Dropbox Alternative mit voller Kontrolle, gehostet auf eigenen Root-Servern

Autor: Hagen Graf

consultant, author, trainer, solution finder, web architect, developer, open source lover, visionary, orator, the good old webmaster. Able to simplify!

2 Gedanken zu „OwnCloud – Installation und Clients“

Kommentar verfassen