Eine eigene Wolke I: Nextcloud auf openSUSE Leap Server installieren

Bild: © Vlad Kochelaevs / Fotolia.com

Bild: © Vlad Kochelaevs / Fotolia.com

Cloudspeicher sind praktisch - keine Frage! Wer einmal die allumfassende Verfügbarkeit von stets aktuellen Daten auf diversen Geräten schätzen gelernt hat möchte es nicht mehr missen. Bei den meisten Cloudspeichern bleibt jedoch ein fader Beigeschmack. Entweder weil sie keine Verschlüsselung bieten oder sogar ihren Firmensitz in Ländern mit zweifelhafter geheimdienstlicher Datensammelwut.

Umso populärer ist deshalb der Ansatz eine Cloud mit all ihren Vorzügen auf einem heimischen Gerät zu installieren und somit die Daten unter Kontrolle zu behalten. Unzählig daher die Installations- und Einrichtungsanleitungen für die populärste Variante der eigenen Cloud: ownCloud bzw. dessen Abspaltung Nextcloud. So monopolgleich die Stellung von Nextcloud in dieser Nische ist, so marktbeherrschend ist die Position von Ubuntu auf den Privatservern. Kaum eine Anleitung, die nicht im ersten Schritt mit dem vertrauten "apt-get" beginnt.

Es gibt aber noch andere Distributionen und seit kurzem mit openSUSE Leap auch eine servertaugliche Variante der sympathischen Distribution mit dem Gecko als Markenzeichen.

Die folgende Anleitung beschreibt daher eine Möglichkeit zur Installation und Einrichtung der Nextcloud auf openSUSE Leap 42.2 mit PHP 7, MariaDB und Apache als Basis.

Installation

OpenSUSE bietet über den OBS eine extra Paketquelle für PHP-Anwendungen. Diese kann mit folgendem Befehl hinzugefügt werden:

# zypper addrepo http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_Leap_42.2/ openSUSE BuildService - PHP:Applications

# zypper refresh

Gegebenenfalls ist es noch sinnvoll die Paketquelle anschließend in YaST abweichend zu priorisieren (z.B. mit 120), damit Paketen aus den normalen Paketquellen der Vorzug gegeben wird.

Abschließend muss nur noch Nextcloud aus der Paketquelle installiert werden:

# zypper in nextcloud

Hier sollte man jedoch sehr genau prüfen, welche Abhängigkeiten nachgezogen werden. Nextcloud benötigt seit Version 11 mindestens PHP 5.6. OpenSUSE Leap 42.2 liefert aber standardmäßig noch PHP 5.5 aus. PHP 5.6 und PHP 7 sind aber in den Paketquellen enthalten und könnten dezidiert mitinstalliert werden. Da auf dem vorliegendne System nichts dagegen spricht, wird gleich PHP 7 genommen. Wer noch sehr alte Software parallel zu Nextcloud betreibt, sollte vorher die Anforderungen überprüfen.

# zypper in nextcloud apache2-mod_php7

Zypper ersetzt nun alle PHP 5-Abhängigkeiten durch PHP 7 und installiert zusätzlich noch MariaDB und Apache. MariaDB ist ein MySQL-Fork und wird inzwischen bei openSUSE und RedHat Enterprise Linux/CentOS bevorzugt verwendet.

LAMP einrichten

MariaDB

Bevor es an die Einrichtung der Nextcloud geht, muss noch die zugrunde liegende Basis konfiguriert werden. Zuerst sollte MariaDB konfiguriert und für den Betrieb mit Nextcloud vorbereitet werden. Bei den entsprechenden Befehlen zeigt sich (noch?) die Herkunft von MySQL.

OpenSUSE startet neu installierte Dienste im Gegensatz zu Debian oder Ubuntu nicht automatisch, weshalb der Administrator nachhelfen muss.

# systemctl enable mysql

# systemctl start mysql

Anschließend sollte ein root-Passwort vergeben werden.

mysqladmin -u root password <Neues Passwort> # Neues Passwort ohne die "<>" eingeben

Abschließend muss noch die Datenbank für Nextcloud angelegt werden. Dazu wechselt man in die MariaDB-Konsole:

mysql -u root -p

CREATE DATABASE nextcloud_db;

GRANT ALL ON nextcloud_db.* TO ncuser@localhost IDENTIFIED BY 'Passwort';

In diesem Fall wären nextcloud_db, ncuser und das gewählte Passwort die Informationen die später bei der Einrichtung von Nextcloud eingegeben werden müssten. Die Angaben können natürlich je nach Präferenz angepasst werden.

PHP

Die Voreinstellungen von PHP sind für einen Cloudspeicher etwas ungünstig. Angepasst werden können diese mit einem Editor der Wahl in folgender Datei:

# nano /etc/php7/apache2/php.ini

Folgende Angaben sollten auf jeden Fall geändert werden. Die neuen Werte sind Vorschläge und können je nach individuellem Setup angepasst werden. Weitere Änderungen ergeben sich ggf. im tatsächlichen Betrieb, können hier aber nicht allgemeingültig festgehalten werden:

  • post_max_size = 5G
  • upload_max_filesize = 5G
  • memory_limit = 512M

Apache

Mittels des Befehls a2enmod müssen noch ein paar Module für Apache aktiviert werden.

# a2enmod php7

# a2enmod rewrite

# a2enmod headers

# a2enmod env

# a2enmod dir

# a2enmod mime

Ganz zum Schluss wird Apache gestartet und aktiviert:

# systemctl start apache

# systemctl enable apache

Nextcloud konfigurieren

Über http://IP-Adresse/nextcloud lässt sich nun - sofern alles funktioniert hat - die Konfiguration von Nextcloud durchführen.

Die notwendigen Angaben für die Datenbank hat man bereits im Rahmen der Einrichtung von MariaDB festgelegt.

Nextcloud bietet dezidiert an die Nutzerdaten außerhalb des Webroot-Verzeichnisses abzulegen. Davon sollte man auch gebrauch machen! Ich lege die Daten immer unterhalb von /data auf ein eigenes Btrfs-Subvolume, ähnlich wie die TM-Sicherung.

Nun ist die Nextcloud als Cloud im heimischen Netzwerk verfügbar. Um sie von außerhalb aufzurufen muss noch ein DDNS-Dienst konfiguriert und die entsprechende Portfreigabe im Router vorgenommen werden. In diesem Szenario ist ein SSL-Zertifikat - z.B. von Let's Encrypt - auch unabdingbar.

1000 Buchstaben übrig


Über

[Mer]Curius bietet Informationen zur technischen Dimension des Datenschutz im digitalen Bereich. Neben permanent aktualisierten Artikeln zu Betriebssystemen, Verschlüsselung und Kommunikationsabsicherung werden im Blog aktuelle Trends präsentiert und kommentiert.

Top