Nextcloud auf openSUSE Leap Server installieren

Die folgende Anleitung beschreibt daher eine Möglichkeit zur Installation und Einrichtung der Nextcloud auf openSUSE Leap 42.3 mit PHP 7, MariaDB und Apache als Basis. OpenSUSE Leap ist der mit Langzeitpflege unterstützte stabile Zweig des openSUSE-Projektes (siehe: openSUSE Leap) und eignet sich gut für den Einsatz als Serverbetriebssystem. Alternativ sind natürlich auch Debian, Ubuntu, CentOS oder andere geeignet, die Anleitung bezieht sich jedoch ausschließlich auf openSUSE.

Installation

OpenSUSE bietet über den OBS eine extra Paketquelle für PHP-Anwendungen. Nextcloud ist auch direkt in den Paketquellen verfügbar, allerdings in einer etwas älteren Version.  Sofern eine aktuelle Version gewünscht ist, kann die OBS-Quelle 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 den Paketquellen 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.3 liefert aber standardmäßig mehrere PHP-Versionen aus, unter anderem ist PHP 7 in den Paketquellen enthalten und kann 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 apache2

# systemctl enable apache2

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 unter openSUSE auch gebrauch machen! Sofern man die Daten auf ein eigenes Btrfs-Subvolume ablegt kann man von den erweiterten Funktionen dieses Dateisystems wie automatische Snapshot etc. profitieren

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.

Ü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