Linux

So richten Sie eine Home-Cloud für Ihre Daten ein

01.04.2018
Von Thorsten Eggeling
Dateien lassen sich mit vielen Methoden im eigenen Netzwerk ablegen und organisieren. Ein Nextcloud-Server bietet sich jedoch als Universallösung für Dateien, Bilder, Kalender und einiges mehr an.
Cloudserver: Nextcloud bietet eine übersichtliche Weboberfläche.
Cloudserver: Nextcloud bietet eine übersichtliche Weboberfläche.

Der Begriff "Cloud" bezeichnet einen Datenspeicher im Netzwerk. In der Regel sind damit Server im Internet gemeint. Beim Zugriff auf eine private Home-Cloud über das Internet (siehe Artikel: Heimnetzzentrale für Infos, Texte und Notizen einrichten ) ergeben sich Einschränkungen, denn bei DSL liegt die Upload-Bandbreite oft nur bei einem bis zwei MBit/s. Für eine kleine Fotosammlung, Dokumente oder MP3-Streams ist das aber ausreichend. Wer mehr benötigt, richtet die Software für den Cloudserver auf einem gemieteten Server im Rechenzentrum ein. Die Vorteile gegenüber kommerziellen Angeboten wie Onedrive oder Google Drive liegen auf der Hand: Sie behalten die vollständige Kontrolle über Ihre Daten und können den Server individuell einrichten.

Owncloud oder Nextcloud?

Die erste Version von Owncloud erschien im Jahr 2010 (https://owncloud.org). Inzwischen bietet die Software fast alles, was für den Datenaustausch erforderlich ist - Kalender, Adressbuch, Fotogalerie, Wiedergabe von Musik und Videos und gemeinsames Arbeiten an Dokumenten. Plug-ins erweitern die Funktionen. Der Zugriff erfolgt über eine Weboberfläche oder eine Clientsoftware für Windows, Mac-OS, Linux, Android oder iOS. Nextcloud (https://nextcloud.com) ist eine Abspaltung von Owncloud, die erstmals 2016 erschien und inzwischen einige Funktionen mehr bietet als Owncloud. Wir besprechen in diesem Artikel daher die Installation von Nextcloud.

Nextcloud als Snap-Paket installieren

Am komfortabelsten ist die Installation über ein Snap-Paket. Dabei wird automatisch alles eingerichtet, was die Nextcloud benötigt. Wenn der Apache-Webserver bereits auf dem PC installiert ist, müssen Sie diesen vorher deinstallieren oder den Standardport in der Datei "/etc/apache2/ports.conf" sowie in allen Konfigurationsdateien unter "/etc/apache2/conf-available" und "/etc/apache2/sites-available" ändern. Sie können Apache auch vorübergehend mit

anhalten, bevor Sie Nextcloud über Snap installieren, und dann bei der Apache-Snap-Instanz den Port ändern.

sudo service apache2 stop

Soll ein herkömmlich installierter Apache-Webserver mehrere Webanwendungen auf Port 80 bereitstellen, installieren Sie Nextcloud besser manuell (siehe nächsten Punkt und den Kasten "Alternative Installationsmethoden").

Ab Ubuntu 16.04 ist Snapd bereits enthalten, Nutzer von Ubuntu 14.04 müssen die Software zuerst installieren (sudo apt install snapd). Das Nextcloud-Paket installiert dann dieser Befehl:

sudo snap install nextcloud

Wenn Apache/Nextcloud einen anderen Port verwenden soll, verwenden Sie dieses Kommando:

sudo snap set nextcloud ports.http=81

"81" ersetzen Sie durch den gewünschten Port. Der HTTPS-Port lässt sich bei Bedarf beispielsweise vom Standardport 443 auf 444 ändern:

sudo snap set nextcloud ports.https=444

SSL müssen Sie für Nextcloud aber erst aktivieren. Für ein selbst signiertes Zertifikat verwenden Sie diesen Befehl:

sudo nextcloud.enable-https selfsigned

Sollte Linux diesen Befehl nicht finden, verwenden Sie den vollständigen Pfad "/snap/bin/nextcloud.enable-https". Im Browser müssen Sie für dieses Zertifikat eine Ausnahmeregel festlegen (Firefox: "Ich kenne das Risiko -> Ausnahme hinzufügen... -> Sicherheits-Ausnahmeregel bestätigen").

Rufen Sie im Webbrowser die URL "http://[Server]" auf oder "http://[Server]:[Port]", wenn Sie den Port geändert haben. Ersetzen Sie den Platzhalter durch den tatsächlichen Namen Ihres Linux-Servers. Tippen Sie Benutzernamen und Passwort für ein neues Administratorkonto ein und klicken Sie auf "Installation abschließen".

Bei selbst signierten SSL-Zertifikaten blockiert Firefox den Zugriff.
Bei selbst signierten SSL-Zertifikaten blockiert Firefox den Zugriff.

Nextcloud manuell installieren

Ubuntu-Nutzer installieren alle Nextcloud-Abhängigkeiten mit diesen Kommandos:

sudo apt update

sudo apt upgrade

sudo apt install lamp-server^ phpzip php-mbstring php-dom php-gd php-curl

Beachten Sie das Zeichen "^" hinter "lampserver". Wenn Sie auf einem Raspberry Pi Raspbian ("Jessie") oder OSMC installiert haben, verwenden Sie diese Befehle:

sudo apt update

sudo apt full-upgrade

sudo apt install apache2 php5 libapache2-mod-php5 php5-gd php5-json php5-mysql php5-curl php5-intl php5-mcrypt php5-imagick mariadb-server

Bei der Paketinstallation von MySQL oder Maria DB werden Sie nach einem Passwort für den root-Benutzer der Datenbank gefragt. Tippen Sie ein Passwort ein. Sie benötigen es später für bei der Nextcloud-Installation.

Alternativ ist auf dem Raspberry Pi Sqlite statt Maria DB empfehlenswert. Diese Datenbank eignet sich nicht für viele gleichzeitige Nutzer, spart aber knappe Systemressourcen. Dafür ersetzen Sie in der obigen Zeile "php5-mysql mariadb-server" durch

php5-sqlite sqlite

Wer das aktuelle Raspbian ("Stretch") installiert hat, verwendet diese apt-Zeile:

sudo apt install apache2 php7.0 php7.0-gd php7.0-curl php7.0-common php7.0-intl php-pear php7.0-apcu php7.0-xml libapache2-mod-php7.0 php7.0-mbstring php7.0-zip curl libcurl3 libcurl3-dev php7.0-mysql mariadb-server

Soll Sqlite zum Einsatz kommen, ersetzen Sie die letzten beiden Pakete:

php7.0-sqlite sqlite

Starten Sie zum Abschluss Apache neu:

sudo service apache2 restart

Nextcloud einrichten: Rufen Sie im Browser https://nextcloud.com/install auf und klicken Sie unter "Get Nextcloud Server" auf "Download". Gehen Sie im unteren Bereich des Fensters auf "Web Installer" und laden Sie die Datei "setup-nextcloud.php" herunter (rechter Mausklick auf "here" und "Ziel speichern unter..."). Im Terminal legen Sie dann ein Verzeichnis für Nextcloud an, kopieren die PHP-Datei hinein und ändern die Zugriffsrechte:

sudo mkdir /var/www/html/nextcloud

sudo cp ~/Downloads/setupnextcloud.php /var/www/html/nextcloud

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

Passen Sie die Pfade entsprechend der Konfiguration Ihres PCs an.

Rufen Sie im Browser die URL "http://[MeinServer]/nextcloud/setup-nextcloud.php" auf. Der Setupassistent prüft die Voraussetzungen und zeigt an, wenn ein PHPModul fehlen sollte. Andernfalls erscheint "All Nextcloud dependencies found" und Sie geben darunter einen Punkt ein, damit die Installation im aktuellen Verzeichnis "/var/www/html/nextcloud" erfolgt. Klicken Sie auf "Next". Das Setuptool lädt die Nextcloud-Datei herunter. Klicken Sie nach der Meldung "Success" auf "Next" und geben Sie Benutzername und Password für das neue Administratorkonto ein.

Darunter fragt Nextcloud die Verbindungsinformation für die Datenbank ab. Für MySQL oder Maria DB geben Sie den Benutzernamen ("root") und das Passwort ein, das Sie bei der Paketinstallation festgelegt haben. Der Datenbankname ist frei wählbar, beispielsweise "nextcloud". Im letzten Feld bleibt "localhost" stehen, da die Datenbank auf demselben Server wie Nextcloud installiert ist. Wenn Sie Sqlite statt Maria DB installiert haben, müssen Sie keine Informationen eingeben. Sind beide Datenbanksysteme verfügbar, wählen Sie das gewünschte unter "Speicher & Datenbank" aus. Klicken Sie auf "Installation abschließen". Danach erscheint automatisch die Nextcloud-Oberfläche.

Klicken Sie rechts oben auf das Zahnradsymbol und im Menü auf "Verwaltung". Unter "Grundeinstellungen -> Sicherheits- & Einrichtungswarnungen" erhalten Sie wahrscheinlich die Meldung "Die .htaccess-Datei funktioniert nicht." In diesem Fall bearbeiten Sie die Serverkonfiguration:

sudo gedit /etc/apache2/sites-available/000-default.conf

Bauen Sie vor "</VirtualHost>" die folgenden vier Zeilen ein:

<Directory /var/www/html/nextcloud/>

Options +FollowSymlinks

AllowOverride All

</Directory>

Apache-Konfiguration
Apache-Konfiguration

Speichern und schließen Sie die Datei und starten Sie den Webserver neu:

sudo service apache2 restart

HTTPS aktivieren: Wenn Sie Nextcloud über das Internet zugänglich machen, sollten Sie die SSL-Verschlüsselung aktivieren. Führen Sie dazu folgende Befehle aus:

sudo a2enmod ssl

sudo openssl genrsa -out /etc/ssl/private/apache.key 4096

sudo openssl req -new -x509 -key /etc/ssl/private/apache.key -days365 -sha256 -out /etc/ssl/certs/apache.crt

Nach der zweiten Zeile werden einige Informationen zum Zertifikat abgefragt, die jedoch keine Rolle spielen. Sie können hier eintragen, was Sie wollen. Bei der Angabe "Common Name" tragen Sie den Namen Ihres Servers ein.

Öffnen Sie die SSL-Beispielkonfiguration in einem Editor:

sudo gedit /etc/apache2/sitesavailable/default-ssl.conf

Passen Sie die Pfade für die zuvor erzeugten Dateien an:

SSLCertificateFile /etc/ssl/certs/apache.crt

SSLCertificateKeyFile /etc/ssl/private/apache.key

Speichern Sie die Datei und schließen Sie den Editor. Aktivieren Sie die SSL-Konfiguration und lassen Sie den Webserver die geänderte Konfiguration neu einlesen (zwei Zeilen):

sudo a2ensite default-ssl

sudo service apache2 restart

Der Webserver ist danach weiterhin über "http://[Server]/nextcloud" erreichbar, für die SSL-verschlüsselte Website ersetzen Sie "http" durch "https". Browser stufen die Verbindung wegen des selbst signierten Zertifikats als "nicht sicher" ein. In Firefox klicken Sie auf "Erweitert", dann auf "Ausnahme hinzufügen..." und auf "Sicherheits-Ausnahmeregel bestätigen", damit die Website angezeigt wird.

Zusätzliche Plug-ins für Nextcloud, z.B. ein Online-Terminkalender.
Zusätzliche Plug-ins für Nextcloud, z.B. ein Online-Terminkalender.

Erste Schritte in Nextcloud

Als erste Aktion sollten Sie weitere Nextcloud-Benutzer anlegen. Klicken Sie in der rechten oberen Ecke auf das Zahnradsymbol und gehen Sie im Menü auf "Benutzer". Tippen Sie den Benutzernamen sowie ein Passwort ein und klicken Sie auf "Erstellen". Fügen Sie dann über "+Apps" Plug-ins hinzu, beispielsweise Calendar, Contacts und Notes. Die Erweiterungen für Bilder (Gallery) und Dateien (File sharing) sind standardmäßig installiert.

Nextcloud: Alternative Installation

Wer Nextcloud ohne Aufwand installieren möchte, lädt sich eine virtuelle Appliance herunter. Die gibt es kostenlos als OVA-Datei auf Ubuntu-Basis unter https://github.com/nextcloud/vm/releases/ zum Import in Virtualbox oder Vmware Player. Der Benutzername lautet „ncadmin“, das Passwort „nextcloud“. Der Anbieter hat unter www.techandme.se/nextcloud-vm weitere kostenpflichtige Nextcloud-Appliances mit unterschiedlichen Konfigurationen im Angebot (ab 16 US-Dollar).

Für den Raspberry Pi gibt es unter https://www.techandme.se/nextberry-rpi Systemabbilder auf der Basis von Raspbian mit vorinstalliertem Nextcloud. Empfehlenswert ist außerdem das Nextcloud-Community-Projekt Nextcloud Pi. Die Imagedateien schreiben Sie mit den üblichen Mitteln auf eine SD-Karte – mit Etcher (https://etcher.io) unter allen Betriebssystemen, mit dd unter Linux und Mac-OS oder auch mit dem Win 32 Disk Imager unter Windows. Ausführliche Informationen zu Nextcloud Pi finden Sie in englischer Sprache über https://github.com/nextcloud/nextcloudpi/wiki.

(PC-Welt)