Nextcloud auf dem Raspberry Pi

Seit einiger Zeit habe ich mit dem Gedanken gespielt Nextcloud auf einem Raspberry Pi zu installieren. Da ich kürzlich einen neuen Raspberry Pi 3 Model B gekauft habe, habe ich an die Installation und Konfiguration von Nextcloud gemacht.
Die Installation von Nextcloud ist sehr leicht, die Anpassungen und Konfiguration des Pi ein klein wenig aufwendiger, jedoch auch relativ schnell und einfach zu erledigen.


Update Oktober 2019
Der Artikel wurde im Oktober 2019 von mir komplett überarbeitet. Ich habe dafür nach wie vor den gleichen Raspberry Pi jedoch das aktuellste Raspbian „Buster“ verwendet.


Inhaltsverzeichnis

  1. Betriebssystem Raspian installieren
  2. Raspberry Pi – Konfigurieren
  3. Raspberry Pi – Erster Start und Update
  4. Paketinstallation für Nextcloud
  5. Raspberry Pi – Anmeldung absichern
  6. MariaDB – Datenbank erstellen und absichern
  7. Nextcloud-Installation
  8. Nextcloud ist startbereit
  9. Nextcloud über das Internet erreichbar machen
  10. Nextcloud – Optionale Optimierungen
  11. Nextcloud – Fehlermeldungen

Betriebssystem Raspian installieren

Als Betriebsystem verwende ich Raspian Stretch Lite ➡ https://www.raspberrypi.org/downloads/raspbian/

Nach dem erfolgreichen Download der aktuellen Version des Betriebssystems kann dieses in einen beliebigen Ordner auf der Festplatte euers PCs entpackt werden.

Nach dem Entpacken liegt die ISO-Datei für das Kopieren auf die SD-Karte bereit.

Zum Schreiben auf die SD-Karte verwende ich den Win32 Disk Imager ➡ https://sourceforge.net/projects/win32diskimager/

Nach dem erfolgreichen Schreiben des Betriebssystems auf die SD-Karte kann diese direkt in den Raspberry Pi eingelegt werden und der Mini-PC gestartet werden.

Jedoch muss der Pi an einen externen Monitor angeschlossen werden, ein Remotzugriff via SSH ist leider noch nicht möglich, das müsste im Konfigurationsmenü noch aktiviert werden. Einfacher ist es, wenn SSH gleich aktiviert wird. Dazu führt ihr die paar einfachen Schritte durch.

Prüft erst im Windows Explorer, ob alle Dateierweiterungen angezeigt werden.

Im zweiten Schritt erstellt ihr eine Text-Datei mit dem Namen „ssh“ im Hauptverzeichnis der SD-Karte mit dem Raspian-Betriebssystem.
Es darf keine Dateierweiterung vergeben werden, sonst wird der SSH-Dienst nicht aktiviert!

Nun ist die SD-Karte fertig und ihr könnt diese in den Pi einlegen und das System starten. Der Raspberry bootet automatisch und ihr könnt warten bis ihr den Pi über SSH erreichen könnt.


Update Oktober 2019
Manchmal ist es erforderlich die SD-Karte für den Pi noch zu formatieren. Auf einem Windows-Rechner ist das notwendige Tool dafür die „Datenträgerverwaltung“ die aber nur von einem Administrator aufgerufen werden kann. Eine Beschreibung, wie ein normaler Benutzer die Datenträgerverwaltung starten kann, findet ihr hier:
Datenträgerverwaltung von normalem Benutzerkonto aus starten


Raspberry – Konfigurieren

Öffnet nun PuTTY und verbindet euch das erstemal mit dem Pi. Raspbian verwendet im Standard die Anmeldeinformationen:

  • Benutzername: pi
  • Passwort: raspberry

Startet zuerst einmal das Konfigurationsmenü des Pi

sudo raspi-config

1 Change User Password

Ändert in diesem Menü zuerst einmal das Standardpasswort auf ein individuelles Passwort ab.

2 Network Options

In den „Network Options“ könnt ihr einen neuen Namen, host name, für den Rechner vergeben.

3 Localisation Options

In den Lokalisierungseinstellungen solltet ihr die Sprache („Change Local„) und vor allem die Zeitzone („Change Timezone„“) anpassen.

Wenn ihr an Raspberry Pi direkt eine Tastatur anschließen möchtet, dann solltet ihr nochdas Tastatur Layout anpassen. Standardmäßig verwendet Raspbian die britisch-englische Tastaturbelegung.

4 Interfacing Options

In den Interfacing Options ist der SSH-Dienst nich zu aktivieren.

Interfacing Options
Interfacing Options

SSH Dienst aktivieren
SSH Dienst aktivieren

5 Advanced Options

In den erweiterten Einstellungen ist noch „Expand Filesystem“ auszuwählen. Dadurch wird sichergestellt, dass nach dem nächsten Neustart des Pi die gesamte SD-Karte als Festplatte verwendet wird.

6 Update

Zum Abschluss starten wir über die Menüfunktion noch das Update für das Tool „raspi-config“.

Nach dem Update wird der Pi neugestartet und eine neue Anmeldungen mit eurem vergebenen Passwort ist erforderlich.

sudo reboot

Raspberry Pi – Erster Start und Update

Nach der erfolgreichen Anmeldung sollte sofort ein Update der Paketquellen und der bereits installierten Programme duchgeführt werden, danach ist der Pi neuzustarten.

sudo aptitude update && sudo aptitude dist-upgrade && sudo reboot

In diesem Manual verwende ich „aptitude“ für die Installation der Pakete. Im Standard verwendet Raspbian „apt-get„. Möchtet ihr auch aptitude nutzen, ist das einfach zu installieren:

sudo apt-get install aptitude

Paketinstallation für Nextcloud

Nachdem Update und dem anschließenden Neustart ist das Betriebssystem des Pi auf dem aktuellsten Stand und es kann mit der Vorbereitung für die Nextcloud-Installation begonnen werden.

Die erforderlichen Pakete lassen sich ganz einfach aus den Repositories installieren:

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


Update Oktober 2019
Die zu installierenden Pakete haben sich geändert. Der Installationsbefehl lt.

sudo aptitude install apache2 php7.3 php7.3-gd php7.3-curl php7.3-common php7.3-intl php-pear php-apcu php7.3-xml libapache2-mod-php7.3 php7.3-mbstring php7.3-zip php7.3-mysql mariadb-server-10.3 smbclient imagemagick php-imagick

Nach der Installation der Pakete prüfen wir die Funktionsfähigkeit des Webserver Apache2

sudo service apache2 restart
sudo service apache2 status

Bereits jetzt kann über einen Webbrowser die Startseite des Apache aufgerufen werden

http://ip-adresse-des-pi

Apache2 Debian Default Page
Apache2 Debian Default Page

Update Oktober 2019
Von Nextcloud wird empfohlen ( ➡ https://docs.nextcloud.com/server/17/admin_manual/installation/source_installation.html) die folgenden Apache2 Module zu installieren bzw. zu aktivieren. Bei der aktuellen Version von Raspbian sind die Module bereits aktiviert.
Jedoch können die folgenden Befehle ausgeführt werden, um das zu überprüfen:

sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

Anschließend muss Apache2 noch neugestartet werden, damit die Änderungen aktiv gesetzt werden:

sudo service apache2 restart

Jetzt wird sich vielleicht der ein oder andere darüber wundern, dass ich SSL für Apache2 noch nicht installiert habe. Den manuellen AUfwand kann man sich sparen, indem man einfach ein Let´s Encrypt-Zertifikat für seine Nextcloud holt. Während dieses Prozesses wird Apache2 automatisch für HTTPS konfiguriert.
Nextcloud und Let´s Encrypt


Raspberry Pi – Anmeldung absichern

Im Artikel ➡ Zwei-Faktor-Authentifizierung am Raspberry Pi einrichten habe ich beschrieben wie sich eine Zwei-Faktor-Authentifizierung am Pi konfigurieren lässt. Damit wird neben dem von euch vergebenen Passwort auch ein Einmal-Passwort (OTP) benötigt, dass mit Hilfe einer Smartphone-App erzeugt wird.


Update Oktober 2019
Kürzlich habe ich einen weiteren Artikel zur Zwei-Faktor-Authentifizierung am Raspberry Pi erstellt. Hierbei wird ein YubiKey für die Anmeldung verwenden.
Anmeldung am Raspberry Pi mit einem YubiKey


MariaDB – Datenbank erstellen und absichern

Nextcloud benötigt einen Datenbankserver. Ich habe mich für MariaDB entschieden, da diese von Nextcloud der bekannteren MySQL vorgezogen wird ( ➡ https://docs.nextcloud.com/server/13/admin_manual/configuration_server/server_tuning.html & ➡ https://docs.nextcloud.com/server/13/admin_manual/configuration_database/linux_database_configuration.html)
Wer ein wenig über die Geschichte von MariaDB nachlesen möchte, der findet einen ganz informativen Arikel dazu auf www.informatik-aktuell.de ( ➡ https://www.informatik-aktuell.de/betrieb/datenbanken/mariadb-und-mysql-vergleich-der-features.html)

Die Datenbank (mariadb-server-10.1) haben wir bereits installiert, nun muss noch ein Benutzer, Passwort und eine Datenbank für Nextcloud angelegt werden.
Das Ganze wird auf der Konsole durchgeführt, ein grafisches Tool wird nicht verwendet. Wer gerne ein solches nutzen möchte, der kann zu Adminer ( ➡ https://www.adminer.org/) oder phpMyAdmin ( ➡ https://www.phpmyadmin.net/) greifen. Ich muss gleich dazusagen, dass ich keines von beiden auf meinem Pi installiert habe.
Ihr könnt ganz einfach prüfen, ob die beiden Tools in den Paketquellen eurer Linux-Distribution verfügbar sind.

apt-cache policy adminer
apt-cache policy phpMyAdmin


Update Oktober 2019

apt-cache policy phpmyadmin


Es muss von euch dafür ein neues Passwort vergeben werden. Dieses sollte ihr ganz zwingend notieren, es wird später noch benötigt. Die Fragen während der Konfiguration könnt ihr getrost mit „Y“ beantworten.

sudo mysql_secure_installation

sudo mysql_secure_installation
sudo mysql_secure_installation

Nun legen wir die Datenbank und den Benutzer für Nextcloud an.

sudo mariadb
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

In der nächsten Zeile müsst ihr „password“ durch euer neues Passwort ersetzen!

CREATE USER nextcloud@localhost identified by 'password';
GRANT ALL PRIVILEGES on nextcloud.* to nextcloud@localhost;
FLUSH privileges;
quit;

MariaDB - Nextcloud-Datenbank anlegen
MariaDB – Nextcloud-Datenbank anlegen

Wir haben nun folgendes gemacht:

  1. Benutzer nextcloud angelegt
  2. Passwort geändert
  3. Datenbank mit dem Namen nextcloud erstellt

Die Daten benötigt ihr, wenn ihr das erste Mal Nextcloud im Webbrowser aufruft und damit die Installation startet.

In Nextcloud wird trotz MariaDB-Installation angezeigt, dass ihr eine MySQL verwendet. Der Grund besteht in der engen Verwandschaft beider Datenbank-Systeme.

Möchtet ihr die Datenbank „nextcloud“ löschen, weil ihr z.B. Nextcloud noch einmal installieren möchtet, lautet der Befehlt dafür

sudo mariadb
SHOW DATABASES;
DROP DATABASE IF EXISTS nextcloud;

Nextcloud-Installation

Nun ist ein Wechsel in das Apache-Verzeichnis notwendig und die aktuellste Nextcloud-Version kann dorthin heruntergeladen werden. In diesem Beispiel wird die Version 13.0.1 heruntergeladen.
Das aktuellste Release kann auf dieser Seite nachgeschlagen werden ➡ https://download.nextcloud.com/server/releases/

cd /var/www/html
curl https://download.nextcloud.com/server/releases/nextcloud-13.0.1.tar.bz2 | sudo tar -jxv


Update Oktober 2019

cd /var/www/html
curl https://download.nextcloud.com/server/releases/nextcloud-17.0.0.tar.bz2 | sudo tar -jxv


Nach dem Download sind noch ein paar Berechtigungen anzupassen und Apache2 ist zum Abschluss neuzustarten, um die Änderungen zu aktivieren.

cd /var/www/html/nextcloud
sudo mkdir -p /var/www/html/nextcloud/data
sudo chown www-data:www-data /var/www/html/nextcloud/data
sudo chmod 750 /var/www/html/nextcloud/data
sudo chown www-data:www-data config apps
sudo service apache2 restart

Nextcloud ist startbereit

Nextcloud lässt sich nun über jeden beliebigen Webbrowser aufrufen.

http://<ip-adresse-des-pi>/nextcloud

Vergebt einen neuen Benutzernamen und ein Passwort für euer Administratorkonto.
Wählt im Abschnitt „Datenbank einrichten“ MySQL/MariaDB“ aus und tragt in die Felder die Daten aus der MariaDB-Konfiguration ein.

  1. Benutzer: nextcloud
  2. Passwort: Das-von-euch-vergebene-Passwort
  3. Datenbank: nextcloud

Update Oktober 2019

Nextcloud - Installation
Nextcloud – Installation

Nextcloud - Fertig installiert
Nextcloud – Fertig installiert

Die Installation von Nextcloud kann einige Minuten in Anspruch nehmen. Werdet nicht ungeduldig und lasst den Webbrowser offen und die Installation vollständig durchlaufen.


Ihr könnt nun in jedem Webbrowser eurer Wahl Nextcloud über die IP-Adresse des Raspberry Pi aus dem lokalen Netzwerk erreichen.

http://<ip-adresse-des-pi>/nextcloud

Bevor ihr weitermacht, werft gleich mal einen Blick in die „Sicherheits- & Einrichtungswarungen„.


Update Oktober 2019
Ich habe bei der neuen Installation von Nextcloud die nachfolgenden Befehle ausgeführt und eine Meldung erhalten, dass die Berechtigungen für den Ordner „apps“ nicht korrekt gesetzt sind. Die genaue Fehlermeldung lt.: „Einige App-Ordner haben einen anderen Besitzer als der Benutzer des Webservers. Dies kann der Fall sein, wenn Apps manuell installiert wurden. Prüfen Sie die Berechtigungen der folgenden App-Ordner“.

Einige App-Ordner haben einen anderen Besitzer als der Benutzer des Webservers
Einige App-Ordner haben einen anderen Besitzer als der Benutzer des Webservers

Im Screenshot sind die falschen Besitzer und Gruppen gelb hervorgehoben.

Falsche gesetzte Besitzer und Gruppe
Falsche gesetzte Besitzer und Gruppe

Die richtigen Rechte sind Besitzer = www-data und die korrekte Gruppe = www-data.

Richtiger Besitzer und Gruppe für "apps"
Richtiger Besitzer und Gruppe für Ordner „apps“

Die richtigen Rechte für Nextcloud lassen sich mit dem Befehl setzten.

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


Nextcloud konfigurieren

Nexcloud lässt sich bequem über ein Webfrontend konfigurieren, jedoch sind für tiefere Eingriffe in das System Anpassungen in der „config.php“ im Verzeichnis „/var/www/html/nextcloud/config“ vorzunehmen.
Die Nextcloud-Dokumentation ist eine sehr gute Anlaufstelle, um einen Überblich über die verfügbaren Parameter zu erhalten. ➡ https://docs.nextcloud.com/server/13/admin_manual/configuration_server/config_sample_php_parameters.html

Update 2019
https://docs.nextcloud.com/server/17/admin_manual/configuration_server/config_sample_php_parameters.html

Nextcloud über das Internet erreichbar machen

In meinem Artikel Nextcloud und Let´s Encrypt zeige ich euch, wie ihr Nextcloud aus dem Internet erreichen könnt und ihre den Zugang absichert.

Nextcloud – Optimierungen

Pretty URLs

Nextcloud bietet an, dass Links gekürzt werden, die für das Teilen verwendet werden.
https://docs.nextcloud.com/server/17/admin_manual/installation/source_installation.html#pretty-urls

sudo nano /var/www/html/nextcloud/config/config.php

In die „config.php“ ist die Zeile einzutragen:

'htaccess.RewriteBase' => '/nextcloud',

Anschließend ist die Konfiguration neu einzulesen:

sudo -u www-data php /var/www/html/nextcloud/occ maintenance:update:htaccess

OPcache einrichten

Mit dieser Konfiugurationen lässt sich die Performance von Nextcloud verbessern. In der Hilfe ist das auch ganz gut beschrieben ➡ https://docs.nextcloud.com/server/13/admin_manual/configuration_server/caching_configuration.html & https://docs.nextcloud.com/server/17/admin_manual/configuration_server/caching_configuration.html#id1.
Das erforderliche Paket für OPcache (php-apcu) haben wir bereits installiert.

Fügt in die Datei „config.php“ folgendes in die vorletzte Zeile (unbedingt vor der Klammer!) ein:

cd /var/www/html/nextcloud/config
sudo nano config.php

  'memcache.local' => '\\OC\\Memcache\\APCu',


Neben dieser Anpassung wird von Nextcloud noch eine weitere Anpassung empfohlen, die in der „php.ini“ vorzunehmen ist. Die Anleitung dazu gibt es hier ➡ https://docs.nextcloud.com/server/13/admin_manual/configuration_server/server_tuning.html

sudo nano /etc/php/7.0/apache2/php.ini

Die dort einzutragenden Zeilen lauten:

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1


Update Oktober 2019
https://docs.nextcloud.com/server/17/admin_manual/installation/server_tuning.html

Im Gegensatz zum Servertuning in Nextcloud 13 wurde eine Anpassung für Nextcloud 17 vorgenommen. Der Eintrag „opcache.enable_cli=1“ entfällt.

sudo nano /etc/php/7.3/apache2/php.ini

opcache.enable=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

php.ini - Anpassungen
php.ini – Anpassungen

Externen Datenspeicher einbinden

Aktuell habt ihr in eurem Raspberry Pi nur die SD-Karte als Speichermedium, die ggf. zu klein werden kann. Weitere Festplatten oder USB-Sticks lassen sich sehr einfach beim Pi mounten und in Nextcloud einbinden.

Steckt euer Speichermedium an einem USB-Port des Pis an und gebt im Terminal den Befehl ein

sudo blkid


Es werden alle Speichermedien aufgelistet, die aktuell am Pi vorhanden sind. Eine ausführlist Anleitung für das weiter Vorgehen findet ihr in meinem Artikel ➡ Externe Laufwerke automatisch einhängen

Es ist zwingend darauf zu achten, dass ihr das Paket „ntfs-3g“ installiert habt.

sudo aptitude install ntfs-3g
sudo reboot

Bevor ihr einen Eintrag in der „/etc/fstab“ macht, ist der Einhängepunkt (Mount Point) zu erstellen. In diesem Beispiel soll der Speicher nach „/mnt/usbbackup“ eingehängt werden. Der Ordner lässt sich mit dem Befehl erzeugen:

sudo mkdir /mnt/usbbackup

In der Datei „/etc/fstab“ sieht die entsprechende Zeile zum automatischen Einbinden des Speichers beim Systemstart folgendermaßen aus:
UUID=123456 /mnt/usbbackup ntfs defaults,auto,umask=000,users,rw 0 0
Ich verwende diesen USB-Stick als Backup-Verzeichnis für die Images des Betriebssystems.

Des weiteren habe ich noch externe Speicher eingebunden für

Ihr habt auch die Möglichkeit einen entfernten Speicher einzubinden und dorthin z.B. das Verzeichnis „/data“ auszulagern oder eure Backups dorthin schreiben zu lassen. Dabei sollte aber eine ausreichende Geschwindigkeit des Netzwerks vorhanden sein, um keine zu langen Laufzeiten zu haben. Natürlich sollte ihr hier über ein stabiles Netzwekr verfügen.

In diesem Beispiel könnt ihr z.B. eine an eine Fritz!Box angeschlossene Festplatte beim Pi einbinden.
Zuerst noch das Paket „cifs-utils“ installieren, dann die Datei „fstab“ zum editieren öffnen.

sudo aptitude install cifs-utils
mkdir /home/pi/fritzbox

sudo nano /etc/fstab

Dort tragt ihr am Ende der fstab-Datei die folgenden Zeilen ein:

#AVM Fritzbox
//192.xxx.xxx.xxx/FRITZ.NAS/Verzeichnis /home/pi/fritzbox cifs credentials=/etc/samba/auth,uid=1000,gid=1000 0 0

Die Anmeldedaten für die Fritz!Box sind in der Datei /etc/samba/auth gespeichert. Dort sind die Einwahldaten im Format einzutragen:
username=
password=

sudo nano /etc/samba/auth

Nextcloud – Externe Speichermedien

Im Nextcloud App-Store findet ihr die App „External storage support„. Aktiviert man die App erscheint in der Navigationsleiste der Einstellungen der Menü-Punkt „Externe Speicher“.

Update Oktober 2019
Das Einbinden von externen Speichermedien habe ich noch nie ausprobiert. Ich habe für Nextcloud immer die Variante über die fstab-Konfiguration verwendet. Aus diesem Grund habe ich diesen Abschnitt aukommentiert.

Datenverzeichnis verschieben

Es wird aus Sicherheitsgründen von Nextcloud empfohlen das /data-Verzeichnis in einen Ordner außerhalb von /var/www zu verschieben. ( ➡ https://docs.nextcloud.com/server/12/admin_manual/configuration_server/harden_server.html#deployment)
Mehrere Möglichkeiten wie das gemacht werden kann, sind in dem folgenden Artikel beschrieben ➡ https://help.nextcloud.com/t/howto-change-move-data-directory-after-installation/17170)

Des Weiteren habt ihr die Möglichkeit damit „/data“ auf eine andere Partition bzw. eine externe Festplatte auszulagern, wenn ihr mehr Speicherplatz für eure Nextcloud-Dateien benötigt.
Ihr solltet dabei beachten, dass durch das nachträgliche Verschieben des Datenbestandes sich der Speicherpfad ändert und dieser in der Datenbank auch noch geändert werden muss. Wird die Datenbank nicht angepasst, können Nextcloud-Dateien evtl. nicht mehr gefunden werden. Im Artikel ➡ https://help.nextcloud.com/t/howto-change-move-data-directory-after-installation/17170 ist das ganz gut beschrieben.

Beispiel 1

In diesem Beispiel verschieben wir das /data-Verzeichnis lediglich in einen anderen Ordner im Verzeichnis /var.

Bevor mit dem Umzug von des Datenverzeichnis begonnen wird, sollte Nextcloud in den Maintenance Modus versetzt werden.

sudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --on

Anschließend ist die /var/www/html/nextcloud/config/config.php entsprechend anpassen.

sudo mkdir -p /var/nextcloud
sudo mv -v /var/www/html/nextcloud/data /var/nextcloud/data

In der Nextcloud-Config-Datei ist der neue Pfad zum Datenverzeichnis anzugeben. Wir wechseln dazu in das entsprechende Verzeichnis und legen vor einer Änderung eine Sicherheitskopie der Config-Datei an:

cd /var/www/html/nextcloud/config
sudo cp -p config.php config.php-bak
sudo nano config.php

In der Config-Datei ist der Eintrag „datadirectory“ zu ändern.

Alter Wert

'datadirectory' => '/var/www/html/nextcloud/data',

Neuer Wert

'datadirectory' => '/var/nextcloud/data',

Die Rechte müssen für den neuen data-Pfad dann noch angepasst werden, wie das bereits bei der Nextcloud-Installation gemacht wurde.

sudo chmod 750 /var/nextcloud/data
sudo chown www-data:www-data /var/nextcloud/data

Maintenance Mode ausschalten:

sudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --off

Beispiel 2

In diesem Beispiel wird das Datenverzeichnis auf einen externen Speicher, der nach /mnt/data, gemountet wird, verschoben. Dazu ist ein Eintrag in der /etc/fstab erforderlich, um den exterenen Speicher direkt beim Starten des Pis einzubeinden.

Maintenance Mode einschalten:

<font color="Blue"><pre><code>sudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --on

Verzeichnis verschieben

sudo mkdir -p /mnt/data
sudo mv -v /var/www/html/nextcloud/data /mnt/data

Config-Datei – Backup erstellen und bearbeiten

cd /var/www/html/nextcloud/config
sudo cp -p config.php config.php-bak
sudo nano config.php

Alter Wert

'datadirectory' => '/var/www/html/nextcloud/data',

Neuer Wert

'datadirectory' => '/mnt/data'

Maintenance Mode ausschalten:

sudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --off

Um die Änderungen auch zu aktivieren ist ein Neustart der Raspberry Pis sinnvoll:

sudo reboot

Ich habe festegestellt, dass das Anpassen der Rechte durch chown nicht zwingend zum Erfolg führen muss. Eine bessere Lösung ist es, die Rechte für den externen Speicher direkt in der fstab-Datei beim mounten anzupassen. (Das kann auch alternativ für das temporäre Uploadverzeichnis verwendet werden.

UUID=123456 /mnt/data ntfs-3g utf8,dmask=007,fmask=007,umask=007,uid=www-data,gid=www-data,noatime 0

Beachtet hierbei, dass die Rechte an dem Ordner der Benutzer und die Gruppe „www-data“ erhalten. Es ist beim Raspberry Pi dem Standardbenutzer „pi“ nicht mehr möglich in das Verzeichnis zu wechseln. Ihr müsst das dann immer mit dem Befehl „sudo“ machen, z.B. sudo ls /mnt/data.

Nachdem Verschieben des Datenverzeichnisses kann die Fehlermeldung auftauchen, dass die „.ocdata“ im root-Verzeichnis des Datenverzeichnisses fehlt. Um diesen Fehler zu beseitigen hat bei mir das Anlegen einer neuen .ocdata-Datei geholfen.

Ihr Datenverzeichnis ist ungültig.  Stellen Sie sicher, dass eine Datei ".ocdata" im Wurzelverzeichnis des data-Verzeichnisses existiert.
Ihr Datenverzeichnis ist ungültig.
Stellen Sie sicher, dass eine Datei „.ocdata“ im Wurzelverzeichnis des data-Verzeichnisses existiert.

sudo touch /vollständiger-Pfad-zum-neuen-Datenverzeichnis/.ocdata

Nun kann es sein, dass eure Dateien nicht mehr von Nextcloud gefunden werden, da die Datenbank die neuen Dateipfade nicht mehr kennt. Dies betrifft normalerweise nur die vorhanden Dateien. Neu hinzugefügte Dateien zu Nextcloud werden erkannt und können dargestellt werden.

Fehler beim Laden
Fehler beim Laden

Im Blog-Beitrag „Howto: Change / Move data directory after installation“ ➡ https://help.nextcloud.com/t/howto-change-move-data-directory-after-installation/17170 wird beschrieben, wie die Datenbank angepasst werden kann. Dies ist jedoch mit Vorsicht zu genießen, da sonst die Datenbank „zerstört“ werden kann. Ihr sollte zuvor unbedingt ein Backup der Datenbank anlegen.

Für das Beispiel 2 sollten die Befehle für die Datenbank wie folgt aussehen:

mysql -u nextcloud -p
      use nextcloud;
      update oc_storages set id='local::/mnt/data' where id='local::/var/www/html/nextcloud/data';
      quit;

Aktualisiert zum Abschluss die Nextcloud-Seite im Webbrowser mit der Taste F5.

Nextcloud – Backup einrichten

Nachdem ihr eure Nextcloud am Laufen habt, ist eine Datensicherung relativ leicht einzurichten. In diesem Beispiel erstellen wir das Backup auf den oben angeschlossenen USB-Stick der in das Verzeichnis /mnt/nextcloud gemountet wurde.

Für die Datensicherung benötigt ihr die folgenden Informationen:

  1. Datenbankuser = nextcloud
  2. Passwort des Datenbankusers = euer individuelles Passwort
  3. Name der MariaDB = nextcloud
  4. Der Pfad zur Nextcloud-Config-Datei = /var/www/html/nextcloud/config
  5. Der Pfad des Datenverzeichnises = /var/www/html/nextcloud/data
  6. das Verzeichnis in das ihr das Backup erstellen möchtet = /mnt/nextcloud

Der Befehl zu Sicherung der Datenbank setzt sich wie folgt zusammen:

mysqldump --single-transaction -h [server] -u [username] -p[password] [db_name] > /mnt/nextcloud/nextcloud-sqlbkp_`date +"%Y%m%d"`.bak

Für die Sicherung der Datenbank werden ein paar Optionen verwendet, dich ich hier kurz vorstellen möchte. Alle Optionen können in der MariaDB-Dokumentation selbst noch nachgeschlagen werden ➡ https://mariadb.com/kb/en/library/mysqldump/#options

  1. –single-transaction = Diese Option sendet eine START TRANSACTION SQL-Anweisung an den Server, bevor Daten gedumpt werden.
  2. -h = Definiert den Datenbankserver, bei dieser Installation ist das localhost
  3. -u = Datenbankbenutzer. In diesem Beispiel ist es nextcloud
  4. -p = Diese Option ist gibt das Passwort des Datenbankbenutzers mit. ACHTUNG: Das Passwort muss direkt nach -p eingegeben werden. Wird ein Leerzeichen gelassen, wird das Passwort als Datenbankname erkannt. –> -pPASSWORT
  5. Als letzte Option ist der Name der Datenbank mitzugeben, bei uns ist das nextcloud.

Die Sicherung könnt ihr bereits manuell über die Konsole mit den folgenden Befehlen ausführen:

cd /var/www/html/nextcloud

sudo -u www-data php occ maintenance:mode --on

sudo tar -cpzf /mnt/nextcloud/Nextcloud_Config_`date +"%Y%m%d%H"`.tar.gz -C /var/www/html/nextcloud/config .

sudo tar -cpzf /mnt/nextcloud/Nextcloud_Data_`date +"%Y%m%d%H"`.tar.gz -C /var/www/html/nextcloud/data/ .

mysqldump --single-transaction -h localhost -u nextcloud -pPASSWORT nextcloud > /mnt/nextcloud/nextcloud-sqlbkp_`date +"%Y%m%d"`.bak

sudo -u www-data php occ maintenance:mode --off

Im Backup-Verzeichnis sollten nun die Dateien und die Datenbanksicherung auftauchen:

cd /mnt/nextcloud/

Da die manuelle Sicherung von Nextcloud nun funktioniert, können wir das Ganze auch mit Hilfe von CRON Jobs automatisieren. Dazu legen wir ein Shell-Skript nextcloudbackup.sh im Verzeichnis /etc/scripts an und tragen dort unsere Sicherungsparameter ein.

sudo mkdir /etc/scripts
sudo nano /etc/scripts/nextcloudbackup.sh

In das Skript kopiert ihr die Zeilen:

#!/bin/bash

#Wechsel in das Nexcloud-Verzeichnis
cd /var/www/html/nextcloud

#Aktiviere den Maintenancemode für Nextcloud - Keine Useranmeldung mehr möglich!
sudo -u www-data php occ maintenance:mode --on

#Sichere die Config-Datei
sudo tar -cpzf /mnt/nextcloud/Nextcloud_Config_`date +"%Y%m%d%H"`.tar.gz -C /var/www/html/nextcloud/config .

#Sichere das gesamte Verzeichnis /data
sudo tar -cpzf /mnt/nextcloud/Nextcloud_Data_`date +"%Y%m%d%H"`.tar.gz -C /var/www/html/nextcloud/data/ .

#Erstelle ein Datenbanksicherung
mysqldump --single-transaction -h localhost -u nextcloud -pPASSWORT nextcloud > /mnt/nextcloud/nextcloud-sqlbkp_`date +"%Y%m%d"`.bak

#Entferne den Maintenancemode für Nextcloud - Useranmeldungen sind wieder möglich!
sudo -u www-data php occ maintenance:mode --off

Anschließend ändern wir noch die Rechte des Skripts:

sudo chmod +x /etc/scripts/nextcloudbackup.sh

Zum Abschluss legen wir das Skript noch als CRON Job an:

sudo crontab -e

Der CRON Job könnte z.B. einmal pro Woche ausgeführt werden:

@weekly /bin/bash /etc/scripts/nextcloudbackup.sh

Es gibt auch die Möglichkeit, dass ihr euch nach jeder Ausführung eines CRON Jobs per E-Mail benachrichten lasst. Dazu benötigt ihr aber einen funktionierenden E-Mail-Server wie Postfix auf dem Raspberry Pi.

Im Blog habe ich dazu ein paar Artikel verfasst.

  1. Motion mit E-Mail-Versand – Einrichtung von Postfix
  2. Crontab-Meldungen per E-Mail versenden
  3. Raspberry Status per E-Mail

Dateiuploadlimit erhöhen

Je nach Gebrauch eurer neuen Nextcloud ist ein Upload von größeren Dateien gewünscht. Im Standard lassen sich einzelnen Dateien mit einer Größe von bis zu 511 MB hochladen. Versucht ihr eine größere Datei zur Nextcloud hinzuzufügen, ist dies noch nicht möglich. Die Größe ist in der Standardinstallation von Nextcloud in der Datei /var/www/ntml/nextcloud/.htaccess definiert. Diese maximale Upload-Größe wird euch auch in der Administrationsoberfläche von Nextcloud angezeigt.

In der /var/www/ntml/nextcloud/.htaccess sind zwei Anpassungen vorzunehmen, die nach einem Neustart des Webservers sofort aktiv sind. Der neue Wert wird euch in der Administrationsoberfläche sofort angezeigt.

Achtung:
Die Zeilen gibt es in der „.htaccess“ zweimal, einmal für php5 und einmal für php7. In unserer Installation verwenden wir die Version 7, deshalb ist die Anpassung der Werte dort ausreichend.

sudo nano /var/www/html/nextcloud/.htaccess

php_value upload_max_filesize
php_value post_max_size

Am Apache2 sind noch einige Anpassungen in der „php.ini“ vorzunehmen. Über diese Datei lässt sich das Verhalten des Webservers Apache2 direkt anpassen und ist für ALLE Webapplikationen, die auf dem Raspberry Pi installiert sind aktiv.

Es sind 4 Einträge in der „php.ini„, die ggf. anzupassen sind. In KLammer habe ich die von mir verwendeten Werte angegeben.

  • post_max_size (512M)
  • upload_max_filesize (512M)
  • max_input_time (60)
  • max_execution_time (30)

Zuerst wechseln wir in das Verzeichnis der „php.ini“ und legen eine Sicherheitskopie an:

cd /etc/php/7.0/apache2
sudo cp php.ini php.ini-bak


Update Oktober 2019

cd /etc/php/7.3/apache2
sudo cp php.ini php.ini-bak


sudo nano php.ini

Damit die Änderungen aktiviert werden, muss Apache neugestartet werden.

sudo service apache2 restart


Update Oktober 2019
Es kann bei der Installation von Nextcloud 17 der folgende Fehlerauftauchen „Die PHP-Speichergrenze liegt unterhalb des empfohlenen Wertes von 512MB“.
Im Beitrag ➡ Nextcloud – Die PHP-Speichergrenze liegt unterhalb des empfohlenen Wertes von 512MB. beschreibe ich wie das Problem gelöst wird.


Diese Option verwende ich nicht. Hier jedoch die aktuelle Seite im Nextcloud Manual ➡ https://docs.nextcloud.com/server/17/admin_manual/configuration_files/big_file_upload_configuration.html?highlight=big%20file%20upload

Ebenfalls in der php.ini könnt ihr noch festlegen welches temporäre Verzeichnis für das Zwischenspeichern während des Uploads genutzt werden soll. Ändert ihr das Verzeichnis nicht, wird der Systemstandard verwendet. Der Systemstandard nutzt beim Pi immer die SD-Karte. Ladet ihr nun große Dateien hoch und zuerst in das Temporäreverzeichnis kann das zu Problemen führen, wenn eure SD-Karte zu klein oder zu voll ist. Des weiteren verkürzen viele Schreibzugriffe auf die SD-Karten deren Lebenszeit. Schon aus diesem Grund wäre es sinnvoll dieses Verzeichnis auf einen externen Speicher, wie einen USB-Stick oder eine Festplatte, auszulagern.

Weitere Informationen zu dem Thema findet ihr hier ➡ https://docs.nextcloud.com/server/11/admin_manual/configuration_files/big_file_upload_configuration.html?highlight=big%20file%20upload und hier ➡ https://docs.nextcloud.com/server/11/admin_manual/configuration_server/config_sample_php_parameters.html

Temporäres Uploadverzeichnis

Nextcloud nutzt ein temporäres Uplodverzeichnis, um Dateien bis zum vollständigen Upload zwischenzuspeichern. Wird keine Anpassung vorgenommen, erstellt Nextcloud ein Verzeichnis auf der SD-Karte. Dabei können einige Problem auftreten, z.B. die SD-Karte is zu klein, zu voll, etc. und beim Raspberry Pi vielleicht wichtiger, die Mehrzahl an Schreibzyklen. Es kann vorkommen, dass viele Schreibzugriffe auf die SD-Karte deren Lebensdauer verringert. Aus diesem Grund wird empfohlen dieses temporäre Verzeichnis auf ein externes Speichermedium, wie einen USB-Stick oder Festplatte auszulagern.
Die Konfiguration ist in der „config.php“ im Verzeichnis „/var/www/html/nextcloud/config/“ vorzunehmen.
In die „config.php“ müsst ihr die folgende Zeile hinzufügen:

Zum editieren der Datei „config.php“ gehts mit dem Befehl:

sudo nano /var/www/html/nextcloud/config/config.php

'tempdirectory' => '/tmp/nextcloudtemp',


Als tempörares Verzeichnis könnt ihr z.B. auch ein externes Speichermedium definieren. Eine Anleitung zum Einbinden externer Speichermedien findet ihr im Abschnitt ➡ Externen Datenspeicher einbinden.

Webserver – Umleitung auf Nextcloud erstellen

Die Installation von Nexcloud befindet sich in einem Unterverzeichnis des Apache Webservers. Wird das Hauptverzeichnis aufgerufen, wird eine Standardseite angezeigt. Die dazugehörige Datei befindet sich im Hauptverzeichnis von Apache und heißt index.html.
Möchtet ihr eine Umleitung auf eure Nextcloud-Anmeldeseite, dann könnt ihr sehr einfach eine sofortige Umleitung einrichten.

Bevor ihr eine Umleitung konfiguriert, schaut noch diese Konfiguration an ➡

  • Nextcloud über das Internet erreichbar machen
  • Die zu bearbeitende Datei ist „index.html“ und findet sich im Apache2-Hauptverzeichnis „/var/www/html„. Es ist lediglich die URL an eure eigene Adresse anzupassen.

    <html>
    <head>
    <title>Redirect</title>
    <meta http-equiv="refresh" content="0; URL=https://mydyndns.dns.de/nextcloud">
    <meta name="keywords" content="automatic redirection">
    </head>
    <body>
    If your browser doesn't automatically go there within a few seconds,
    you may want to go to the destination manually.
    </body>
    </html>

    Nun können wir die alte „index.html“ löschen und unsere neue Datei, mit der Umleitung auf Nextcloud, anlegen.

    sudo rm /var/www/html/index.html
    sudo nano index.html
    sudo service apache2 restart

    Cron Jobs aktivieren

    Nextcloud bietet drei unterschiedliche Methoden, um Jobs automatisiert zu starten.

    Cron jobs
    Cron jobs

    Im Manual sind die unterschiedlichen Optionen beschrieben. Es wird jedoch empfohlen, wenn möglich, Cron zu verwenden.
    https://docs.nextcloud.com/server/17/admin_manual/configuration_server/background_jobs_configuration.html#cron-jobs

    Da wir auf dem Raspberry Pi ganz einfach selbst die Cron Jobs verwalten können, solltet ihr diese Methode verwenden.

    Cron Job aktivieren
    Cron Job aktivieren

    sudo crontab -u www-data -e

    Wenn ihr das erste Mal crontab des Benutzers „www-data“ aufruft, werdet ihr nach dem zu verwendenden Editor gefragt. Wählt hier den Editor „nano“ aus.
    Tragt dann am Ede der Datei die folgende Zeile ein.

    */5  *  *  *  * php -f /var/www/html/nextcloud/cron.php

    Raspberry Pi und Nextcloud-Monitoring

    Beim Monitoring haben wir zwei unterschiedliche Systeme, einmal

    1. den Raspberry Pi
    2. die Nextcloud-Installation

    Für den Raspberry Pi könnt ihr euch in Echtzeit die Daten anzeigen lassen im Terminal anzeigen lassen. Dazu gibt es ein paar ganz hilfreiche Tools. Ich verwende meistens „htop“ das aus den Repositories installiert werden kann. Eine weitere Alternative zu „htop“ stellt das Tool „glances“ dar.

    sudo aptitude install htop


    Nextcloud selbst bietet eine eigne Seite im Administrationsmenü, um das System, Benutzer, Dateien, etc. zu monitoren.

    Benötigt ihr ein detailierteres und umfangreicheres Monitoring kann ein externes Überwachungsprogramm wie OpenNMS oder Nagios angebunden wurden. Hilfe dazu findet ihr hier ➡ https://github.com/opennms-config-modules/nextcloud

    Nextcloud – Fehlermeldungen

    Error updating .htaccess file, not enough permissions or „xy“ set to an invalid URL?

    Es wird eine Fehlermeldung beim aktualisieren der .htaccess-Einstellungen ausgegeben. Hier hat bei mir der folgende Befehl geholfen:

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

    Nextcloud Artikelserie

    Dies ist eine unvollständige Liste von weiteren Artikeln die für den erfolgreichen Betrieb einer Nextcloud auf einem Raspberry Pi hilfreich sein könnten.

    Administration Raspberry Pi, Backups, etc.

    1. Nextcloud und Let´s Encrypt
    2. Raspian und Nextcloud absichern
    3. Anmeldung am Raspberry Pi mit einem YubiKey
    4. AVM NAS als Festplatte bei Raspberry Pi als Festplatte mounten
    5. Raspberry Pi SD-Karte im Livebetrieb klonen
    6. Nextcloud – E-Mail-Versand einrichten
    7. Nextcloud – Kalender und Adressbücher sichern mit calcardbackup
    8. Nextcloud – Backups in regelmäßigen Abständen löschen

    Nextcloud – Hilfreiches

    1. Nextcloud-Recovery oder neue SD-Karten
    2. Nextcloud – Zugriff über den Windows Explorer
    3. FreeFileSync – Dateien zur Nextcloud synchronisieren

    Nextcloud – Apps und Funktionserweiterung

    1. Nextcloud und die Zwei-Faktor-Authentifizierung
    2. Nextcloud – Konfiguration und App-Installation
    3. Nextcloud – Notizen mit unterschiedlichen Endgeräten bearbeiten

    Bildquelle: raspberrypi.org

    28 Antworten auf „Nextcloud auf dem Raspberry Pi“

    1. Danke. Deine Anleitung hat super funktioniert und ist deutlich detaillierter als viele andere Tutorials.Hat alles genau so geklappt!

    2. Echt fantastische Anleitung! Danke viel malÜber eine ähnliche Anleitung zu „onlyoffice-nextcloud-documentserver“ würde ich mich extrem freuen… bisher nichts schlaues in Internet gefunden

    3. Wirklich eine sehr gelungene Anleitung.Ich schließe mich meinem Vorschreiber an und würde mich begeistert darüber zeigen eine gute Anleitung für OnlyOffice bestaunen zu dürfen.

    4. Hallo,

      habe noch keine Erfahrung mit OnlyOffice.

      Ich verwende seit kurzem „Joplin“ für die Notizen mit meiner Nextcloud. Das ist aktuell für mich ausreichend.

      Grüße

      Stefan

    5. Wenn ich die Pakete für Nextcloud installieren möchte: sudo aptitude install apache2 php7.0 php7.0-gd php7.0-curl php7.0-common php7.0-intl php-pear php-apcu php7.0-xml libapache2-mod-php7.0 php7.0-mbstring php7.0-zip curl libcurl3 libcurl3-dev php7.0-mysql mariadb-server-10.1 smbclientIch bekomme folgende Meldungen:Couldn’t find any package whose name or description matched „php7.0″Couldn’t find any package whose name or description matched „php7.0-gd“Couldn’t find any package whose name or description matched „php7.0-curl“Couldn’t find any package whose name or description matched „php7.0-common“Couldn’t find any package whose name or description matched „php7.0-intl“Couldn’t find any package whose name or description matched „php-apcu“Couldn’t find any package whose name or description matched „php7.0-xml“Couldn’t find any package whose name or description matched „libapache2-mod-php7.0″Couldn’t find any package whose name or description matched „php7.0-mbstring“Couldn’t find any package whose name or description matched „php7.0-zip“Couldn’t find any package whose name or description matched „php7.0-mysql“Couldn’t find any package whose name or description matched „mariadb-server-10.1″Ich bin mir nicht sicher, nutze ich ein imkompatibles OS?

    6. ich komme von dieses Screen nicht mehr raus ??Zugriff über eine nicht vertrauenswürdige Domain

      Bitte kontaktieren Sie Ihren Administrator. Wenn Sie Administrator
      sind, bearbeiten Sie die „trusted_domains“-Einstellung in
      config/config.php. Siehe Beispiel in config/config.sample.php.

      Weitere Informationen zur Konfiguration finden Sie in der Dokumentation.

    7. Hallo,ich habe gerade versucht die Datei index.html zu löschen und entsprechend zu bearbeiten.Nach deiner Anleitung erstellt der unerfahrene Nutzer (ich…) diese Datei im untersten Verzeichnis und nicht in /var/www/html/Verschieben via mv oder cp funktioniert nicht wegen „Keine Berechtigung“.Hast du noch nen Tipp für mich?Danke!

    8. Hallo Stefan,erstmals gleich dankte für die super Anleitung!Ich habe meinen PI jetzt schon 2-3 mal neu aufgesetzt bzw. danach auch lt. deiner Anleitung konfiguriert…Die NC läuft u. ich kann mich mit meinem Android Telefon via APP anmelden u. zugreifen.Leider bekomme ich beim Windowsclient immer eine Fehlermeldung – Interner Serverfehler.im Protokoll der NC kann finde ich folgende Meldungen:Exception: The
      requested uri(/nextcloud/index.php/js/core/merged-template-prepend.js)
      cannot be processed by the script ‚/nextcloud//index.php‘)/var/www/html/nextcloud/lib/base.php – line 950: OC\AppFramework\Http\Request->getRawPathInfo()/var/www/html/nextcloud/index.php – line 37: OC handleRequest(){main}Exception: The requested uri(/nextcloud/index.php/login/flow) cannot be processed by the script ‚/nextcloud//index.php‘)/var/www/html/nextcloud/lib/base.php – line 950: OC\AppFramework\Http\Request->getRawPathInfo()/var/www/html/nextcloud/index.php – line 37: OC handleRequest(){main}des weiteren habe ich auch versucht ein Update zu machen wobei ich feststellen musste, dass es vermutlich probleme mit den Berechtigungen gibt.
      Check for write permissions
      The following places can not be written to:/var/www/html/nextcloud/updater/../remote.php/var/www/html/nextcloud/updater/../robots.txt/var/www/html/nextcloud/updater/../.user.ini/var/www/html/nextcloud/updater/../index.html/var/www/html/nextcloud/updater/../version.php/var/www/html/nextcloud/updater/../AUTHORS/var/www/html/nextcloud/updater/../cron.php/var/www/html/nextcloud/updater/../console.php/var/www/html/nextcloud/updater/../occ/var/www/html/nextcloud/updater/../index.php/var/www/html/nextcloud/updater/../public.php/var/www/html/nextcloud/updater/../status.php/var/www/html/nextcloud/updater/../.htaccessIch habe mittlerweile schon einige Stunden damit verbracht, auf den Fehler draufzukommen, es will mir jedoch nicht gelingen…Nun möchte ich fragen ob du vlt. eine Idee hättest…Würde mich über eine Antwort freuen…Danke schon malPatrick

    9. Hallo Stefan,erstmals gleich danke für die super Anleitung!Ich habe meinen PI jetzt schon 2-3 mal neu aufgesetzt bzw. danach auch lt. deiner Anleitung konfiguriert…Die NC läuft u. ich kann mich mit meinem Android Telefon via APP anmelden u. zugreifen.Leider bekomme ich beim Windowsclient immer eine Fehlermeldung -Interner Serverfehler.im Protokoll der NC kann finde ich folgende Meldungen:Exception: The requested uri(/nextcloud/index.php/js/core/merged-template-prepend.js) cannot be processed by the script ‚/nextcloud//index.php‘)    /var/www/html/nextcloud/lib/base.php – line 950: OC\AppFramework\Http\Request->getRawPathInfo()    /var/www/html/nextcloud/index.php – line 37: OC handleRequest()    {main}Exception: The requested uri(/nextcloud/index.php/login/flow) cannot be processed by the script ‚/nextcloud//index.php‘)    /var/www/html/nextcloud/lib/base.php – line 950: OC\AppFramework\Http\Request->getRawPathInfo()    /var/www/html/nextcloud/index.php – line 37: OC handleRequest()    {main}des weiteren habe ich auch versucht ein Update zu machen wobei ich feststellen musste, dass es vermutlich probleme mit den Berechtigungen gibt.    Check for write permissions    The following places can not be written to:        /var/www/html/nextcloud/updater/../remote.php        /var/www/html/nextcloud/updater/../robots.txt        /var/www/html/nextcloud/updater/../.user.ini        /var/www/html/nextcloud/updater/../index.html        /var/www/html/nextcloud/updater/../version.php        /var/www/html/nextcloud/updater/../AUTHORS        /var/www/html/nextcloud/updater/../cron.php        /var/www/html/nextcloud/updater/../console.php        /var/www/html/nextcloud/updater/../occ        /var/www/html/nextcloud/updater/../index.php        /var/www/html/nextcloud/updater/../public.php        /var/www/html/nextcloud/updater/../status.php        /var/www/html/nextcloud/updater/../.htaccessIch habe mittlerweile schon einige Stunden damit verbracht, auf den Fehler draufzukommen, es will mir jedoch nicht gelingen…Nun möchte ich fragen ob du vlt. eine Idee hättest…Würde mich über eine Antwort freuen…Danke schon malPatrick

    10. Hi Stefan. Erstmal vielen Dank für die tolle Anleitung. Ich habe ein kleines Problem, eventuell kannst du mir helfen. Ich habe meine externe Festplatte unter /media/externe gemounted. Nun habe ich den Data Ordner für nextcloud unter /media/externe/data abgelegt. Ich erhalte nun, beim Aufruf von nextcloud, folgende Meldung:“Dein Datenverzeichnis kann von anderen Benutzern gelesen werden Bitte ändere die Berechtigungen auf 0770, sodass das Verzeichnis nicht von anderen Benutzern angezeigt werden kann.“ Versuche ich nun aber über chmod die Rechte auf 0770 zu setzen, klappt das nicht. Prüfe ich dann per stat den Ordner, dann ist der immer noch auf 777.Hast du eine Idee wie ich das Problem lösen kann?

    11. Hi Stefan. Erstmal vielen Dank für die tolle Anleitung. Ich habe ein kleines Problem, eventuell kannst du mir helfen. Ich habe meine externe Festplatte unter /media/externe gemounted. Nun habe ich den Data Ordner für nextcloud unter /media/externe/data abgelegt. Ich erhalte nun, beim Aufruf von nextcloud, folgende Meldung:“Dein Datenverzeichnis kann von anderen Benutzern gelesen werden Bitte ändere die Berechtigungen auf 0770, sodass das Verzeichnis nicht von anderen Benutzern angezeigt werden kann.“ Versuche ich nun aber über chmod die Rechte auf 0770 zu setzen, klappt das nicht. Prüfe ich dann per stat den Ordner, dann ist der immer noch auf 777.Hast du eine Idee wie ich das Problem lösen kann?

    12. Hi,ich habe versucht, NC 15 so zu installieren, ich komme auf die Webseite, auf der ich das Admin-Konto erstellen soll. Nach Eingabe aller Daten und „Installation abschließen“ klicken, passiert nichts mehr. die Seite lädt und lädt…

    13. Hallo Stefan,bin die letzten Wochen nicht dazu gekommen, habe jetzt die Version 15.0.2 installiert u. hier funktioniert alles einwandfrei…@Paul: ich hatte das gleiche Problem -> habe die externe Festplatte jetzt erst über das Webinterface eingebunden…Ich habe einiges nachgelesen, u. es könnte ein Problem mit der Dateiberechtigung in Bezug auf NTFS  sein – vlt. die HDD mal als ext formatieren -> falls sie das nicht ist…sGPatrick

    14. Moin Stefan,danke für die mega tolle anleitung es hat alles soweit super mit der Installation funktioniert.jetzt habe ich das problem das ich die config.php nicht bearbeiten kann. ich habe keine rechte dafür was mache ich falsch ?danke schonmal im vorraus Gruß,Christopher

    15. Hallo Stefan,ganz herzlichen Dank für die tolle Anleitung. Seit einem halben Jahr versuche ich NextCloud auf meinem Raspberry zum Laufen zu bringen. Bei allen anderen Anleitungen, nach denen ich es versucht habe, hat immer irgendwo der entscheidende Hinweis gefehlt und die Installation ist fehlgeschlagen.Jetzt funktioniert er endlich! Nicht super-schnell, aber er läuft 🙂 Nun muß ich nur noch warten bis meine Daten (1TB) alle synchronisiert sind, denn das Desktop-Tool sagt daß das noch 16 Tage dauert.

    16. Hallo Ralph,

      lässt du deine Daten über das LAN oder über das Internet auf deine Nextcloud?
      Über das LAN sollte das eigentlich schneller gehen.

      Grüße

      Stefan

    17. Hallo Stefan,das geht über’s WLAN (die Externe Verbindung hab‘ ich noch nicht eingerichtet, schrecke davor noch zurück wegen meinem DS-Lite-Internetanschluß).Geht ziemlich zäh – aber immerhin geht’s ;-)Hast Du aus der Ferne eine Idee woran das liegen könnte?Danke und viele GrüßeRalph

    18. Hallo,der link »http://raspbian.raspberrypi.org/raspbian stretch/main« funktioniert nicht mehr. Wo muss ich hin?

    19. Hallo…Tolle Anleitung. Funktioniert auch alles.Aber ich möchte gerne das DATA Verzeichnis auf mein NAS auslagern. Bisher habe ich das nicht geschafft. Ich habe im media Verzeichnis ein Unterverzeichnis NAS angelegt und diesem die Berechtigung für www-data:www-data gegeben. Gleichzeit mit chmod 777 vorerst alle Schreibrechte zugeteilt. Dann versucht den Serverpfad auf das Verzeichnis  zu mounten: sudo mount -a //192.168.6.2/Daten /media/NAS cifs defaults,username=www-data,password=<password>,vers=1.0,uid=1000,gid=1000 0 0 gemountet. Auf dem Server den Benutzer auch angelegt und die Berechtigungen  auf das Verzeichnis erteilt. Jedoch bekommen ich keinen  Zugriff auf den Server. Kannst du mir die Einstellungen sagen was ich auf beiden Geräten machen muss ? Wäre genial.. DankeMichael

    20. Hallo Stefan,danke dir… Ich habe es geschafft… :)Ich habe ein Verzeichnis NAS in media erstellt. Auf dem Server den Benutzer www-data angelegt und diesem die Berechtigung für das Verzeichnis Daten zugeteilt. Dann in der fstab diesen Befehl eingetragen: //IP-Server/Daten /media/NAS cifs password=xxxxx,uid=wwww-data defaults 0In der config.php den Pfad auf media/NAS angepasst und nun läuft die Sache perfekt. Wichtig vorher cifs-utils und smbclient auf dem Pi installieren. Danke… !!!!

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

    Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.