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


- Schutz des Datenverzeichnisses
- 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
- Die Apache Konfigurationsdatei ändern
- Das Datenverzeichnis an einen Platz legen, der nicht öffentlich, aber für den Webserver erreichbar ist
- 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.
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.
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).
tl:dr ownCloud ist eine vollwertige Dropbox Alternative mit voller Kontrolle, gehostet auf eigenen Root-Servern
Schreibe einen Kommentar