Kategorien
Cloud Shared Hosting

ownCloud -> Nextcloud

Du kennt ja bestimmt das Projekt ownCloud. Es ist eine freie Software zum Speichern von Dateien auf dem eigenen Server. Im Prinzip eine Art Dropbox Ersatz, über den ich hier im Blog auch bereits geschrieben habe (OwnCloud Installation und Clients). Das ownCloud Projekt wurde vor sechs Jahren von Frank Karlitschek gestartet und entwickelte sich sehr erfolgreich. In den USA wurde das Startup ownCloud Inc. gegründet, in Nürnberg die ownCloud GmbH. Frank Karlitschek lebte und arbeitete in den USA.

Im April diesen Jahres veröffentlichte er den Blogeintrag: big changes: I am leaving ownCloud, Inc. today und OwnCloud Inc. antwortete mit einem Blogeintrag: Thank You, Frank Karlitschek. Danach verliessen mehr und mehr Entwickler die Firma ownCloud. Am 2. Juni gab es erneut einen Blogeintrag in Karlitscheks Blog, in dem er bekanntgab, einen Fork von ownCloud mit dem Namen Nextcloud zu starten (Blogeintrag: Nextcloud). Der Fokus von Nextcloud soll darauf liegen, Nutzern die komplette Hoheit über ihre Daten zu geben. In diesem Zusammenhang gibt es auch einen interessanten Blogeintrag von Frank aus Februar 2016 The privacy endgame.

Nach der Ankündigung des Forks überstürzten sich die Ereignisse. Im Ergebnis meldete ownCloud Inc. Konkurs an und die deutsche ownCloud GmbH führt das Unternehmensgeschäft weiter. Die neue Firma Nextcloud hat ihren Sitz in Stuttgart und fand schnell Investoren, die die weitere Entwicklung auf sichere, finanzielle Beine stellten.

Mitte Juni erschien die erste Version von Nextcloud und mittlerweile (Juli 2016) gibt es bereits erste Updates und eigene Android und iPhone clients. Mit den Updates erschiepnen auch erste neue Features.

Es gibt ein ausführliches, sehr empfehlenswertes Interview mit Frank mit vielen Hintergrundinformationen im Radiotux Podcast Juni ab der Stelle 1:05:05.

Wenn du, so wie ich, eine ownCloud Installation betreibst, stellt sich natürlich die Frage: „Was nun?“ Die meiner Meinung nach genauso einfache Antwort heisst: „Ruhe bewahren und auf Nextcloud updaten“. Wenn die Gründer und Entwickler aus einem Projekt aussteigen, den Quellcode forken und ihr eigenes Ding machen, ist das Vorgängerprojekt meistens tot (siehe beispielsweise Mambo/Joomla oder OpenOffice/LibreOffice). Natürlich läuft das Geschäft der alten Firma zunächst mal weiter und Unternehmenskunden erhalten auch Support, kreative Weiterentwicklung findet jedoch eher nicht statt.

Update von ownCloud zu Nextcloud

Ein Update von ownCloud zu Nextcloud ist leicht zu erledigen. Im Nextcloud Forum (das übrigens unter Discourse läuft) gibt es viel Hilfestellung, beispielsweise hier: Migrating from ownCloud to Nextcloud.


Update 28.07.2016
Fehlermeldung: Leere PATH Variable
Bei der von NOVATREND verwendeten Webserverkonfiguration, wird die PATH Variable nicht übergeben. Wir verwenden / befolgen jedoch auf all unseren Systemen den sogenannten Filesystem Hierarchy Standard. Wenn OwnCloud/NextCloud keine PATH Variable findet, setzt es selbst eine, die den Standardpfaden entspricht. Siehe auch https://github.com/nextcloud/server/blob/8c7d7d7746e76b77ad86cee3aae5dbd4d1bcd896/lib/private/legacy/helper.php#L532.
Die Meldung bezüglich der leeren PATH Variable, die sowohl OwnCloud als auch Nextcloud anzeigen, kann daher ignoriert werden.


Ich glaube es ist durchaus sinnvoll, seine ownCloud Installation zügig zu migrieren, da die Entwicklung von Nextcloud schnell fortschreitet. Der in ownCloud doch recht komplizierte Upgrade Prozess wurde in Nextcloud bereits durch einen komfortablen Updater im Browser ersetzt. Als Administrator kann man nun auch im Browser das Theme mit seinem eigenen Logo und einem Hintergrundbild anpassen. Sieht dann beispielsweise so aus 🙂

Nextcloud - Anmeldung
Nextcloud – Anmeldung

Ausser diesen, ich will mal sagen Kleinigkeiten, scheint sich aber durchaus mehr zu tun.
So soll man bald mittels WebRTC, einem offenen Kommunikationsstandard, sichere Webkonferenzen über Nextcloud veranstalten können.
Die in ownCloud eher vernachlässigten Apps Kontakte und Kalender sollen ebenfalls zügig verbessert werden.

Videos

Theming Nextcloud in 37 seconds

Anonymous upload in 2 minutes

Shorter share links: getting rid of index.php

Fazit

Der Fork wird frischen Wind in die Szene bringen und Nextcloud ist bereits jetzt ein interessantes Projekt mit lebhafter Community.

Hinweis in eigener Sache
Wenn dir Installation und Pflege einer eigenen Cloud zu aufwendig sind und du eine ausgereifte, funktionierende und gut integrierte Groupware suchst, dann nutze als Hosting Kunde einfach kostenlos die OX App Suite.

Links:

Kategorien
Cloud

OwnCloud – Upgrade auf Version 8

Vor einem halben Jahr habe ich beschrieben wie man OwnCloud auf dem eigenen Server installiert, damals in der Version 7. Die Installation auf dem Testserver war schnell beliebt und so existiert sie immer noch und muss gewartet werden.
Mittlerweile ist die Version 8 von OwnCloud aktuell und in diesem Blogeintrag will ich Ihnen zeigen, wie man die Aktualisierung bewerkstelligt.

Eine Übersicht über die neuen Features gibt das folgende Video.

Upgrade

Das Upgrade bedeutet einen kompletten Austausch des Quellcodes. Dabei muss zwischen dem OwnCloud Code und dem Code der Third Party Extensions unterschieden werden. Ausserdem muss die Datenbank aktualisiert werden.

Haben Sie ein Backup?

Haben Sie ein Backup Ihrer OwnCloud Installation (Datenbank, /data Verzeichnis und config.php Datei)?
Wenn nein, sollten Sie eins erstellen. Falls Sie kein Duply Backup haben, geht es auch pragmatisch mit phpMyAdmin und dem Norton Commander. Offizielle Backup-Empfehlungen des OwnCloud Projekts finden Sie hier: Backing up ownCloud.

Kompatibilitätsprüfung

Da wir einen Major Release Wechsel vornehmen (von Version 7.x auf 8.x) müssen Sie nachschauen, ob alle Third Party Apps mit der neuen Version kompatibel sind.

Deaktivieren Sie anschliessend alle Third Party Apps. In unserer OwnCloud Installation ist das nicht notwendig, da wir keine zusätzlichen Apps installiert haben.

Maintenance Mode einschalten

Damit keine Benutzerzugriffe während des Upgrade-Vorgangs stattfinden, sollten Sie den „Maintenance“ Mode einschalten.

Ändern Sie dazu die maintenance Variable in der config.php die Zeile

sudo nano /var/www/serverblogger.ch/public_html/owncloud/config/config.php
'maintenance' => false

in

'maintenance' => true

Download der neuen Version

Unsere OwnCloud Installation liegt in einem Unterverzeichnis namens OwnCloud.
Die vom OwnCloud Projekt vorgeschlagene Vorgehensweise für das Upgrade ist in diesem Fall:

  1. das alte Verzeichnis umbenennen
  2. ein neues Verzeichnis anzulegen
  3. die neue OwnCloud Version im neuen Verzeichnis installieren
  4. anschliessend die Daten und die Konfigurationsdatei der alten Installation kopieren.

Umbennen des alten Verzeichnisses

sudo mv /var/www/serverblogger.ch/public_html/owncloud /var/www/serverblogger.ch/public_html/owncloud_alt

Download und auspacken des neuen Archivs

Die aktuellen Downloads gibt es auf owncloud.org/install

Wechseln in das Home Verzeichnis

cd /home

Umbennen des existierenden Verzeichnisses

mv /var/www/serverblogger.ch/public_html/owncloud /var/www/serverblogger.ch/public_html/owncloud_alt

Download des aktuellen OwnCloud Dateipakets

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

Auspacken in das Verzeichnis /var/www/serverblogger.ch/public_html/owncloud

sudo tar xjf owncloud-8.0.3.tar.bz2 -C /var/www/serverblogger.ch/public_html/

Löschen von neuer config.sys und data Verzeichnis und kopieren der alten config.php und des alten data Verzeichnisses in die neue OwnCloud Installation

sudo rm /var/www/serverblogger.ch/public_html/owncloud/config/config.php
sudo cp /var/www/serverblogger.ch/public_html/owncloud_alt/config/config.php /var/www/serverblogger.ch/public_html/owncloud/config/config.php
sudo mkdir /var/www/serverblogger.ch/public_html/owncloud/data
sudo cp -r /var/www/serverblogger.ch/public_html/owncloud_alt/data /var/www/serverblogger.ch/public_html/owncloud/data
sudo chown -R www-data:www-data /var/www/serverblogger.ch/public_html/owncloud/

Datenbank Update

Nachdem die Dateien aktualisiert sind, muss auch die Datenbank aktualisiert werden. Das erfolgt über den Browser.
Rufen Sie einfach Ihre OwnCloud Installation auf. Das Datenbank Update erscheint automatisch.

OwnCloud Database Update
OwnCloud Database Update
Nach dem Datenbank-Update können Sie die OwnClud in der Version 8.03 nutzen.
OwnCloud - Version
OwnCloud – Version

OwnCloud Clients

Die OwnCloud Clients für Windows, OS X, Android und iOS nehmen den Versionswechsel zur Kenntnis und aktualisieren sich automatisch. Hier ein Beispiel auf meinem Computer daheim (OS X).

OwnCloud - OS X Client
OwnCloud – OS X Client

tl;dr: Ein Upgrade von OwnCloud 7.x auf OwnCloud 8.x ist gar nicht so schwer und lohnt sich

Kategorien
Cloud Server Shared Hosting Verschlüsselung

OwnCloud – Installation und Clients

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