Die eigene Cloud mit dem Raspberry Pi und Nextcloud

In diesem Beitrag zeige ich euch wie ihr euch eine eigene Cloud mithilfe des Raspbery Pi’s, Nextcloud & Let’s Encrypt baut. Ihr benötigt außerdem eine DynDNS Domain. Ich empfehle euch den Dienst spdyn.de und werde es auch anhand von diesem zeigen. Die Anleitung basiert seit dem 24.06.2019 auf Debian 10 „Buster“. Diese Anleitung kann auf allen Raspberry Pi Modellen angewendet werden, es ist aber zu empfehlen den Raspberry Pi 4 B zu verwenden, da dieser 1 GB, 2 GB oder 4 GB Arbeitsspeicher und Gigabit Ethernet besitzt. Ich empfehle euch den Raspberry Pi 4 mit 4 GB zu verwenden. Der Softwareteil dieser Anleitung funktioniert auch auf anderen Einplatinencomputern ab dem Punkt „Auf den neusten Stand bringen„, sofern Debian 10 „Buster“ als Betriebssystem verwendet wird. Bei Images mit Ubuntu (ab 18.04 LTS) als Basis funktioniert die Anleitung im Grunde auch, es kann aber sein dass Softwarepakete unter Ubuntu anders heißen als unter Debian.

Hinweis 1: Bei Problemen mit Nextcloud wendet euch bitte an das von Nextcloud bereitgestellte Forum. Es gibt auch ein deutsches Subforum

Hinweis 2: Die Apache + MySQL Version des Beitrags steht hier als PDF zur Verfügung und wird nicht weiter gepflegt!

Hinweis 3: Wenn ihr Unterstützung zu einem Problem in den Kommentaren wollt, dann beschreibt eurer Problem bitte so genau wie möglich! 

Changelog:

Diese Anleitung wird von mir in unregelmäßigen Abständen erweitert und/oder angepasst. Damit ihr wisst was geändert wurde gibt es seit dem 22.12.2017 diesen Changelog Abschnitt. Dieser wird, wenn der Beitrag aktualisiert wurde, ebenfalls aktualisiert. Einige Kommentare können somit nach einer Aktualisierung des Beitrags obsolet sein.

  • 22.12.2017: Verweiste Sprungmarken entfernt und hinzufügen neuer Sprungmarken. Hinzufügen des Changelog Abschnittes. Rechtschreibfehler korrigiert.
  • 31.12.2017: Änderungen die bei der Datei /etc/spdynu.conf gemacht werden müssen werden nun genauer formuliert
  • 01.01.2018: MariaDB wird nun mittels mysql_secure_installation abgesichert. Eigener MariaDB-Nutzer für Nextcloud.
  • 03.01.2018: Hinweis hinzugefügt falls statt eines Tokens das Passwort verwendet wird isToken = 1 zu isToken = 0 geändert werden muss. (Danke an Krischan für den Hinweis)
  • 01.02.2018: Hinweis hinzugefügt dass diese Anleitung auch auf anderen Einplatinencomputern funktioniert, sofern Debian 9 „Stretch“ als Betriebssystem verwendet wird.
  • 02.02.2018: Einleitungstext erweitert, wichtige Informationen im Einleitungstext fett hervorgehoben.
  • 06.02.2018: Backup Abschnitt hinzugefügt
  • 06.02.2018: Sprungmarken wieder hinzugefügt, überflüssige Abschnitte entfernt
  • 09.03.2018: Nextcloud Talk hinzugefügt
  • 14.03.2018: Veralteten Screenshot ausgetauscht. Modellempfehlung aktualisiert da der Raspberry Pi 3 B+ vorgestellt wurde. Abschnitt „Was ist der Raspberry Pi?“ auf den neuesten Stand gebracht. Raspberry Pi Link in der Einkaufsliste aktualisiert. Hinweis am Anfang des Beitrags geändert.
  • 16.03.2018: Text im Abschnitt „Was ist der Raspberry Pi?“ aktualisiert. Abschnitt „SSH aktivieren“ um „Unter Linux“ erweitert.
  • 19.04.2018: Installationsmethode des spdyn-Updater geändert
  • 22.04.2018: Statt Apache & MariaDB werden nun Nginx & PostgreSQL verwendet. Screenshots erneuert.
  • 26.04.2018: Bug in der Nginx Konfiguration behoben
  • 21.05.2018: Fehlendes ; in der Nginx Konfiguration hinzugefügt. Doppelte Pakete in der Installationszeile entfernt.
  • 08.07.2018: Fehler beim Befehl im Abschnitt „Let’s Encrypt Zertifikat erstellen“ korrigiert.
  • 08.07.2018: Abschnitt „Let’s Encrypt Zertifikat automatisch aktualisieren“ hinzugefügt
  • 08.07.2018: systemd Service und systemd Timer für Cron Ausführung hinzugefügt
  • 13.07.2018: Der spdyn-updater heißt nun spdynu, wird auf GitLab gehostet und weiterentwickelt.
  • 13.07.2018: Download Link zur Apache & MySQL Version hinzugefügt
  • 09.10.2018: Pi-Hole (Docker) hinzugefügt
  • 10.10.2018: Abschnitt „Pi-Hole“ angepasst
  • 31.10.2018: Backup Abschnitt vorübergehend entfernt
  • 10.11.2018: Installationsmethode des spdynu geändert
  • 21.02.2019: Anpassungen im Abschnitt „Die ganze SD-Karte nutzen und das Passwort des Benutzers pi ändern:“
  • 14.04.2019: Abschnitt „Nextcloud mit DAVx5 verbinden“ hinzugefügt
  • 30.04.2019: PHP Version von 7.0 auf 7.3 angehoben, da Nextcloud seit Version 16 PHP 7.1 voraussetzt
  • 24.06.2019: Aktualisierung der Anleitung auf Raspbian 10 „Buster“. Empfohlener Raspberry Pi aktualisiert
  • 24.06.2019: Abschnitt „Was ist der Raspberry Pi?“ aktualisiert.
  • 10.07.2019: Kleinere Anpassungen. Hinweise hinzugefügt
  • 26.07.2019: Abschnitt „Let’s Encrypt Zertifikat automatisch aktualisieren“ entfernt
  • 29.10.2019: canoxnet.list angepasst
  • 30.10.2019: Nginx Konfiguration aktualisiert

Was ist der Raspberry Pi?

Der Raspberry Pi ist ein Einplatinencomputer (englisch: Single Board Computer (kurz SBC)), welcher von der britischen Raspberry Pi Foundation entwickelt wird. Er enthält einen System on a Chip (kurz SoC) von Broadcom mit einem ARM-Mikroprozessor. Die Maße der Raspberry Pi Modelle A, B, B+, 2 B, 3 B, 3 B+ & 4 B entsprechen in etwa den Abmessungen einer Kreditkarte (93,0 mm x 63,5 mm). Das Modell A+ und der Raspberry Pi Zero sind mit 70,4 mm x 57,2 mm (Modell A+) und 65,0 mm x 31,2 mm (Zero) kleiner, (Alle Maße Länge x Breite der Gesamtgröße). Der Raspberry Pi 4 B ist das aktuellste Modell aus der Raspberry Pi Familie, welcher am 24. Juni 2019 vorgestellt wurde. Dieser besitzt einen auf ARMv8 basierenden Broadcom BCM2711 mit implementierten Cortex-A72-Cores. Der verwendete SoC besitzt 4 Kerne, taktet mit 1,5 Gigahertz und ist 64-Bit fähig. Desweiteren besitzt der Raspberry Pi 4 B 1, 2 oder 4 Gigabyte Arbeitsspeicher. Als erstes Modell der Raspberry Pi Familie besitzt der Raspberry Pi 4 B erstmals Gigabit Ethernet welches nicht über USB 2.0 angebunden ist, WLAN nach dem IEEE 802.11ac Standard (2,4 GHz & 5 GHz Band) sowie Bluetooth 5. Die Raspberry Pi Community ist die größte Community für Einplatinencomputer. Nach dem großen Erfolg des Raspberry Pi kamen eine Reihe ähnlicher Einplatinencomputer (mittlerweile über 100 Modelle) auf den Markt. Der Raspberry Pi war ursprünglich zur Nutzung als Schulrechner vorgesehenen.


Was ist Nextcloud?

Nextcloud wurde am 2. Juni 2016 von ownCloud Erfinder Frank Karlitschek gestartet, um den Nutzern die Kontrolle über ihre Daten und ihre Kommunikation zu ermöglichen. Frank Karlitschek verließ ownCloud 5 Wochen zuvor aufgrund von Meinungsverschiedenheiten über den Kurs von ownCloud. Das Projekt beschreibt sich selbst als „Die nächste Generation von Enterprise File Sync & Share“. Es bietet einige Funktionen, welche von ownCloud nur in der Enterprise-Version angeboten werden. Nextcloud steht unter der GNU Affero General Public License, eine Lizenz für Freie Software mit Copyleft, welche das ASP-Schlupfloch der GNU General Public License (GPL) schließt. Die AGPL schließt das ASP-Schlupfloch, indem sie auch den Anwendern, welche die Software über ein Netzwerk nutzen, eine Downloadmöglichkeit für den Quelltext garantiert. Die Free Software Foundation favorisiert die Verwendung der GNU Affero General Public License gegenüber der GNU General Public License.


Was ist Let’s Encrypt?

Let’s Encrypt ist eine Zertifizierungsstelle, welche von der Electronic Frontier Foundation, University of Michigan und Mozilla gegründet wurde, die Ende 2015 in Betrieb gegangen ist und kostenlose X.509-Zertifikate für Transport Layer Security (TLS) anbietet. Dabei ersetzt ein automatisierter Prozess die bisher gängigen Vorgänge bei der Erstellung, Validierung, Signierung, Einrichtung und Erneuerung von Zertifikaten für verschlüsselte Websites.


Einkaufsliste:

    • Raspberry Pi 4 B mit 4 GB RAM
    • Gehäuse
    • Netzteil mit 5V/2,5A (Offizielles Netzteil)
    • SD-Karte : Samsung Select: 32 GB, 64 GB oder 128 GB
    • 2m Gigabit LAN) Netzwerkkabel

Raspbian herunterladen und auf die SD-Karte schreiben:

Ladet euch hier das Image von Raspbian Lite herunter. Um das Image auf die SD-Karte zu schreiben könnt ihr das Programm Etcher (Meine Empfehlung, für Linux, macOS und Windows verfügbar) verwenden. Linux und macOS Benutzer können selbstverständlich auch dd hierfür verwenden und Windows Benutzer können auch das Programm Win32 Disk Imager verwenden. Diese Entscheidung überlasse ich euch. Wählt zuerst das Image, dann das Laufwerk und klickt dann auf Flash! Ihr werdet nach eurem Passwort gefragt. Alle Daten werden von der SD-Karte gelöscht! Ihr seht am Prozentbalken wie weit das Image schon geschrieben wurde. Wenn das Image erfolgreich geschrieben wurde, erhaltet ihr folgende Meldung:


SSH aktivieren:

Seit November 2016 muss in den aktuellen Images SSH per Hand aktiviert werden.

Unter Windows:

Wenn ihr das Raspbian Image mit dem Win32 DiskImager (unter Windows) oder Etcher auf eine SD-Karte geschrieben habt, lasst die SD-Karte noch in eurem PC stecken, öffnet den Windows Explorer (oder euren Dateimanager unter Linux), geht zum Laufwerk mit dem Namen boot (in meinem Fall das Laufwerk D), klickt oben auf Ansicht und setzt den Haken bei „Dateinamenerweiterung Rechtsklick > Neu > Textdokument Legt nun eine Datei mit dem Namen ssh (ohne .txt)

Unter Linux:

Öffnet einen Terminal und wechselt in das Verzeichnis in welchem die Bootpartition eingehängt ist. Dies ist meist in /media/euer Benutzername/ und hier der Ordner mit dem kürzeren Namen. Legt nun die ssh datei an mit dem Befehl:

touch ssh

Anschließend ist SSH wieder aktiviert

Die ganze SD-Karte nutzen und das Passwort des Benutzers pi ändern:

Steckt nun die SD-Karte in den Raspberry Pi, schließt das LAN-Kabel in euren Raspberry Pi und an euren Router und gebt dem Raspberry Pi Strom. Nach ein paar Sekunden könnt ihr euch über SSH anmelden. Windows-Benutzer benötigen hierfür das Tool PuTTY.

Unter Linux/macOS:

ssh pi@raspberrypi

Das Passwort ist raspberry.

Unter Windows:

Wie bereits gesagt benötigt ihr als Windows Nutzer das Tool PuTTY. Bei Host Name gebt ihr raspberrypi ein. Es ist sinnvoll bevor ihr unten auf Open klickst, dass ihr bei Saved Sessions Raspberry Pi oder etwas dergleichen eingebt und auf Save klickst. Das macht euch bei häufigen Zugriff via SSH auf euren Raspberry Pi das Leben ein bisschen einfacher. Nun werdet ihr nach Login und Passwort gefragt.

  • Benutzername: pi
  • Passwort: raspberry

Nun seit ihr auf der Konsole/dem Terminal. Die Konsole/der Terminal ist vergleichbar mit der Windows Eingabeaufforderung. Das Passwort solltet ihr als erstes ändern. Dies geht mit dem folgendem Befehl:

passwd pi

Danach wird der komplette Speicherplatz der SD-Karte eingerichtet.

sudo raspi-config

Über die Option 7 Advanced Option > Expand Filesystem erweitert ihr die SD-Karte. Anschließend muss neugestartet werden.


Auf den neusten Stand bringen:

sudo apt update
sudo apt upgrade

Benötigte Software installieren:

sudo apt install git certbot unzip nginx postgresql curl libcurl4 redis-server php7.3-fpm php7.3-curl php7.3-gd php7.3-intl php7.3-mbstring php7.3-opcache php7.3-xml php7.3-xmlrpc php7.3-zip php7.3-apcu php7.3-common php7.3-intl php-pear php7.3-apcu php7.3-xml php7.3-mbstring php7.3-zip  php7.3-pgsql php7.3-intl php-imagick php7.3-json php7.3-bz2 php-smbclient redis-server php-redis

Nextcloud installieren:

Nun geht es an die Installation von Nextcloud:

cd /var/www/

sudo wget https://download.nextcloud.com/server/releases/latest.zip

sudo unzip latest.zip

sudo rm latest.zip

sudo rm -R html

sudo mv nextcloud html

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

DynDNS Domain bei spdyn.de

Registriert euch zuerst bei spdyn.de und fügt über euer Profil bei Hosts von Benutzer einen IPv4 Host hinzu. Gebt bei 1. einen Hostnamen ein. Diesen könnt ihr selbst wählen. In diesen Beispiel habe ich meinrpi als Hostnamen gewählt. Bei 2. habt ihr einige Domains zur Auswahl. Ihr müsst bei 3. noch ein CAPTCHA bestätigen. Mit einem Klick auf 4. „Host hinzufügen“


DynDNS-Funktion der FRITZ!Box nutzen:

Meldet euch unter fritz.box auf eurer FRITZ!Box an und geht auf Internet > Freigaben > DynDNS Gebt dort folgende Daten ein:

  • Update-URL: https://update.spdyn.de/nic/update?hostname=<domain>&myip=<ipaddr> https://update.spdyn.de/nic/update?hostname=<domain>&myip=<ip6addr>
  • Domain: Eure Domain bei spdyn
  • Benutzername: euer Benutzername bei spdyn
  • Passwort: euer Passwort

Alternativ: spdynu installieren:

Alternativ könnt ihr auch den spdynu verwenden. Der spdynu wurde von mir für die Verwendung mit spdyn angepasst und sollte auch mit den alternativen Dynamic-DNS Anbietern funktionieren.

cd

wget https://apt.canox.net/apt.canox.net.gpg.key

sudo apt-key add apt.canox.net.gpg.key

echo "deb [arch=armhf] https://apt.canox.net/ raspbian main" | sudo tee /etc/apt/sources.list.d/canoxnet.list

sudo apt update

sudo apt install spdynu

sudo systemctl enable spdynu.service

sudo systemctl enable spdynu.timer

sudo systemctl start spdynu.service

sudo systemctl start spdynu.timer

Anschließend müsst ihr mit sudo nano /etc/spdynu.conf die Datei /etc/spdynu.conf anpassen. Dort müsst ihr anpassen:

  • Host (euer bei spdyn erstellter Host)
  • Username (euer Benutzername bei spdyn)
  • Passwort (falls ihr über die Webseite einen Token generiert habt müsst ihr diesen statt des Passwortes eintragen. Wenn ihr stattdessen euer Passwort verwendet muss isToken = 1 zu isToken= 0 geändert werden)

Das ganze sollte am Ende wie folgt aussehen: Mit Strg + O, Enter & Strg + X speichert ihr die Datei Eure IP-Adresse findet ihr in der Datei /tmp/spdynuIP.cnf

cat /tmp/spdynuIP.cnf

Beispielausgabe:

currentIP=111.222.333.444

Portfreigaben einrichten:

Anschließend müsst ihr zwei Portfreigaben einrichten. Eine für den Port 80 und eine für den Port 443. Ich zeige das hier mit einer AVM FRITZ!Box 7490. Meldet euch unter fritz.box auf eurer FRITZ!Box an und geht auf Internet > Freigaben pf-fb Klickt auf Gerät für Freigaben hinzufügen Wählt im anschließenden Fenster euren Raspberry Pi und klickt unten auf Neue Freigabe Hier müsst ihr jeweils für den Port 80 und Port 443 eine Freigabe anlegen


Nginx Konfiguration für Nextcloud:

Nun wird die Konfiguration von Nginx durch die Konfiguration für Nextcloud ersetzt

sudo mv /etc/nginx/sites-enabled/default $HOME/nginx-default.backup

sudo nano /etc/nginx/sites-enabled/default

Dort einfügen (Hinweis: Ihr müsst domain.spdns.de mit eurer bei spdyn angelegten Domain ersetzen!):

upstream php-handler {
 #server 127.0.0.1:9000;
 server unix:/var/run/php/php7.3-fpm.sock;
}

server {
 listen 80;
 listen [::]:80;
 server_name domain.spdns.de;
 # enforce https
 #return 301 https://$server_name$request_uri;
 root /var/www/html/;
}

server {
 listen 443 ssl http2;
 listen [::]:443 ssl http2;
 server_name domain.spdns.de;

 ssl_certificate /etc/letsencrypt/live/domain.spdns.de/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/domain.spdns.de/privkey.pem;

root /var/www/html/;
# Add headers to serve security related headers # Before enabling Strict-Transport-Security headers please read into this # topic first. add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;"; # # WARNING: Only add the preload option once you read about # the consequences in https://hstspreload.org/. This option # will add the domain to a hardcoded list that is shipped # in all major browsers and getting removed from this list # could take several months. add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag none; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; add_header Referrer-Policy "no-referrer" always;
add_header X-Frame-Options „SAMEORIGIN“ always; 

fastcgi_hide_header
X-Powered-By; # Path to the root of your installation root /var/www/html/; location = /robots.txt { allow all; log_not_found off; access_log off; } # The following 2 rules are only needed for the user_webfinger app. # Uncomment it if you're planning to use this app. #rewrite ^/.well-known/host-meta /public.php?service=host-meta last; #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; # The following rule is only needed for the Social app. # Uncomment it if you're planning to use this app. #rewrite ^/.well-known/webfinger /public.php?service=webfinger last; location = /.well-known/carddav { return 301 $scheme://$host:$server_port/remote.php/dav; } location = /.well-known/caldav { return 301 $scheme://$host:$server_port/remote.php/dav; } # set max upload size client_max_body_size 512M; fastcgi_buffers 64 4K; # Enable gzip but do not remove ETag headers gzip on; gzip_vary on; gzip_comp_level 4; gzip_min_length 256; gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; # Uncomment if your server is build with the ngx_pagespeed module # This module is currently not supported. #pagespeed off; location / { rewrite ^ /index.php; } location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ { deny all; } location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) { deny all; } location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) { fastcgi_split_path_info ^(.+?\.php)(\/.*|)$; set $path_info $fastcgi_path_info; try_files $fastcgi_script_name =404; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $path_info; fastcgi_param HTTPS on; # Avoid sending the security headers twice fastcgi_param modHeadersAvailable true; # Enable pretty urls fastcgi_param front_controller_active true; fastcgi_pass php-handler; fastcgi_intercept_errors on; fastcgi_request_buffering off; } location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) { try_files $uri/ =404; index index.php; } # Adding the cache control header for js, css and map files # Make sure it is BELOW the PHP block location ~ \.(?:css|js|woff2?|svg|gif|map)$ { try_files $uri /index.php$request_uri; add_header Cache-Control "public, max-age=15778463"; # Add headers to serve security related headers (It is intended to # have those duplicated to the ones above) # Before enabling Strict-Transport-Security headers please read into # this topic first. #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; # # WARNING: Only add the preload option once you read about # the consequences in https://hstspreload.org/. This option # will add the domain to a hardcoded list that is shipped # in all major browsers and getting removed from this list # could take several months. add_header Referrer-Policy "no-referrer" always; add_header X-Content-Type-Options "nosniff" always; add_header X-Download-Options "noopen" always; add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Permitted-Cross-Domain-Policies "none" always; add_header X-Robots-Tag "none" always; add_header X-XSS-Protection "1; mode=block" always; # Optional: Don't log access to assets access_log off; } location ~ \.(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ { try_files $uri /index.php$request_uri; # Optional: Don't log access to other assets access_log off; } }

Mit Strg + O, Enter & Strg +X die Datei speichern


PostgreSQL Nutzer und Datenbank für Nextcloud anlegen:

Nun wird für das Passwort des PostgreSQL geändert und ein eigener Benutzer für Nextcloud angelegt:

sudo -u postgres psql

\password postgres

\q

Gebt dem Benutzer ein sicheres Passwort.

sudo -u postgres createuser -P -d nextcloud

Gebt dem Benutzer ein sicheres Passwort.

sudo -u postgres createdb -O nextcloud nextcloud

Let’s Encrypt Zertifikat erstellen:

Damit ihr über HTTPS auf eure Nextcloud zugreifen könnt benötigt ihr ein Zertifikat. Dies geht mit dem folgenden Befehl (Hinweis: Ihr müsst domain.spdns.de mit eurer bei spdyn angelegten Domain und die E-Mail Adresse user@domain.tld ersetzen!)

sudo certbot certonly --webroot -w /var/www/html/ -d domain.spdns.de -m user@domain.tld --agree-tos

Nginx Konfiguration anpassen:

Die zuvor angelegte Nginx Konfiguration muss nun minimal angepasst werden.

sudo nano /etc/nginx/sites-enabled/default

Erfernt dort die Raute # vor return 301 https://$server_name$request_uri; und setzt eine Raute vor root /var/www/html/ Danach sollte die Stelle wie folgt aussehen;

return 301 https://$server_name$request_uri;
#root /var/www/html/

Mit Strg + O, Enter & Strg +X die Datei speichern

sudo systemctl restart nginx.service

Nextcloud einrichten:

Nun könnt ihr Nextcloud einrichten. Ruft dazu die URL in eurem Browser auf. Dort müsst ihr einen Benutzernamen und ein sicheres Passwort für den Administrator anlegen. Niemals das Administrator-Konto mit admin oder administrator benennen. Legt für eure Daten einen eigenen Benutzer an! Bei Datenbank einrichten gebt ihr bei Benutzer und bei Datenbank nextcloud an. Bei Passwort das Passwort des Nextcloud Datenbanknutzers ein.

 

Memory Cache nutzen

Nextcloud empfiehlt euch einen Memory Cache zu nutzen. Diesen richtet ihr wie folgt ein:

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

Dort vor der letzen Zeile ); die Folgende Zeile einfügen:

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

System environment variables anpassen und OPcache einrichten:

sudo nano /etc/php/7.3/fpm/pool.d/www.conf

Sucht dort mit Strg + W nach ;env[HOSTNAME] und entfernt vor den nachfolgenden Zeilen das Semikolon ;

;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp

Mit Strg + O, Enter & Strg +X die Datei speichern

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

Dort einfügen:

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

Mit Strg + O, Enter & Strg +X die Datei speichern Anschließend php7.3-fpm neustarten

sudo systemctl restart php7.3-fpm.service

Cron Ausführung via systemd:

Es empfiehlt sich die Hintergrund-Aufgaben via Cron auszuführen. Hierfür werden ein systemd Service und ein systemd Timer angelegt

sudo nano /etc/systemd/system/nextcloudcron.service

Dort einfügen:

[Unit]
Description=Nextcloud cron.php job

[Service]
User=www-data
ExecStart=/usr/bin/php -f /var/www/html/cron.php

[Install]
WantedBy=basic.target

Mit Strg + O, Enter & Strg +X die Datei speichern

sudo nano /etc/systemd/system/nextcloudcron.timer

Dort einfügen:

[Unit]
Description=Run Nextcloud cron.php every 15 minutes

[Timer]
OnBootSec=5min
OnUnitActiveSec=15min
Unit=nextcloudcron.service

[Install]
WantedBy=timers.target

Mit Strg + O, Enter & Strg +X die Datei speichern

sudo systemctl start nextcloudcron.timer

sudo systemctl enable nextcloudcron.timer

Nextcloud Apps:

Für die Betriebssysteme Android, iOS und Windows 10 Mobile gibt es Nextcloud Apps. Die Nextcloud App für Android ist kostenlos und die App für iOS und Windows 10 Mobile kosten jeweils 0,99€. Die App für Windows 10 Mobile kann derzeit getestet werden. Entstanden ist der Client für Windows 10 Mobile in Zusammenarbeit mit Programmierer André Fiedler.

Nextcloud
Nextcloud
Entwickler: Nextcloud
Preis: Kostenlos
?Nextcloud
?Nextcloud
Entwickler: Marino Faggiana
Preis: Kostenlos


 

Optionale Schritte nach der Installation:

Hier zeige ich noch ein paar optionale Schritte welche ihr nach der Installation von Nextcloud machen könnt.


Nextcloud Talk:

Nextcloud Talk ist ein in Nextcloud integriertes Videokonferenzsystem. Die Videodaten werden über den WebRTC Standard Ende-zu-Ende verschlüsselt übertragen. Um Nextcloud Talk nutzen zu können muss die App „Talk“ aktiviert werden. Loggt euch hierzu mit eurem Admin Account ein, klickt auf euer Profilbild, geht zu Apps > Kommunikation (oder zu Multimedia) und aktiviert die App „Talk“. In der Leiste oben habt ihn nun ein Sprechblasensymbol. Euer Browser (in meinem Fall der Mozilla Firefox) fragt nun nach den benötigten Berechtigungen für Kamera und Mikrofon. Mit einem Klick auf Teilnehmer hinzufügen > Neuer öffentlicher Anruf erhaltet ihr einen Link welchen ihr an die Person(en) schicken könnt mit welcher/welchen ihr euch via Nextcloud Talk unterhalten möchtet.


TOTP aktivieren:

Mit Hilfe von TOTP (time-based OTP, dt: zeitbasiertes Einmalpasswort) könnt ihr eure Nextcloud Instanz zusätzlich absichern. Denn, sollte jemand euren Benutzernamen und euer Passwort der Nextcloud Instanz herausgefunden haben, so kommt er ohne das zeitbasierte Einmalpasswort nicht rein. Meldet euch mit dem Konto des Administrators an und geht zu Apps > Authentifizierung & Authorisierung und aktiviert die App „Two Factor TOTP Provider Jeder Benutzer kann nun in seinem persönlichen Bereich bei TOTP-Zweifaktorauthentifizierung den Haken setzen, nun erscheint ein QR-Code und ein TOTP-Schlüssel. Den QR-Code oder den TOTP-Schlüssel müsst ihr mit der App Google Authenticator einscannen/eingeben.

Google Authenticator
Google Authenticator
Entwickler: Google LLC
Preis: Kostenlos
?Google Authenticator
?Google Authenticator
Entwickler: Google LLC
Preis: Kostenlos


Two Factor U2F aktivieren:

Nextcloud lässt sich seit Version 11 auch mit der U2F (Universal Second Factor) Authentifizierung absichern. Ihr benötigt hierzu einen USB-Stick welcher den U2F Standard unterstützt. Ich persönlich setze einen Yubikey Neo ein und ich empfehle euch diesen. Meldet euch mit dem Konto des Administrators an und geht zu Apps > Authentifizierung & Authorisierung und aktiviert die App „Two Factor U2F„. Jeder Benutzer kann nun in seinen persönlichen Bereich ein U2F-USB-Stick wie dem Yubikey Neo hinzufügen. Ich rate euch unbedingt Backup-Codes zu generieren. Beim Anmelden sieht das ganze dann so aus:


Nextcloud Theming:

Eine meiner Lieblingsfunktionen von Nextcloud ist das sehr einfache Theming. Meldet euch mit dem Konto des Administrators an. Die Theming-Funktion ist über den Punkt Administration > Theming erreichbar. Sprich: Nur der Administrator kann das Theme anpassen. Ich persönlich würde mich freuen wenn jeder User zumindest die Farbe in seinem Account anpassen kann. Man kann anpassen:

  • Name
  • Webadresse
  • Slogan
  • Farbe
  • Logo
  • Login Hintergrund


Externe 2,5″ Festplatte einbinden:

Ihr habt die Möglichkeit externe 2,5″ Festplatten in Nextcloud einzubinden. Ich zeige euch dies hier mithilfe des WD PiDrive von WDLabs. Meldet euch via SSH auf eurem Raspberry Pi:

sudo nano /boot/config.txt

Dort am Ende der Datei einfügen:

max_usb_current=1

Mit Strg+O und Strg+X speichert ihr die Datei.

mkdir /home/pi/usbdrive

Überprüfen ob eure USB-Festplatte erkannt wurde:

lsblk

Dort sollte der Name sda bzw. sda1 erscheinen. Einbinden der Festplatte ins /home/pi/usbdrive:

sudo mount -t auto /dev/sda1 /home/pi/usbdrive
sudo chown -R www-data:www-data /home/pi/usbdrive
sudo nano /etc/fstab

Dort einfügen:

/dev/sda1 /home/pi/usbdrive auto noatime 0 0

Meldet euch mit dem Konto des Adminstrators an und geht zu Apps > Nicht aktiviert und aktiviert die App „External storage support„. Um die Festplatte in Nextcloud einzubinden, geht zu Nextcloud > Euer Benutzername > Administration > Externer Speicher. Gebt dort den gewünschten Ordnernamen ein (in meinem Fall WD PiDrive), stellt den Speicher auf Lokal und gebt bei Konfiguration den Pfad /home/pi/usbdrive ein. nextcloud-externer-speicher


Nextcloud mit DAVx5 verbinden:

Um eure Kontakte und eure Kalender unter Android mit Nextcloud synchronisieren könnt ihr DAVx5 (ehemals DAVdroid) verwenden. In diesem Beitrag zeige ich euch wie ihr Nextcloud mit DAVx5 verbindet. DAVx5 könnt ihr entweder über Google Play oder über F-Droid installieren. Klickt in Nextcloud auf euer Profilbild > Sicherheit > Geräte & Sitzungen und erstellt ein neues App Passwort. Vergebt einen App-Namen, z.B. das Modell eures Smartphones/Tablets und klickt auf „Neues App-Passwort erstellen“.

Kopiert dann das Passwort, wenn ihr diese Schritte über euer Smartphone/Tablet, ausführt oder notiert es euch.

Öffnet nun DAVx5 auf eurem Smartphone/Tablet und klickt unten auf das Plussymbol, wählt „Mit URL und Benutzername anmelden aus“, dort muss folgendes eingetragen werden:

  • https://domain.tld/remote.php/dav bzw. https://sub.domain.tld/remote.php/dav (z.B. für myTUXEDO: https://www.mytuxedo.de/remote.php/dav/)
  • Benutzername
  • Passwort

Als Benutzername müsst ihr euren Benutzername eingeben und als Passwort müsst ihr das zuvor notierte bzw. kopierte Passwort eingeben.

Benennt nun das Konto und stellt bei „Kontaktgruppen-Methode“ auf „Gruppen sind Kategorien der Kontakte“. Nun könnt ihr die „Ordner zur Synchronisierung“ auswählen.

Das wars! Ihr habt es geschafft 😀

Kompatible Apps:


Pi-Hole neben Nextcloud (Docker):

Docker installieren:

curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh

Pi-Hole installieren:

sudo docker pull pihole/pihole:v4.0_armhf

Pi-Hole starten:

sudo docker run -d --name pihole -p 53:53/tcp -p 53:53/udp -p 67:67/udp -p 8080:80 -e ServerIP="192.168.178.41" --restart=unless-stopped --cap-add=NET_ADMIN pihole/pihole:v4.0_armhf

Die ServerIP müsst ihr anpassen. Eure IPv4 Adresse findet ihr mit folgendem Befehl heraus:

 ip -4 addr | grep eth0 | grep inet

Pi Hole Passwort ändern:

sudo docker ps

Ausgabe:

CONTAINER ID  
317952f1a7d4

Kopiert die Container ID.

docker exec -it 317952f1a7d4 /bin/bash

root@317952f1a7d4:/# pihole -a -p 123456
  [✓] New password set

root@317952f1a7d4:/# exit

Ersetzt 123456 mit einem sicheren Passwort! Pi-Hole ist nun über http://ip-eures-rpi:8080

Quellen: Nginx Konfiguration, System environment variables, systemd Service und Timer

Steven Seifried

Ey Yau! Ich bin Steven, Gründer und Betreiber von CANOX.NET. Privat nutze ich seit 2015 überwiegend Linux (Windows nur noch zum zocken). Seit 2019 bin ich Teil des Notebook-Support-Teams von TUXEDO Computers

Das könnte Dich auch interessieren …

561 Antworten

  1. Arne sagt:

    Schöne Anleitung. Danke.

    Nur stolpere ich über „Das Passwort ist raspberry“. So weit richtig, aber sollte man nicht sofort als erstes das Standardpasswort austauschen? 😉

  2. cafelito sagt:

    Bin gespannt wie es weiter geht.
    Mach weiter so. Daumen hoch…

  3. Steven Seifried sagt:

    @Arne ist korrigiert

  4. Johannes Bauerstatter sagt:

    Ist es möglich eine exteren Festplatte anzuschließen und diese einzubinden? Wie wären die Befehle dafür?
    Vielen Dank und Top Anleitung.

  5. Steven Seifried sagt:

    Ja ist möglich.

  6. Johannes Bauerstatter sagt:

    Anleitung funktioniert perfekt. Hätte eine Installtion von NGINX Vorteile gegenüber Apache? Im Moment lasse ich es auf einen Raspi 1 laufen und etwas mehr Performance wäre nicht schlecht. 🙂

  7. Rutschig sagt:

    Hey, nette Anleitung … die werde demnächst mal benutzen. Um das ganze etwas sicherer zu machen könnte man doch die Nextcloud in die DMZ stellen, oder? Soweit ich mal gelesen hatte bringt die das von Hause aus mit (LAN Port 1 oder so).

  8. Steven Seifried sagt:

    Dürfte funktionieren.

  9. Piet sagt:

    Hallo,
    Kann ich dies auch mit eine SD Karte von 8 Gb machen?
    Danke fur die Antwort.

  10. Steven Seifried sagt:

    Ja das funktioniert

  11. Piet sagt:

    Ich bekomme den Bericht „Could not resolve hostname raspberry: Name or service not known“ when Ich dass ssh gebrauche.
    Wass kan ich besser machen?

  12. Steven Seifried sagt:

    Dann schau am besten im Webinterface deines Routers nach der IP des Raspberry Pi

  13. Arndt sagt:

    danke für die detaillierte Anleitung. Hab es zunächst ohne dynDNS und TLS auf einem Bananapi ohne Probleme zum Laufen bekommen. Super Sache.

  14. KT sagt:

    Hallo,
    ich bekomme folgende Meldung : nextcloud can’t create or write into the data directory /var/www/nextcloud/data
    Den directory data besteht nicht.
    Was habe ich verkehrt gemacht?

  15. Steven Seifried sagt:

    sudo mkdir /var/www/nextcloud/data sollte helfen

  16. Matthias sagt:

    Hallo zusammen, ich bekomme folgende Fehlermeldung:
    pi@raspberrypi:~ $ sudo apt-get install apache2 php5 php5-gd php5-sqlite php5-curl php5-common php5-intl php-pear
    Paketlisten werden gelesen… Fertig
    Abhängigkeitsbaum wird aufgebaut.
    Statusinformationen werden eingelesen…. Fertig
    Die folgenden zusätzlichen Pakete werden installiert:
    apache2-bin apache2-data apache2-utils libapache2-mod-php5 libapr1
    libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0 libonig2
    libperl4-corelibs-perl libqdbm14 lsof php5-cli php5-json php5-readline
    ssl-cert
    Vorgeschlagene Pakete:
    apache2-doc apache2-suexec-pristine apache2-suexec-custom php5-dev
    php5-user-cache openssl-blacklist
    Die folgenden NEUEN Pakete werden installiert:
    apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php5 libapr1
    libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0 libonig2
    libperl4-corelibs-perl libqdbm14 lsof php-pear php5 php5-cli php5-common
    php5-curl php5-gd php5-intl php5-json php5-readline php5-sqlite ssl-cert
    0 aktualisiert, 25 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
    Es müssen 7.236 kB an Archiven heruntergeladen werden.
    Nach dieser Operation werden 26,6 MB Plattenplatz zusätzlich benutzt.
    Möchten Sie fortfahren? [J/n] J
    Abbruch.
    pi@raspberrypi:~ $
    Woran kann es liegen, dass er abbricht? Was mache ich falsch?
    Ich nutze den Raspberry PI Modell B Rev 2.0, 512MB, kann es sein das er nicht alles unterstütz oder überfordert ist?

    Cheers matthias

  17. Steven Seifried sagt:

    Hallo Matthias,

    es sollte funktionieren wenn du den Befehl noch einmal ausführst.

    Gruß Steven

  18. Rene sagt:

    Hallo! Danke sehr für die Anleitung. Habe fast alles auf Anhieb hinbekommen. Das einzige was jetzt noch nicht funktioniert ist der Zugriff über https://…, was ja anscheinend für die App zwingend ist.
    Zum troubleshooting mal eine Frage: Bei dem Absatz zu letsencrypt schreibst du am Ende ‚Hier müsst ihr eure DynDNS Domain eingeben. Let’s Encrypt erledigt den Rest von selbst.‘
    Meinst du mit DynDNS Domain die Hostadresse, also z.b. ‚meinname.spdns.de‘?

  19. Rene sagt:

    Oh okay. Na dann habe ich es eigentlich richtig gemacht. Ich kann dennoch nicht über https:// zugreifen. Hast du eine Idee was ich überprüfen kann was schiefgegangen sein kann? Port 443 habe ich freigegeben. Muss man sonst noch etwas im apache enablen oder gibt es irgendwelche Befehle um die SSL funktionsfähigkeit zu überprüfen?

  20. Christoph sagt:

    Hallo, das klingt sehr gut. Mein Pi wartet auf die Installation. Nur möchte ich gern über MyFritz statt über spdyn das realisieren. Wie geht das??? Oder bin ich naiv?

  21. Junichs sagt:

    Wieso kann ich nicht über die Fritzbox die Aktualisierung von Spydns laufen lassen?
    Sondern soll ein ominöses Tool benutzen, welches scheinbar nicht mal ein offizielles Tool von denen ist? Der Sinn erschließt sich mir nicht.
    Ich hoffe auf Erleuchtung 😀

  22. Jimmy Kater sagt:

    habe gelesen, dass man zb mit CNAME einen eigenen eintrag auf den myfritz-namen setzen kann, wenn man denn eine eigene domain irgendwo rumliegen hat… so dass zb ein aufruf mit (die auf irrezahlenundbuchstabenkombi.myfritz.net zeigt) möglich sein sollte.
    das heißt: dieses vorgehen IST möglich. ich weiß nur (noch) nicht, ob das bei der installation des raspi nach der oberen anleitung hilft
    drücke die daumen
    jimmy

  23. Tobias sagt:

    Ich habe eine Frage zum ersten Schritt:
    „Raspbian herunterladen und auf SD-Karte schreiben:“

    Ich nutze einen Windows Rechner, die Befehler wget und unzip sind ja an der Stelle für mich noch nicht nutzbar.
    Auf welche Ebene beziehen sich diese Befehle?
    wenn ich das image normal mit dem Win32diskimager tool installiere, sollte es auch gehen richtig?

    Danke.

  24. Steven Seifried sagt:

    Die Befehle kannst du verwenden wenn du Linux benutzt. Wenn du an deinem Windows-Rechner http://director.downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2016-05-13/2016-05-10-raspbian-jessie-lite.zip in die URL-Zeile deines Webbrowsers eingibst, wird das Archiv automatisch heruntergeladen. Entpacken kannst du es entweder mit 7-Zip oder mit dem Windows-Bordmittel. Das Image schreibst du dann mit Win32 Disk Imager auf die SD-Karte

  25. Dom sagt:

    Hi, danke für das Tutorial! Ich bin zurzeit hinter einer Easybox und habe hier das Port-Mapping eingestellt. Komme auch per http:// auf die cloud, allerdings nicht über https:// … letzteres sollte doch eigentlich aktiviert sein und nicht ersteres? 😮
    Ich habe mich genau an deine Anleitung gehalten. Hoffe Du kannst mir irgendwie weiterhelfen. Danke!

  26. Rene (2) sagt:

    Hi, tausend dank zunächst für das gute Tutorial. Aber lustiger weise habe ich (Rene(2)) genau das glaube Problem wie der andere Rene. Habe auch LEtsentcrypt mit dem hostname xxx.spdn.eu durchlaufen lassen, die apache virtualhost angepoast und bei der Fritzbox genau so wie im Screenshot die Portfreigaben hinterlegt. Zugriff per http klappt, bei https geht gar nichts und ich finde nicht heraus, woran es liegen könnte 🙁
    Lieben Dank & Gruß
    René

  27. Steven Seifried sagt:

    Hallo Rene (2),

    ich habe nun herausgefunden woran es bei euch wahrscheinlich liegt. Ich habe vor einiger Zeit den Beitrag angepasst (neue Nextcloud-Version und Absätze) und dabei habe ich, so wie es aussieht, die Zeile mit sudo a2enmod ssl gelöscht. Sorry dafür. Ich habe die Zeile nun wieder hinzugefügt. Wahrscheinlich hat es deswegen bei euch nicht geklappt, aber nun sollte es klappen.

    Gruß Steven

  28. Rene (2) sagt:

    Hallo Steven, hab vielen lieben dank, jetzt funktionier alles so, wie es soll =) Tausend dank!!!

  29. Funktioniert das auch mit dem Raspberry Pi 3 unter Raspbian/Jessie

  30. Steven Seifried sagt:

    Ja, funktioniert

  31. Tobias sagt:

    Auto-Erneuerrung der Letsencrypt Zertifikate:
    Hi, ich hatte es schon mal irgendwo gesehen, wie kann ich die Letsencrypt Zertifikate denn automatisch aktualisieren lassen ?
    Danke für eine Antwort. (Meines läuft am 12.10. ab :-o)

  32. Steven Seifried sagt:

    Hallo Tobias,

    man könnte z.B jeden Sonntag ein Skript via cron ausführen, welches das Zertifikat erneuert. Ich werde mich mal dran setzen und dann den Beitrag dementsprechend erweitern.

    Gruß Steven

  33. Tobias sagt:

    Hi Steven, das wäre Klasse,
    irgendwie hat die Antwort eintrag mit meiner E-mail Adresse nicht funktioniert, deshalb antworte ich erst jetzt.
    Habe nun das Problem, dass ich morgen mein Zertifikat abläuft und ich bei der manuelle Erneuerung folgende Fehler meldung bekomme.

    letsencrypt: error: ambiguous option: –renew could match –renew-by-default, –renew-hook

    Jemand eine Idee ?

    Danke Tobias

  34. Tobias sagt:

    Ok, scheinbar habe ich es gefunden:
    Meine letsencrypt installtion liegt scheinbar anderswo. mit
    /etc/letsencrypt/letsencrypt-auto –renew-by-default certonly -d xyz.org
    Habe ich das Zertifikat erneuert bekommen.
    Allerdgins keine Ahnung was ich da wirklich gemacht habe.
    T.

  35. Jan Wallenstein sagt:

    Hallo, nach upgrade vom OC 9 nach NC 10.0.1 kann ich mich anmelden und Dateien hochladen.
    Aber bei der Befehlseingabe
    sudo -u www-data php occ -V
    bekomme ich jede Menge Fehlermeldungen „Can not adopt OID … SNMP …SENSORS-MIB…..“.
    Was ist hier falsch?
    Grüße Jan

  36. Jörn sagt:

    Klasse Anleitung! Vielen Dank dafür!
    Was mich noch interessieren würde, wäre wie man ein geschicktes Backup seines NextCloud Pi’s erstellen könnte. Auf eine externe Festplatte via cron vielleicht? Würde mich freuen, wenn du dies vielleicht in einem deiner nächsten Beiträge einmal aufgreifen könntest 🙂

    Grüße

    Jörn

  37. Steven Seifried sagt:

    Hallo Jörn,

    danke für dein Lob und deinen Vorschlag. Ich werde das mal aufgreifen.

    Gruß Steven

  38. Peter sagt:

    Feine Sache und Anleitung! Habe jetzt NextCloud und Dovecot/Roundcube auf dem raspi3 aufgesetzt, allerdings mit openssl statt letsencrypt und mit noip als DynDNS. Läuft problemlos!

    Vielen Dank und Gruß
    Peter

  39. TimeMen sagt:

    Hey,
    tolles Tutorial, allerdings kann ich es nicht nachmachen.

    Ich besitze meinen RPi 3 nun seit ca. 3 Monaten, und ich habe ihn trotz Linux Kenntnissen (Nutze seit 2 Jahren Linux) nicht zum Laufen gebracht.
    Weder über Lan noch über Wlan kann ich ihn mit unserem Internet verbinden, um so einen Kontakt per SSH herzustellen.

    Es hat ein oder zweimal geklappt, doch sobald ich einen reboot durchgeführt habe, habe ich die Verbindung für immer verloren.
    Dann musste ich immer das Image neu auf meine 32 GB SD brennen.

    Hast du eine Ahnung woran das liegt?
    Das ist nämlich echt nervig. Und ich brenne darauf erstens die Cloud zu installieren, und zweitens Projekte mit Arduino und RPi zu machen.
    Allerdings kann ich ja grade nix machen mit dem RPi da ich keinen Zugriff habe…

    LG
    TimeMen

  40. Steven Seifried sagt:

    Hallo TimeMen,

    ich vermute mal das die SD-Karte ne Macke hat. Bei mir ist das selbe Problem vor einiger Zeit mal aufgetreten und es lag an der SD-Karte,.

    Gruß Steven

  41. Kai sagt:

    Hi Steven,
    klasse Tutorial. Ich bin schon ziemlich weit gekommen. Im Teil „Nextcloud einrichten“ verweist du auf die Installation von MySQL. Ich möchte gerne MariaDB (ist ja quasi MySQL) verwenden. Schreibst du dazu noch ein Tutorial oder kannst auf irgendein HowTo verweisen?
    VG Kai

  42. TimeMen sagt:

    Hallo Steven,
    Meinst du die hat von Anfang an ne Macke?
    Kann man den auch von USB booten?
    Denn meine einzige noch funktionierende SD hat nur 1 GB. Damit komme ich nicht weit.

  43. Czmartin sagt:

    Hi Steven,
    danke für Deine ausführliche Anleitung.
    Ich komme an einem Punkt leider nicht weiter. Nachdem ich über SSH folgendes eingebe:
    sudo apt-get install apache2 php5 php5-gd php5-sqlite php5-curl php5-common php5-intl php-pear
    php-apc php-xml-parser libapache2-mod-php5 curl libcurl3 libcurl3-dev sqlite -y
    cd /var/www/

    erscheint die Meldung
    After this operation, 33.6 MB of additional disk space will be used.
    Do you want to continue? [Y/n]
    wenn ich Y eingebe erscheint:
    Abort.
    pi@raspberrypi:~ $

  44. Steven Seifried sagt:

    @TimeMan: Welches Programm hast du zum draufschreiben benutzt? dd oder den Win32 Disk Imager?
    @Czmartin: Einfach den Befehl nochmal ausführen. Das mit dem Abort/Abbruch macht er bei mir auch mal hin und wieder gerne

  45. Sebastian sagt:

    ahoi,
    danke schonmal für das tutorial, es ist nicht einfach, ein ausführliches und vor allem aktuelles zu finden…
    hier mein problem, folgender befehl:
    sudo /etc/letsencrypt/letsencrypt-auto certonly –agree-tos –renew-by-default -a webroot –webroot-path /var/www/nextcloud/ -d ****.spdns.eu

    bringt folgende fehlermeldung:

    Failed authorization procedure. ****.spdns.eu (http-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Could not connect to ****.spdns.eu

    wenn ich in chrome ****.spdns.eu eingebe, kommt nur eine „Webseite nicht erreichbar“.

    Wenn ich ****.spdns.eu:443 eingebe, komme ich auf die apache default debian seite …
    Wenn ich die ip des rpi eingebe, komme ich auf die Startseite der Nextcloud.

    Wo liegt der Hase im Pfeffer?

    Danke für die Hilfe!

  46. Steven Seifried sagt:

    Hast du den Ports 80 in deinem Router freigegeben? Wenn Port 80 nicht im Router freigegeben ist, kann Let’s Encrypt die Domain nicht verifizieren.

  47. Sebastian sagt:

    Danke!!
    Ja, das hatte ich mir kurz vorm schlafen dann auch überlegt, ist das eine generelle geschichte, die ich als anfänger einfach nicht weiß?
    Wenn nicht, wäre das vielleicht sinnvoll zu erwähnen, man sieht zwar in der fritz-box-übersicht, dass du den port 80 auch freigegeben hast, aber schreibst nicht, dass let’s encrypt es braucht.
    Daher dachte zumindest ich, dass es evtl für irgendwas anderes gut ist… Mach ich heut abend dann mal.

  48. Danny sagt:

    Danke für die Anleitung, aber an dieser Stelle komme ich nicht weiter. „Anschließend müsst ihr die Datei /etc/spdnsu.conf anpassen.“ Wie mache ich das? Wenn ich „/etc/spdnsu.conf“ eingebe bekomme ich „-bash: /etc/spdnsu.conf: Keine Berechtigung“ als Antwort.

  49. Steven Seifried sagt:

    Die Datei bearbeitest du mit: sudo nano /etc/spdnsu.conf

  50. Paul Friedhelm Günther sagt:

    Moin,
    danke für die Anleitung. Suche nach einer einfachen schon länger. Werde es die Tage mal testen. Was ich mich immer frage sind folgenden Punkte:
    1) schalten sich die HDDs automatisch ab, wenn sie nicht gebraucht werden (vonwegen Lebensdauer)?
    2) wie kann ich die NC spiegeln (z.B. sync mit einet zweiten NC an einem anderen Standort)? Für den Fall, dass mir der PI/HDD durchbrennt o.Ä.

    Danke und Grüße

  51. Hallo,

    1.) soweit ich weiß ja
    2.) Ich bin aktuell am schauen wie man das am besten lösen kann

    Gruß Steven

  52. Mattheus sagt:

    Hallo,
    Einwandfreie Anleitung.
    Noch ein kleiner Hinweis, es sollte erwähnt werden, dass der Apache Server down sein sollte, bevor das Zertifikant erstellt wird.
    Gruß, Mattheus

  53. Daniel sagt:

    Habe die Nextcloud mit Wifi externer Festplatte und Clamav und zum laufen gebracht und nach Sqlite installation auch auf MySql umgestellt ohne die einstellungen und User zu verlieren. Die Anleitung von dir ist super und nachvollziehbar mit etwas vorkenntnis mit dem Terminal. Aber trotz allem habe ich es noch nicht geschafft die Seite auf https zu stellen. Bei dem erstellen der Zertifikate bekomme ich die Fehlermeldung schon zu viele abgerufen zu haben. Habe trotz allem die Cloud weiter erstellt. Nach ca einer Woche lebte die Cloud dann von selbst auf. Aber nur mit HTTP. FritzBox ist gestellt wie beschrieben. Aber die Cloud läuft nur mit . Wie bekomme ich die nun auf https:// gestellt??

  54. Steven Seifried sagt:

    Hallo Daniel,

    danke für dein Lob.

    Da man, bei jedem Dynamic DNS-Anbieter, eine Subdomain beim jeweiligen Anbieter anlegt und Let’s Encrypt prüft wie viele Zertifikate für die jeweilige Domain ((leider) nicht Subdomain) bereits ausgestellt wurden. Das von Let’s Encrypt gesetzte Limit für Zertifikate pro Domain, in diesem Fall spdyn, scheint derzeit überschritten worden zu sein.

    Um die eigene Nextcloud per HTTPS zu erreichen muss man derzeit einen anderen Dynamic DNS-Anbieter verwenden.Es haben schon sehr sehr viele Leute meine Anleitung umgesetzt und benutzen als Dynamic DNS-Anbieter spdyn. Ich werde eine Liste mit alternativen Dynamic-DNSin den Beitrag „packen“.

    Gruß Steven

    • Daniel sagt:

      Schade das spdns kein https unterstützt. Ich suche einen Dyn-dns-anbieter welcher kostenfrei ist und dann nicht alle 30 Tage um eine Anmeldung bittet wie bei no-ip bei dem die Adresse bei Nichtanmeldung auf ihrer eigenen Seite den Hostname verfallen lässt. Bei spdyn ist anmelden und fertig ohne Verfallsandrohung und die Cloud darf leben ohne weiteres zutun. Habe übrigens auch schon versucht den Apache zum https zu zwingen mir Redirect… in der conf. .Hat mir auch nur eine Fehlermeldung dann im Firefox gebracht. Danach die conf wieder zurück gestellt muss auch der Verlauf auf Firefox zurückgesetzt werden.
      Gruß Daniel

  55. Steven Seifried sagt:

    Es liegt nicht an spdns sondern an Let’s Encrypt. spdns unterstützt HTTPS.

  56. Anonym sagt:

    Hallo Steven,

    lässt sich die von dir vorgestellte S.USV Pi advanced in das WD Gehäuse mit einbauen?

    Bevor ich beides bestelle und es nicht geht.

  57. Thomas sagt:

    Hallo,
    super Anleitung danke. Es hatte alles funktioniert. Nun musste ich den Raspberry neu starten und habe jetzt keine zugriff mehr auf die HDD. (laut App keine Berechtigung um Ordner erstellen usw) Hab ich durch den Neustart eine berechtigung entfernt?
    Vielen Dank nachmal für die schöne Anleitung.
    Gruß
    Thomas

  58. Steven Seifried sagt:

    @Anonym: Wenn man die GPIO-Pins des S.USV pi advanced abzwickt, dann könnte man das S.USV pi advanced mit ins Gehäuse einbauen.

    @Thomas: Danke für dein Lob! Den Befehl sudo chown -R www-data:www-data /home/pi/usbdrive</strong nochmals ausführen und das Problem sollte behoben sein.

    Gruß Steven

  59. Daniel sagt:

    Super Anleitung und auch das aktuell halten der Eingaben. Aber meinen Cloud welche auf dieser Anleitung beruht möchte ich jetzt ein Update auf die Aktuelle Nextcloud verpassen. Wie könnte ich bzw. andere die das auch betrifft lösen? Über die Updatefunktion von Nextcloud habe ich eine Fehlermeldung. Könnte man das über eine Chron automatisch machen lassen welche einmal pro woche läuft? Könnte eine Anleitung gebrauchen?
    Gruß
    Daniel

  60. Daniel sagt:

    Super Anleitung!!! Upgrade funktioniert so. Ich habe dann nur noch zum komplettieren die nextcloud-zip zum Schluss auch gleich mit gelöscht. Ich würde gern meine cloud über den smbclient im Netzwerk ohne Probleme erreichen können. Um sie vom PC aus mit meiner antivirussoftware überprüfen zu können. Aber ich komme damit nicht ganz zurecht. Bräuchte da mal Hilfe.
    Gruß
    Daniel

  61. Tobias sagt:

    Hallo nochmal, habe jedes Upgrade einzeln drüber installiert, nach der Anleitung, dann hat es funktioniert. Bin jetzt auf 11.0.0

  62. Anonym sagt:

    Hallo Steven,

    Vielen Dank für diese sehr sehr gute und verständliche Anleitung. Auch für das stetige aktualisieren und erweitern vielen Dank.

    Es ist nicht selbstverständlich dass Blogger Anleitungen aktuell halten. Aber du bist hierbei, in diesem Sinne, vorbildlich.

    Ich würde es fair finden wenn einige Leser sich mittels einer kleinen Spende bei dir bedanken würden, da du die Anleitung stetig anpasst und erweiterst.

    Das ist zumindest meine Meinung

  63. elBarto sagt:

    Hallo Steven,
    vielen Dank für die super Anleitung. Nun steht mein Weihnachtsferienprojekt schon und ich habe noch 2 Wochen Urlaub, 🙂
    Ich habe aber doch noch ein kleines Problem. Und zwar habe ich eine externe Festplatte nach deiner Anleitung eingebunden. Sie wird auch erkannt und ich kann sie in Nextcloud einbinden. Leider bekomme ich keine Schreibrechte und kann somit mit dem externen Speicher nichts anfangen.
    Ich habe bereits mehrere Dateiformate ausprobiert, keines hat funktioniert. Vielleicht hast du/ihr ja noch eine Idee?

    Grüße,
    Olli

  64. Steven Seifried sagt:

    @Anonym: Danke für dein Lob. Über Spenden freue ich mich, aber dass ist jedem seine Entscheidung

    @elBarto: sudo chown -R www-data:www-data /home/pi/usbdrive Damit bekommst du bzw. der Benutzer www-data Schreibrechte auf die Festplatte.

    Gruß Steven

  65. elBarto sagt:

    Danke für die rasche Antwort. Leider spuckt mir das Terminal nur „chown: changing ownership of ‘/home/pi/usbdrive’: Operation not permitted“ aus.

    Grüße,
    Olli

  66. Steven Seifried sagt:

    Welches Dateisystem hat die Festplatte aktuell? NFTS? ext4?

  67. elBarto sagt:

    Formatiere sie gerade auf ext3, via Terminal am Raspberry

  68. Steven Seifried sagt:

    Alle Festplatten mit denen ich es getestet habe waren mit NFTS formatiert. Ich würde an deiner Stelle entweder NFTS oder ext4 verwenden.

  69. elBarto sagt:

    Hm, ext4 macht er auch nicht. Jetzt formatiere ich mal in NTFS und schaue morgen weiter.
    Danke!

    Olli

  70. Schöne Anleitung. Danke. Werde ich in 2017 evl. mal testen.

  71. Olli sagt:

    Hallo Steven kannst Du mir helfen?

    Ich komme hier nicht weiter:

    pi@raspberrypi:~ $ sudo nano/etc/spdnsu.conf
    sudo: nano/etc/spdnsu.conf: Kommando nicht gefunden

    Bin Schritt für Schritt durch die Anleitung gegangen.

    Danke!

  72. Steven Seifried sagt:

    Hallo Olli,

    war mein Fehler. soll sudo nano /etc/spdnsu.conf heißen

    Ich habe den Fehler korrigiert.

    Gruß Steven

  73. Olli sagt:

    Hallo Steven,

    habs zum Laufen bekommen! Danke!!!

    Die Nextcloud App kann man nicht verwenden, oder?

    Grüße

  74. Steven Seifried sagt:

    Du kannst die Nextcloud App verwenden

  75. Martin sagt:

    Hallo Steven,

    erstmal vielen Dank für Deine super Anleitung. Das ging Ruckzuck und ohne Murren selbst für einen Anfänger wie mich.
    Bei einem letzten Punkt bleibe ich allerdings hängen: „The requested URL / was not found on this server.“ ein klassischer 404
    Das passiert über die interne LAN-IP wie auch über die externe DynDNS Adresse.
    HTTPS selbst funktioniert. Das ist sicherlich nur ein kleiner Eintrag, dass er die Startseite von Nextcloud nicht findet. Leider weiß ich nicht, wo ich das ändern kann.
    Gruß Martin

  76. Steven Seifried sagt:

    Hallo Martin,

    danke für dein Lob. Hast du den DocumentRoot zu /var/www/nextcloud geändert oder ist der entpackte Nextcloud Ordner eventuell im Verzeichnis /var/www/html?

    Gruß Steven

  77. Olli sagt:

    Hallo Steven,

    ich habe eine 2,5″ 1TB Festplatte angeschlossen. Wird auch erkannt und taucht bei NextCloud auf. Die Schreibrechte habe ich mit sudo chown -R www-data:www-data /home/pi/usbdrive gesetzt. Allerdings bekomme ich auf meinem Handy ständig die Meldung das ich keine Beechtigung habe, in diesem Ordner etwas hochzuladen.

    Kannst du mir helfen?

    Danke!

  78. Steven Seifried sagt:

    Führ den Befehl sudo chown -R www-data:www-data /home/pi/usbdrive nochmal aus. Sollte dann funktionieren

  79. Anonym sagt:

    Hallo Steven,

    Darf ich fragen wie viele Stunden du bereits an dem Beitrag geschrieben hast?

  80. Umut sagt:

    Hallo 🙂

    Registriert euch zuerst bei spdyn.de und fügt über euer Profil bei Hosts von Benutzer einen IPv4 Host hinzu.
    ==== Muss ich da die iP Adresse vom Rasp eingeben?

    Und was muss ich bei Host? Username? Passwort eingeben? Die von der Dyn Seite?

    Wäre cool wenn du mir helfen kannst

  81. Was zu tun ist habe ich nun als Bilder hinzugefügt!

  82. Daniel sagt:

    Gibt es jetzt eine Möglichkeit die Nextcloud mit spdns auf https laufen zu lassen? Frage wegen dem Kommentar von Martin am 4.1.17. Bzw wieviel sicherer läuft die cloud mit https als mit http?

  83. Daniel sagt:

    Wie ich das jetzt verstanden habe ist die http Variante eigentlich sicherer als die https welche demnach veraltet ist. Dachte bisher immer das sich das genau anders herum verhält.

  84. Es ist genau anders herum. HTTPS ist sicherer als HTTP

  85. Daniel sagt:

    Gibt es da inzwischen schon eine Lösung diese die cloud mit spdns auf https umstellen oder muss ich das alles noch einmal mit einer anderen dyndns welche das kann neu aufsetzen. Oder kann spdns es nun auch müsste diese nur neu aufsetzen?

  86. Let’s Encrypt generiert nur eine bestimmte Anzahl Zertifikate pro Domain in der Woche. Falls Let’s Encrypt sagt dass zu viele Zertifikate generiert worden sind, einfach am ersten Tag der Woche, sprich Montag, zu versuchen. Du kannst HTTPS mit jedem DynDNS-Anbieter verwenden. Wie du HTTPS/Let’s Encrypt einrichtest habe ich im Beitrag gezeigt.

    Es liegt nicht an spdyn sondern an Let’s Encrypt und das „Problem“ wirst du bei jedem DyDNS Anbieter, früher oder später, bekommen. Es bringt also nichts einen anderen DynDNS-Anbieter zu nehmen.

  87. Alexander sagt:

    Hallo Steven,
    erstmal vielen Dank für den tollen und ausführlichen Beitrag, und dass du diesen aktive pflegst!

    Ich habe zwei kurze Fragen:
    Per cron soll die IP bei spdyn aktualisiert werden und das letsencrypt Zertifikat wöchentlich aktualisiert werden. Warum wird der eine Eintrag per „sudo crontab -e“, der andere per „sudo nano /etc/crontab“ angelegt?
    Wäre es darüber hinaus nicht sinnvoll, beide Jobs per anacron zu planen, damit diese bei länger ausgeschaltetem Pi nach dem Hochfahren direkt ausgeführt werden? Was meinst du?

    Trotz dass ich der Anleitung zum Beseitigen der Nextcloud Sicherheitshinweise gefolgt bin, erhalte ich weiterhin die Meldung ‚Der „Strict-Transport-Security“ HTTP-Header ist nicht …‘ Beim Überprüfen der Einträge ist mir aufgefallen, dass diese für 000-default.conf und 000-default-le-ssl.conf identisch sind. Ist das so korrekt?
    Zusätzlich musste ich noch einen weiteren Schritt durchführen, indem ich per ’sudo a2enmod headers‘ das Headers Modul aktiviert habe. Trotzdem erhalte ich weiterhin die Fehlermeldung.

    Danke und viele Grüße, Alexander

  88. Hallo Alexander,

    danke für dein Lob.

    Es werden nun beide Crontabs mit „sudo crontab -e“ angelegt. Ich werde mir anacronmal genauer ansehen. Das „sudo a2enmod headers“ hab ich wieder hinzugefügt.

    Dass die beiden Einträge gleich sind, ist korrekt. Das Problem mit Der „Strict-Transport-Security“ HTTP-Header ist nicht …“, ist mir bei meinem V-Server aufgefallen. Ich bin immer noch auf der Suche nach der Lösung, aber es scheint nur bei manchen aufzutreten.

    Gruß Steven

  89. Das Problem mit Der „Strict-Transport-Security“ HTTP-Header ist nicht …“, ist nun behoben.

  90. Kilian sagt:

    Hi Steven,

    erstmal ein Großes Lob an dich; echt guter Guide! 🙂

    Jetzt aber zu meiner Frage / meinem Problem:
    Wenn ich mir auf https://www.spdyn.de eine IPv4 DynDNS Domain erstelle, muss ich per Hand die vorgeschlagenen IP-Adresse im vorgesehenen Feld von v6 auf v4 umtragen. Soweit so gut. (Oder liegt dann hier schon der Fehler?)
    Wenn ich nun im Schritt, in dem Let’s encrypt eingerichtet wird (sudo ./letsencrypt-auto), meine verwendete DynDNS-Domain (meinedyndnsdomain.firewall-gateway.de) eingebe bekomme ich die Fehlermeldung : „The server could not connect to the client to verify the domain“.

    Habe ich bei der Einrichtung der DynDNS-Domain eine falsche IP-Adresse angegeben?
    Oder wo siehst du den Fehler?

    Vielen Dank schon mal im Voraus
    Kilian

  91. Hallo Kilian,

    du scheinst die Portfreigaben und den spdyn Client nicht eingerichtet zu haben

    Danke für dein Lob.

    Gruß Steven

  92. Kilian sagt:

    Hi Steven; Hi alle anderen 🙂 ,

    danke für die schnelle Antwort. 🙂
    Wie du bereits sagtest liegt es an der Portfreigabe.

    Allerdings sehe ich bis jetzt keine Lösung.
    Der Internetanschluss, den ich nutze, ist von Unitymedia mit dem „technicolor tc7200u“ Router…
    Nach langem googeln habe ich den Sachverhalt noch nicht ganz verstanden aber anscheinend kann man mit diesem Modell und vor allem bei Unitymedia keine (IPv4)Ports öffnen.

    Hat jmd von euch da schon ne Erfahrung gesammelt und hat vielleicht sogar ne Lösung?

    Müsste man die komplette Software sonst mit IPv6 Adressen einrichten?

    Ich hoffe auf eine Lösung 🙂
    LG Kilian

  93. IPv4 geht laut der folgenden, englischsprachigen, Anleitung:

    https://portforward.com/technicolor/tc7200-u/

  94. Bernd sagt:

    Hallo Seven, das ist eine gute Anleitung. leider habe ich sie jetzt 3 mal gemach und komm immer wieder an des selben fehler. Alles läuft aben in der Admin oberflächen kommt immer noch die meldung:
    Dein Datenverzeichnis und deine Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, deinen Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass du es aus dem Dokument-Root-Verzeichnis des Webservers bewegst.
    Ich habe /var/www/nextcloud umbenant neu erstellt alles insneuen verzeichnis kopiert und Besitzer und Gruppe geändert und den Apachen neu gestartet.
    Aber kein erfolg der fehler bleit.
    Was habe ich falsch gemacht und wie kann ich das beheben.
    Sicherheitswarnung entfernen: und Memory Cache nutzen erfolgreich installiert.

    Gruß Bernd

  95. Bernd sagt:

    Hallo Steven,
    hat wundabar geklapt, läuft jetzt rund.
    Danke Gruß Bernd

  96. Harald sagt:

    Hall Steven,

    beim durchlese Deiner Anleitung, welche sehr detaliert und aktuell ist (dankeschön)+ (mein Raspberry ist mit der Post unterwegs…) stolpere ich bei folgender Passage:
    Anschließend müsst ihr mit sudo nano /etc/spdnsu.conf die Datei /etc/spdnsu.conf anpassen. Dort müsst ihr anpassen:
    Host, Username, Passwort (falls ihr über die Webseite einen Token generiert habt müsst ihr diesen statt des Passwortes eintragen)

    Welchen User name und PW soll ich verwenden? Den von no-ip hatte ich bisher noch nie angeben müssen.
    Das nächste Problem sehe ich in meinen Ports der Fritzbox: 443 und 80 sind schon anderweitig vergeben. Kann ich mit anderen Zahlenwerten „arbeiten“…?
    Für Deine Hilfe schon ein Dankeschön im voraus

    LG Harald

  97. Thomas sagt:

    Hallo Steven,

    dank deiner Anleitung läuft Nextcloud jetzt ohne Probleme. Ich habe nur ein Problem wenn ich per dlna auf die HDD zugreifen will bricht die komplette Verbindung zusammen. Kann es hier zu einen Berechtigungs Problem kommen?
    Viele Grüße
    Thomas

  98. Harald sagt:

    Hallo Steven, hallo Canox.net Freunde,

    ich ziehe meine Frage zurück, da der Server mittlerweile erfolgreich konfiguriert ist.
    Ein großes Lob an Steven für seine schöne, anschaulich , sehr gut dokumentierte und immer aktuelle Anleitung.
    Dankeschön…

    LG Harald

  99. Stefan sagt:

    Hallo Steven,
    erstmal vielen Dank für die tolle Anleitung. ch habe bis vor kurzem eine Owncloud auf dem Raspi betrieben.Nun wollte ich mal umsteigen auf Nextcloud..
    Nach deiner Anleitung hat eigentlich alles soweit geklappt. Der Updater scheint zu funktionieren und Letscrypt hat auch nicht gemeckert.
    Nur wenn ich Nextcloud im Browser aufrufen will, erscheint “ Die Seite meinhostname.spdns.de funktioniert nicht; meinhostname.spdns.de kann diese Anfrage momentan nicht verarbeiten.
    HTTP ERROR 500 „.
    Ich weiß momentan nicht wirklich weiter.

  100. Andreas sagt:

    Wow! – Selten eine so fehlerfreie, anschauliche, präzise Anleitung gefunden für eine so komplexe Installation!
    Hier noch ein Hinweis, um die Installation noch verständlicher zu gestalten:
    Zeile: Hier müsst ihr eure DynDNS Domain eingeben. Let’s Encrypt erledigt den Rest von selbst.
    Besser: Hier müsst ihr euren Host mit DynDNS Domain eingeben, so wie unter spdyn.de eingetragen. Let’s Encrypt erledigt den Rest von selbst.
    Ganz dickes Lob an Dich,
    Andreas

  101. Hallo Andreas,

    vielen Dank für dein Lob und deinen Verbesserungsvorschlag. Ich würde, sofern du nichts dagegen hast, gerne den verbesserten Text 1:1 übernehmen.

    Gruß Steven

  102. Alex sagt:

    Hallo Steven,
    danke erstmal für diese super Anleitung! Ich bin echt begeistert und habe auch soweit alles aufgesetzt.
    Nun habe ich jedoch ein kleines Problem, um genau zu sein das gleiche Problem wie Olli.
    Ich habe eine 3TB Platte als externen Speicher eingebunden und kann auch darauf schreiben und Ordner erstellen, alles Top.
    Auch in der iOS App funktioniert das einwandfrei.
    Das einzige was leider noch nicht funktioniert ist die automatische Synchronisation meines iOS Fotoordners mit einem Ordner auf der externen HDD. Diese schmeisst mir immer den Fehler, dass er keine Ordner anlegen kann. Habe jetzt auch schon mehrmals
    sudo chown -R www-data:www-data /home/pi/usbdrive
    ausgeführt. Dies zeigt leider keine Wirkung. Hättest du da vielleicht noch eine Idee?

    Besten Gruß aus Paderborn!

  103. Jannik sagt:

    Hallo, danke für die gute Anleitung! Ich habe nach ihrer Anleitung alles durchgeführt und Nextcloud auf dem Raspberry Pi eingerichtet (voerst erstmal im Lokalen Netzwerk). Ich habe allerdings das Problem, dass Nextcloud nur über die lokale IP und nicht über die Adresse von spdns erreichbar ist. Liegt das an der fehlenden Portfreigabe oder kann ich das irgendwie lösen?
    Vielen Dank im Vorraus 🙂

  104. Uwe sagt:

    Hallo, vielen Dank für die umfangreiche Anleitung. Ich hätte noch einen Verbesserungsvorschlag: unter https://download.nextcloud.com/server/releases/ existiert auch ein latest.zip. Dieses würde ich sowohl für den ersten Download verwenden als auch für den Upgrade (dann auch als cronjob sinnvoll). Außerdem würde ich das Datenverzeichnis nicht unter /var/www/nextcloud/data anlegen sondern hierfür ein anderes Verzeichnis wählen. Vorteile: Sicherheitsaspekte (Trennung Daten & Webserver) und beim Upgrade wird viel Platz gespart, da das Datenverzeichnis nicht auch noch kopiert werden muss. Siehe: sudo cp -r nextcloud-old/data nextcloud/. Damit dieser Befehl funktioniert benötigt man das Doppelte des durch die Daten belegten Platzes.
    Vielen Dank & Gruß
    Uwe

  105. Andreas sagt:

    Hallo Steven,
    hier noch ein weiterer und wahrscheinlich auch der letzte Verbesserungsvorschlag:
    Zeile: Dort vor ); einfügen:
    Besser: Dort vor der letzten Zeile ( in der die Zeichenfolge ); steht) eine neue Zeile einfügen:

    Zum Memcache habe ich in der Online-Doku gelesen, dass ab PHP 5.x die Option „APCu“ die bessere Wahl ist.
    Folgende Überprüfung: auf der Shell „php -v“ eingeben und überprüfen, ob die Version >5.5 ist.
    Dann zur Sicherheit noch einmal “ sudo apt-get install php5-apcu“ ausführen, damit auch die aktuelle Version auf dem Rechner installiert ist.
    nun noch die Zeile ‚memcache.local‘ => ‚\OC\Memcache\APCu‘, einfügen – System ist dann mit aktuellem Cache ausgestattet.
    Siehe:
    https://docs.nextcloud.com/server/11/admin_manual/configuration_server/caching_configuration.html
    Mit freundlichem Gruß,
    Andreas

  106. Kilian sagt:

    Hi Steven, Hi alle anderen. 🙂
    Auch von mir nochmal ein dickes Lob an dich Steven, für das total gelungene Tutorial! 🙂

    Ich bin gerade dabei mir ein Backup anzulegen und bin dabei auf eine „offizielle Anleitung“ gestoßen:
    https://docs.nextcloud.com/server/11/admin_manual/maintenance/backup.html
    https://docs.nextcloud.com/server/11/admin_manual/maintenance/restore.html

    Das Backup der Datenbank als auch das der Daten selber bekomme ich inzwischen Problemlos hin. Auch das wiederherstellen der Datenbank sowie das überspielen der Daten mithilfe von „rsync“ funktioniert….
    Allerdings bekomme ich, sobald ich auf die Nextcloud Seite gehe immer einen „HTTP ERROR 500 — Die Seite 192.168.0… funktioniert nicht“.
    Hat da jmd schon Erfahrungen gemacht und mag sie mit mir teilen?

    Ich hoffe auf aufschlussreiche Antworten
    LG
    Kilian

  107. Andreas sagt:

    Hallo Steven,

    auch von mir ein großes Dankeschön für diese super Anleitung, aber es müßte wieder was geändert werden.
    Wenn ich dieses eingebe, bzw. kopiere, erscheint eine Fehlermeldung und es wird abgebrochen:
    sudo apt-get install apache2 php5 php5-gd php5-sqlite php5-curl php5-common php5-intl php-pear php-apcu php-xml-parser libapache2-mod-php5 curl libcurl3 libcurl3-dev sqlite mysql-server mysql-client php5-mysql phpmyadmin -y

    Es handelt sich um php-apcu, wenn ich allerdings php5-apcu eingebe, läuft alles durch.

    Zudem erscheint im Log unter spdns.de immer wieder der Hinweis: Bitte verwenden Sie als Update-Server in Ihrem Client „update.spdyn.de“ (Aktuelle Einstellung: update.spdns.de) Kann man da selber was ändern? Wenn ja, wo?
    Ich habe es jetzt mal testweise über die FritzBox laufen, mal gespannt ob es funktioniert.

    Gruß
    Andy

  108. berrynson sagt:

    Hallo und Servus zusammen,

    kann mir eventuell jemand helfen. Ich wollte mir eine eigenen Cloud nach der Anleitung hier aufziehen. Nun bekomm ich bei der Installation von php ,mysql etc.
    „sudo apt-get install apache2 php5 php5-gd php5-sqlite php5-curl php5-common php5-intl php-pear php-apcu php-xml-parser libapache2-mod-php5 curl libcurl3 libcurl3-dev sqlite mysql-server mysql-client php5-mysql phpmyadmin -y“
    folgenden Fehler ausgegeben.
    „Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Note, selecting ‚libcurl4-openssl-dev‘ instead of ‚libcurl3-dev‘
    E: Unable to locate package php-apcu“

    könnte mir eventuell jemand helfen bzw. den install Syntax anpassen da ich noch nicht so in der Linux materie stekcke.
    Danke Euch
    LG

  109. Hallo berrynson,

    ich habe den Fehler korrigiert.

    In der Befehlskette stand php-acpu statt php5-apcu.

    Gruß Steven

  110. berrynson sagt:

    Hallo Steven,
    boa, das war flott. Die Anleitung ist wirklich extrem gut! Vielen Dank dafür 🙂
    Gibt es eine möglichkeit dich zu supporten?
    Gruß Berrynson

  111. Hallo berrynson,

    vielen Dank für dein Lob.

    Du kannst mir gerne eine E-Mail an steven.seifried@canox.net senden, in welcher Form bzw. wie du mich supporten möchtest.

    Gruß Steven

  112. Luk sagt:

    Hallo Steven,
    Ersteinmal großes Lob für das gute Tutorial.
    Ich habe lange für ein Tutorial gesucht und viel ausprobiert, aber es hat nie geklappt. Zum Glück habe ich dann aber deins gefunden. Vielen Dank!
    Was mich freuen würde, wenn du PHPMyadmin so konfigurieren könntest, dass es nur vom lokalen Netzwerk erreichbar ist. Denn sollte ein Fremder einmal die Url bekommen, braucht der nicht Zugriff auf phpmyadmin. Ich kenne mich da persönlich leider zu wenig aus.
    Trotzdem nochmal großer Dank!

  113. Heyer-Maljkovic sagt:

    Hi Steven, Hi alle anderen.
    Auch von meiner Seite ein dickes Lob an dich Steven, für das total gelungene Tutorial!
    Habe Nextcloud 11 auf pi3 mit WDPiDrive am Laufen. Soweit ich das beurteilen kann läuft alles.
    Habe auch das WDPidrive nach Deiner Anleitung eingebunden.
    Leider bekomme ich die immer die Fehlermeldung ( Du hast keine Berechtigung, hier Dateien hochzuladen oder zu erstellen )
    egal ob ich es über Browser als Admin angemeldet oder über Nextcloud Client IOS versuche.
    Das WDPiDrive ist über samba vom PC erreichbar, dort lassen sich Ordner anlegen, werden dann auch auf dem Server angezeigt, nur direkt
    funktioniert es nicht.
    Kannst Du mir bitte helfen, was habe ich falsch gemacht.
    Gruß fishermann

  114. mic sagt:

    Hallo zusammen,

    nutze derzeit einen Homeserver für meine Nextcloud.
    Habe vor auf einen Pi3 umzustellen zwecks Stromkosten.

    Würde vorher gerne testen wie die Performance so ist.

    Kennt jemand einen Nextcloud Demoserver der auf einem Pi3 läuft?

    Gruß
    ~mic

  115. Harald sagt:

    Ich habe es mal nachgemessen, der „Verbrauch“ liegt bei mir um die 3W bei Zugriff, wobei ich außer dem Pi3 noch eine HDD angeschlossen habe. Die CPU Leistung liegt unter 2% im Leerlauf, bei Zugriff auf den Server steigt die CPU Leistung etwas an, was sich allerdings nicht wirklich als höheren Strombedarf auswirkt.Also alles in allem ein wirklich sparsamer Server….

    Gruß Harald

  116. Ulrich sagt:

    Habe nach der supergeilen Anleitung das Teil ans laufen bekommen. Herzlichen Dank für deine Mühe!! Alles sehr gut erklärt und nachvollziehbar. Was ich noch brauche ist eine Anleitung, wie ich die Uploaddateigröße anpassen kann. Die hab ich nirgendwo gefunden. Ich meine das geht in der .htaccess. Leider findet der Befehl sudo nano .htaccess keine solche Datei auf meinem Raspi.
    Vielleicht kannst du mir da noch weiterhelfen? Wäre super!

  117. Hallo Ulrich,

    das mit der Uploaddateigröße werde ich noch hinzufügen.

    Zu deiner Frage:

    sudo nano /var/www/nextcloud/.htaccess

    Gruß Steven

  118. Ulrich sagt:

    Hallo Steven,
    danke für die Anleitung. Hat alles super geklappt. Ich hätte da noch eine Anmerkung nämlich die Versionsänderung von PHP 5 auf PHP 7 die mir einige Vorteile gegenüber 5 zu haben scheint. Wäre es dir möglich kurz darauf einzugehen und (z.B. in der Anleitung) mitzuteilen wo was geändert werden muss um das ganze möglichst ohne Neuinstallation auf PHP7 umzustellen. Das wäre aus meiner Sicht perfekt.

  119. Hallo Ulrich,

    PHP7 ist nicht in den Paketquellen von Debian 8 enthalten.Ich selbst bevorzuge PHP7. Mit erscheinen von Debian 9 werde ich die Anleitung dementsprechend anpassen. Eventuell auch dann mit aktuellem Image, wobei sich das leider mit SSH beißen wird. Ich werde die Anleitung aber dann aber so abändern dass man die sources.list anpassen muss was zwar ein zusätzlicher Schritt dann sein wird, einem aber mehrere Schritte ersparen wird.

    Gruß Steven

  120. Frank sagt:

    Hallo Steven,
    danke für die sehr detaillierte Anleitung. Im Bereich DocumentRoot anpassen gibts noch nen Schreibfehler. Die Bearbeitungszeile müsste
    sudo nano /etc/apache2/sites-available/000-default-ssl.conf
    lauten.

  121. Ulrich sagt:

    @ Frank
    Bist du sicher? Wenn ich diese Datei bei mir aufrufe ist sie leer. Bei der Schreibweise wie von Steven angegeben kommt da was, was man ändern kann.

  122. @Frank: Die Datei 000-default-le-ssl.conf ist für Let’s Encrypt, was durch das Kürzel le ersichtlich wird/ist. Somit ist es kein Schreibfehler sondern richtig.

    Gruß Steven

  123. Frank sagt:

    @@Ulrich/Steven ja ihr habt Recht, bitte löscht einfach meinen Kommentar!

  124. Ulrich sagt:

    Hallo Steven,
    ich bin jetzt nicht so konsolenbewandert, dass ich wüsste wie der Befehl lautet um das/die favicon (ico und png) in Nextcloud in ein eigenes zu ändern, im Sinne von wenn schon Theming dann auch komplett. 🙂
    Kannst du da evtl noch weiterhelfen? Wäre super.

  125. Ulrich sagt:

    Noch einen Erfahrungshinweis bezüglich der verschiedenen Möglichkeiten, die sich bei der Installation ergeben, so zumindest bei mir, wenn verschiedene (Marken)Speicherkarten ausprobiert werden. In einem Fall gab es nach der Installation von Nextcloud eine weiße Seite, die sich in einem anderen Fall nicht eliminieren lies, außer durch Neuinstallation, in einem anderen Fall durch ein Update, wie in dem Beitrag beschrieben, eliminiert werden konnte. Keine Ahnung warum da so war, denn ich war mir sicher, dass ich nichts falsch gemacht habe.
    Ein weiteres Phänomen wies die Datenbank auf, die den sogenannten „Controluser“ nicht korrekt installiert hatte. Zahlreiche rot unterlegte Felder wiesen eindruckvoll darauf hin. Wo ich noch Bedenken habe, bezieht sich auf die Haltbarkeit der verwendeten MicroSD-Karten. Ich bin nicht davon überzeugt, dass diese für die notwendigen Schreib-Lesevorgänge ausreichend geeignet sind, die Nextcloud verursacht und bin mal gespannt wann es trotz eingesetzter externer Datenträger zu ersten Aufällen kommt und wie die sich äussern. Vielleicht hat ja einer der hier geneigten Leser/Innen entsprechende Erfahrungen auf dem Sektor? Wäre gut zu wissen.

  126. Daniel sagt:

    Also ich verwende ausschließlich die 32Gb Karten class10 von SanDisk. Läuft schon über ein Jahr ohne Probleme allerdings schaffe ich es nicht von http auf https umzustellen. Vielleicht hat da einer eine Idee dazu und hat das schon geschafft mit spdns.org. Neustarts habe ich in dieser Zeit vielleicht 3 mal gemacht. Habe mir den avclam drauf gemacht mit automatischen Updates alle 24h nachts und automatischen Scan mit eventuellen löschen bei Fund inklusive email Benachrichtigung bei Fund alle 24h früh dazu geschrieben. Bisher alles sauber und funktioniert.

  127. Ulrich sagt:

    Nach ausgiebigen Tests und Lösung aller Probleme die sich mit dem Thema beschäftigt haben, bin ich zu dem Etschluss gekommen, das Projekt doch nicht weiter zu verfolgen, obwohl alles einwandfrei gelaufen ist. Da es vielleicht von allgemeinem Interesse ist, will ich es hier begründen. Drei Hauptpunkte stören mich so, dass ich dafür keine Lösung sehe und mich deshalb auch nicht auf das Risiko, was damit verbunden ist, einlassen kann und werde.

    Fehlende Sicherungsoption (des Betriebssystems)
    Die Inhalte kann ich, wenn ich einen Client verwende, problemlos sichern, nicht jedoch das Betriebssystem, so wie es final eingerichtet ist. Evtl. geht das als Windowsuser, mit einem entsprechendem Programm wie Win32 Disk Imager nicht jedoch wenn man auschließlich Linux benutzt, zumindest ist es mir nicht möglich, den Karteninhalt zu sichern. Dafür fehlen mir die Kenntnisse. Wegen der unsicheren Option des Datenträgers „MicroSD“ und der gänzlich fehlenden Kontrolle darüber wann Daten auf diesem Datenträger inconsistent werden (dass das so ist undzwar relativ häufig, kann man häufiger im Netz nachlesen. Meistens passiert das wenn man es am wenigsten braucht), und ich größere Dateien in der Cloud habe, werden häufige Schreib- Lesezugriffe stattfinden, (auch bei Benutzung eines internen Datenträgers), die die SDKarte stressen.
    Große Dateien bereiten Probleme
    Bei mir waren es große Dateien die auf den internen Datenträger gewandert sind, aus Performancegründen habe ich bewusst eine SSD eingesetzt, auch wenn die dafür nicht optimiert benutzt werden soll, denn auch eine SSD wird durch häufige Schreib- Lesezugriffe nicht besser. Das Desaster war aber das, dass abgerufene Dateien plötzlich im Browser nicht mehr vorhanden ware, sprich sie waren da nicht mehr sichtbar. Ok, dachte ich, kein Problem, schauen wir lokal nach, da werden sie wohl noch vorhanden sein. Pustekuchen! ALLE Dateien waren nicht mehr vorhanden! Das Problem war reproduzierbar, also keine Zufallsaktion. Woran es nun gelegen hat, kann ich nicht sagen, aber das Risiko des Datenverlustes ist mir nach der Aktion zu hoch. Möglicherweise verhält sich das bei kleinen Dateien entscheident anders, das kann ich nicht sagen.
    Große Qualitätsunterschiede auch bei Markenkarten (in meinem Fall Sandisk)
    Ich habe verschiedene Größen getestet 8,16,32 GB und hatte bei allen verwendeten Karten spürbare Unterschiede sowohl in der Geschwindigkeit, als auch Unterschiede in der Installation, so wie teilweise vorstehend in meinem Beitrag beschrieben. Die Konstante war der Raspi, sein Netzteil und die Internetanbindung, die sich nicht geändert hat. Alle Installationen verhielten sich für mich spürbar anders, was die Datenübertragung betraf, oder das Verhalten in Bezug auf die Netzanbindung, d.h. Schreib-Lesegeschwindigkeit mit identischen Daten. Das ging von hervorragend (kein Unterschied zu einem Hosting) bis hin zu Bilder waren nicht in einem erträglichen Zeitrahmen abrufbar.

    Fazit: Das Projekt wie hier beschrieben und es handelt sich dabei um eine hervorragende Gebrauchsanweisung, keine Frage ist ansich bestimmt sehr interessant. Für meine speziellen Anforderungen, ich nenne sie mal so, ist der Raspi derzeit aber auf Grund seiner zwingenden Abhängigkeit für mich nicht sicher einsetzbar, solange man nicht auf andere Datenträger (USB-Sticks/Festplatten) setzen kann. Das kommt, weil schon im Betastatus, aber bis dahin lass ich es mit der Kombination Nextcloud/Raspian

  128. Flo sagt:

    Servus Ulrich
    -Das fertige System, die SD-Karte, lässt sich auf jedem Linux System mittels dd (https://wiki.ubuntuusers.de/dd/) sichern.
    In meinem Fall verwende ich das grafische Tool gnome-disk-utility welches unter Ubuntu als “Laufwerke” zu finden ist.
    -Datenverlust passiert häufig bei ungeeigneten Netzteilen.
    Abhilfe schafft hier ein stärkeres Netzteil wobei sich 2,5A bewiesen hat. Wichtig dabei ist das die Spannung niemals unter 5V fällt. Leider ist dies bei dem mitgelieferten Teil der Fall. Manchmal aber hilft auch ein hochwertigeres Kabel.
    Es empfiehlt sich die Daten auf ein externes, per USB angestecktes Medium mit eigener Stromversorgung zu speichern.
    -Die Performance ist bescheiden.
    Netzwerk- und USB Schnittstelle teilen sich beim Raspberry den selben Controller.

    • Ulrich sagt:

      Hallo Flo,
      danke für den Tipp mit dem Kopieren, werde ich mir merken. Das Netzteil ist ein “Originales Netzteil” mit dem Raspberrysymbol in 2,5A. Die angeschlossene Festplatte war zwar ohne externes Netzteil, dafür aber eine SSD, die wenig Strom zieht.
      Deine Erfahrung mit dem bescheidenen Netzwerk kann ich, wie gesagt, nur bedingt und dann auch nur in Abhängigkeit zur verwendeten microSD bestätigen. Teilweise war ich richtig begeistert von der Performance. Teilweise gar nicht. In meinem Fall lag es nicht an der von dir beschriebenen Teilung der Resourcen auf dem Raspi, sonst hätte ich keine sehr guten Geschwindigkeiten erziehlt. Aber offensichtlich macht da jeder seine Erfahrungen.
      Sobald der Raspi sicher (finaler Status) ohne microSD und die Installation von Nextcloud mit PHP 7 möglich ist, kann es gut sein, dass ich mich nochmal drangebe und eine Cloud darauf installiere. Im Moment eher nicht.

  129. Thomas sagt:

    Hallo,
    ich hab ein Problem das ich mich mit der Andriod App nicht mehr per WLan anmelden und auch keien Dateien mehr hochladen kann. Wenn ich im Mobilfunk bin geht es ohne Problme. Ich habe eine Fritzbox 7490 und die Prots sind freigegeben. Als DNS nutzt ich Myfritz. Ich habe die Cloud auch schon einmal kompellt neu aufgesetzt leider ohne Erfolg. Könnt ihr mir bitte helfen.

  130. Tobias sagt:

    Hi, also ich habe nun schon des öfteren nach dieser Anleitung meine NextCloud konfiguriert. Passt alles, super, vielen Dank dafür. Ich habe aber noch ein anderes Problem, ist hier wahrschl. falsch, aber ggf. könnt ihr mir doch helfen.
    Ich habe auf meinem iPhone die NC App installiert. Von extern ! Kann ich mich problem los mit dem Server verbinden https://xyz.com Aus meinem internen WLAN geht das leider nicht (mit dem iPhone). Mit meinem Laptop kann ich mich aber aus dem gleichen WLAN problemlos verbinden. Ich verzweifle. Wo ist der Fheler ? Hatte jemand schon mal die sleben oder ähnliche Probleme ?

  131. Harald sagt:

    @ Daniel,@ Thomas ,@ Tobias
    Neustart der Fritzbox bewirkt manchmal Wunder… Schon probiert…? Ich hatte auch Probleme das https zum „laufen“ zu bringen, durch Zufall mal die „blöde“ Fritzbox neu gestartet und ich hatte einige „Fehlfunktionen“ weniger ;o)
    Ggfs. auch mal die apps auf den Smartphones löschen und neu installieren…
    Grüße Harald

  132. Tobias sagt:

    Hallo Harald,
    danke für den Tip. Neustart der FritzBox hat leider mein Problem nicht behoben. Ich habe jetzt die Netzwerkkonfiguration am iPhone manuell eingetragen (also nicht DHCP) und siehe da das Problem war behoben. Weiss zwar nicht warum, ist aber so. Im Anschluß daran hat dann auch das iPhone meiner Frau mit DHCP !!!! Wieder funktioniert. Alles

  133. Martin Fenk sagt:

    Die Anleitung zu lokalen externen speicher einbinden hab ich benutz und soweit auch zum laufen gebracht wenn ich aber dann in den externen speicher rein gehe über nextcloud steht da das ich nicht berechtigt bin etwas in den Ordner hoch zu laden was hab ich falsch gemacht und wie lässt es sich beheben ich bin als admin angemeldet

  134. Martin Fenk sagt:

    Nachtrag zu meinem Kommentar ich hab mir die anderen Kommentare durchgelesen und bin auf den Befehl gestoßen

    sudo chown -R www-data:www-data /home/pi/usbdrive

    da schreibt er aber chown: changing ownership of ‘/home/pi/usb drive’: Operation not permitted

    also das das nicht erlaubt wäre das hat was den ich mal mit dem schreib recht zu tun oder Lieg ich da falsch

    was soll ich tun

  135. Tim sagt:

    1000 Dank für diese Anleitung !!!!!!!!!!!!!!!!!!! Bin begeistert und freue mich riesig. Ich würde mich gern mit einer kleinen Spende bedanken. Melde Dich auf die hinterlegte Mail.

  136. Stephan sagt:

    Hey Steven,
    super Anleitung. Vielen Dank dafür. Hab aber auch das Problem, welches hier schon einige genannt haben. Meine nextcloud ist im eigenen Netz nur über die interne Adresse erreichbar. Hast du noch nen Tip wie ich das gelöst bekomme? Hab ne Horizonbox.

  137. Viko sagt:

    Hallo Steven, vielen Dank erstmal für die tolle Anleitung!
    Das Einbinden der Festplatte funktioniert bei mir über den Cronjob nicht. Wenn ich nach dem reboot „lsblk“ Befehl eintippe, steht unter Mountpoint nichts. Könntest du mir weiterhelfen?
    Grüße

  138. F.Morgenstern sagt:

    Hallo! Danke sehr für die verständliche Anleitung.
    zwei Dinge sind bei meiner Installation auf Pi3 noch nicht funktional, was könnte ich übersehen haben?

    bei „sudo apt upgrade“ bekomme ich immer eine Fehlermeldung :

    Preparing to unpack …/linux-firmware_1.157.10_all.deb …
    Unpacking linux-firmware (1.157.10) over (1.157) …
    dpkg: error processing archive /var/cache/apt/archives/linux-firmware_1.157.10_all.deb (–unpack):
    trying to overwrite ‚/lib/firmware/brcm/brcmfmac43430-sdio.bin‘, which is also in package linux-firmware-raspi2 1.20161020-0ubuntu1~0.2~rpi3
    dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
    Errors were encountered while processing:
    /var/cache/apt/archives/linux-firmware_1.157.10_all.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    ubuntu@ubuntu:~$

    der Aufruf der Nextcloud -Homepage aus dem Internet bring immer nur die „Apache2 Ubuntu Default-Homepage“ zur Anzeige. Komischerweise funktioniert der Aufruf aus dem lokalen Netz .

    any ideas?

    THX

  139. Raf sagt:

    Habe das selbe Problem wie F.Morgenstern. Dazu kommt noch, dass ich nach
    sudo apt-get autoremove
    und
    sudo reboot
    nicht mehr mit SSH auf meinen Pi3 zugreifen kann. Meine Fritzbox erkennt den Pi3 weiterhin. Werde mal eine andere microsd versuchen und dann berichten

  140. Harald sagt:

    @ Raf…leider,leider funzt diese Anleitung unter ubuntu nicht mehr. Es gibt einige Schreibfehler bezüglich der Änderung von pi nach ubuntu, aber ob das System nach dieser Anleitung NEU aufgesetzt wurde, bezweifle ich. Ich hab auch die gleichen Probleme wie Raf und F.Morgenstern. Dazu kommt dass die Datei /etc/apache2/sites-available/000-default-le-ssl.conf gar nicht existiert und erst kreiert werden muß, trotz Vorgaben aus der Pi Anleitung ist diese ubuntu bei MIR nicht lauffähig… (ja und ich habe die Fritzbox auch neu gestartet…)

    Grüße Harald

  141. @all

    statt Ubuntu wird in der Anleitung nun wieder Raspbian verwendet, da ich selbst Probleme feststellen konnte.

  142. Viko sagt:

    Hallo Steven, über raspbian jessie hat vor 3 monaten die anleitung super funktioniert. Was jedoch nicht funktioniert hat ist der cronjob. Lets ecrypt hat sich per mail gemeldet, dass das Zertifikat abläuft. Ebenso hat auch nicht über cronjob das einbinden einer externen Festplatte funktioniert. Was muss unter nextcloud-> administration>cron ausgewählt werden? Grüße

  143. Richard sagt:

    Hey, erstmal danke für die tolle Anleitung. Es hat auch alles geklappt und funktioniert auch noch immer einwandfrei. Allerdings habe ich jetzt ein E-Mail bekommen in der ich darauf hingewiesen werden, dass das Zertifikat bald ausläft. Ich habe deshalb versucht die Zeile aus dem crontab manuell auszuführen und dabei als Fehlermeldung zurück bekommen, dass keine Verbindung möglich ist. Über meinen Browser habe ich aber weiterhin keine Probleme die Nextcloud über die spdns-Adresse zu erreichen. Irgendeine Idee was das Problem sein könnte?

  144. Viko sagt:

    Hallo Richard, bei mir kam das gleiche siehe oben. Ich habe es manuell aktualisiert mit folgendem Befehl. ersetze host.Spdns.De durch deine Adresse. Grüße

    sudo /etc/letsencrypt/letsencrypt-auto certonly –agree-tos –renew-by-default -a webroot –webroot-path /var/www/nextcloud/ -d host.spdns.de

  145. Simon sagt:

    Hi, mega geile Anleitung! Hat mir sehr geholfen! Hab nur ein Problem, ich kann bei der Einrichtung leider nicht MySQL auswählen, da steht folgende Meldung: “Es ist nur SQLite verfügbar. Installieren und aktivieren Sie zusätzliche PHP-Module, um andere Datenbank-Typen auswählen zu können.”. Was habe ich vergessen?

  146. Daniel sagt:

    Ich habe mir die Cloud nach dieser Anleitung schon vor ca 1,5 Jahren aufgebaut. Läuft bisher ohne Unterbrechung noch wie gewünscht ohne Probleme. Also großes Lob an Steven!!! Aber doch habe ich die Frage ob bei euch die Cloud mit spdyn.de nur über http oder mittlerweile auch über https erreichbar ist? Des weiteren würde mich noch interessieren ob und wie ich ein darauf Updates machen kann ohne mir das laufende System zu zerstören?

  147. @Daniel: Danke für dein Lob. Updates, sowohl von Nextcloud und auch Raspbian, sollten problemlos klappen. Hatte bisher keine Probleme. Das mit HTTPS scheint mittlerweile ohne Probleme zu funktionieren

    Gruß Steven

  148. Daniel sagt:

    Okay, danke für die schnelle Antwort. Jetzt würde mich noch brennend interessieren ob und wie ich dann die alte Version von http auf https umzustellen kann ohne es neu aufsetzen zu müssen.

  149. David M. sagt:

    Erst einmal ein großes Lob an dich Steven, das ist eine wirklich aufschlussreiche Anleitung! Ich habe das selbe Problem wie Simon. Ich nehme mal an es liegt an dem ersten Schritt bei der Nextcloud Installation, da dort sqlite verwendet wird -> “sudo apt-get install apache2 php5 php5-gd php5-sqlite php5-curl php5-common php5-intl php-pear php5-apcu php-xml-parser libapache2-mod-php5 curl libcurl3 libcurl3-dev sqlite -y” . Doch kann man das im Nachhinein noch ändern? Ich würde mich sehr über eine Antwort freuen. Grüße

  150. MySQL macht, meines Wissens nach, nur bei mehreren Benutzern und großen Dateien Sinn.

  151. David M. sagt:

    Ich hatte eigentlich vor mehrere Benutzer anzulegen. Grüße

  152. JimmyKater sagt:

    huhu…
    immer wieder gilt: tolle anleitung nach der auch ich meinen pi (1) am laufen habe.
    nun zeigt sich aber, dass beim upgrade nach NC 12 deine anleitung von oben nicht mehr durchläuft. weißt du von änderungen, die durchgeführt werden müssen? muss es gar php7 sein?
    generell: weißt du auch, wie ich mein php 5.x auf php7 updaten kann?
    danke und vlg
    JimmyKater

  153. Ich setze mich am WE hin und passe die Screenshots etc. für Nextcloud 12 an.

    Sobald Raspbian offiziell auf Debian 9 basiert passe ich die Anleitung von PHP 5 auf PHP 7 an. Auch werde ich zeigen wie man ein bereits installiertes​ Raspbian auf die dann aktuelle Debian Version aktualisiert.

    Es gibt PHP7 Repositorys für Debian 8, ich weiß aber nicht ob diese auch auf dem Raspberry Pi funktionieren.

    Debian 9 ist für den 17.6 angekündigt. Raspbian auf Basis von Debian 9 wird wahrscheinlich ein paar Tage danach erscheinen.

    Wie gesagt werde ich die Anleitung am WE für Nextcloud 12 anpassen und demnächst auch auf die aktuelle Raspbian Version.

  154. Harald sagt:

    @all

    Generell geht die oben aufgeführte klasse detaillierte Anleitung bis NC11. Für NC12 gibt allerdings ein kleiner bug in dem Teil :
    ” Memory Cache nutzen
    Nextcloud empfiehlt euch einen Memory Cache zu nutzen. Diesen richtet ihr wie folgt ein:

    sudo nano /var/www/nextcloud/config/config.php
    Dort vor der letzen Zeile ); die Folgende Zeile einfügen:

    ‘memcache.local’ => ‘OCMemcacheAPCu’,
    dort müßte es richtig heißen
    ‘memcache.local’ => ‘\OC\Memcache\APCu’

    Die Auswirkung war eine komplett weiße Seite der NC12 bei mir. Quelle: https://help.nextcloud.com/t/after-update-nc12-white-webpage/12905/4

    Desweiteren gibt es immer noch (auch bei mir /und anderen) eine Fehlermeldung bezüglich der php.ini.
    Scheint aber ein NC12 Bug zu sein, ich würde mit dem Upgrade besser noch ein paar Tage warten.

    @ Steven:
    Mit php 7 auf Raspbian 8 würde ich auch noch warten, denn Raspbian 9 soll php7 enthalten…

    Grüße Harald

  155. Ich schau mir das ganze am WE mal an. Auch mit Debian 9 und PHP7.

    Gruß Steven

    • Harald sagt:

      Ich mußte grad meine NC12 wieder außer Betrieb nehmen, lief nicht stabil, hatte so einiges Vergessen. Ich warte definitiv noch mit der Umstellung auf eine stable 12.0.1 Version.
      Bin froh das ich noch eine fertige NC11 SD-Karte zum Austausch habe…
      Bis die Tage

      Gruß Harald

  156. JimmyKater sagt:

    sauber! ich freu mich schon. wirklich toll und ziemlich einmalig dein service hier.
    chapeau! und herzlichen dank
    vlg
    Jimmy

  157. JimmyKater sagt:

    @harald
    sehe dein posting erst jetzt. ich bin genau bis zum white screen of death gekommen… und hab dann brav wieder downgegradet. ging problemlos.
    und ja, ich denke, ich warte ggf auch bis NC 12.0.1.
    VLG
    JImmy

  158. Florian sagt:

    Moin Moin, erst einmal vielen Dank das du uns so eine gute Anleitung zugänglich machst! props an dich! Bei mir hat auch alles super geklappt, bis ich versucht habe einen USB-Stick einzubinden, nach dem selben Verfahren wie du für eine 2,5″ Festplatte beschrieben hast. Das hat überhaupt nicht funktioniert… Nachdem ich alle Schritte in der Konsole befolgt habe und dann wieder auf die Weboberfläche von Nextcloud wechseln wollte, kommt die Meldung dass die Seite nicht funktioniert (“Domain” kann diese Anfrage momentan nicht verarbeiten. HTTP ERROR 500). Außerdem fährt sich der Raspy nicht mehr hoch sondern geht nur noch in den “safe mode”. Kann ich das irgendwie wieder Rückgängig machen? was ist das Problem? Kann man USB-Sticks überhaupt auf diese Weise einbinden? Würde mich sehr über Hilfe freuen. LG

  159. Florian sagt:

    #update:
    mein Problem hat sich geklärt, hatte bezüglich des USB-Sticks einen Schreibfehler und das Problem mit Nextcloud war ebenfalls der Memory Cache, alles gut also. LG

  160. Richard sagt:

    Mein Problem mit dem auslaufenden Zertifikat hat sich erledigt. Das Problem war, dass beim Ausführen von letsencrypt-auto die http-01 challange fehlgeschlagen ist, weil ich nur port 443 freigegeben hatte.

  161. Uwe Heyer-Maljkovic sagt:

    Hallo Viko,
    hab versucht manuell zu updaten, bekomme folgende Fehlermeldung: certbot: error: unrecognized arguments: –agree-tos –renew-by-default –webroot-path /var/www/nextcloud/
    kannst du helfen ?

  162. Viko sagt:

    Hallo Uwe, bei mir gab es keine Fehlermeldung jedoch hat es sehr lange gedauert. Tut mir leid ich weiß es nicht. Vielleicht kann dir Steven helfen.

    An Steven: Es wäre sehr nett, würdest du mir auf das Problem mit dem Cronjob antworten > siehe Oben die kommentare. Herzlichen Dank!

    • Uwe Heyer-Maljkovic sagt:

      Hallo Viko,
      danke für Deine Rückmeldung, habs hinbekommen manuel mit der Befelskette von Steven aus der Anleitung.
      Hatte wahrscheinlich irgendeinen Bock bei der Eigabe gebaut, kenne mich mit LINUX nicht aus.
      Trostdem wäre es schön, wenn es per cron job klappen würde.
      Gruß Uwe

  163. Michael sagt:

    Ich bekomme folgende Information in den Einstellungen,
    wie kann ich das umstellen und macht es überhaupt Sinn das umzustellen?

    Danke schonmal für die Antworten.

    PHP Opcache ist nicht korrekt eingerichtet. Für bessere Leistung empfehlen wir ↗ folgende Einstellungen in der php.ini:

    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

  164. Harald sagt:

    @ Michael: nach welcher Anleitung hast Du Deinen Pi aufgesetzt? Diese von Dir genannte Fehlermeldung kenne ich aus der (sagen wir mal) noch unglücklichen PHP7 Version. Schau mal ob der Rest wirklich sauber läuft ( meine Cloud hatte im 24h Dauerbetrieb unter PHP7 und NC12 schon Amnesie und vergass im Browser alles richtig dar zu stellen…)
    Gruß Harald

  165. Blue sagt:

    @Michael: ich hatte die Meldung auch, habe daraufhin mal die entsprechenden Zeilen im Abschnitt opcache in der php.ini eingetragen (sudo nano /etc/php5/apache2/php.ini). Ob es nun besser läuft, kann ich zwar nicht sagen. Die Meldung ist nun jedenfalls weg.

  166. Lutz sagt:

    Hallo,
    im Prinzip eine gute und ausführliche Anleitung. Leider funktioniert sie mit meinem raspberry nicht. http=Fehler 503; https: =“Diese Seite funktioniert nicht
    oecophylla.spdns.de kann diese Anfrage momentan nicht verarbeiten.“

    ich glaube ich werde verrückt!!!

  167. Stani sagt:

    Danke für die Anleitung! Würde mich freuen wenn du noch einen Artikel zum Thema Sicherheit machst.

    @Lutz
    Funktioniert es mit der lokalen IP? Könnte das Problem mit dem MemoryCache sein.

    • Lutz sagt:

      @stani
      Danke für die Antwort. Leider nein. Auch muss ich gestehen, ich experimentiere aktuell mit meinem Raspberry, für welchen ich noch nicht wirklich eine Verwendung habe. Geplant ist eine eigne Cloud… Hierfür habe ich, und daran kannst Du erkennen wie (un)wichtig mir das im aktuellen Level ist, zwei 128gb usbSticks als Raid 1 angeschlossen.

  168. Lothar sagt:

    Paar Anmerkungen von einem, der nun schon seit einigen Versionen (erst OwnCloud, jetzt Nextcloud, erst RP 2, jetzt RP 3) “produktiv” betreibt:
    – Erst die USB-HD einbinden (mounten) und per /etc/fstab gemountet lassen. Dann entweder bei der NC-Installation einen enprechenden Pfad als Datenverzeichnis angeben oder einen Symlink benutzen (ln -s …; das geht auch später noch, man kann so also seine Daten transparent umziehen).
    – Webserverbetrieb mit offenen Ports im Heimnetz durch Laien ist mit großer Vorsicht zu genießen. Zumindest braucht es den Port 80 nicht: certbot (letsencrypt) kennt die Option “–preferred-challenges tls-sni”. Ich habe nur Erfahrung mit Nginx (mit PHP7, übrigens) und da u.a. nur TLS1.2 an, und noch ein paar Security Header mehr, und moderne Cipher Suites, … Ein Redirect von 80 auf 443 wäre zumindest schon mal was (das HSTS zieht ja nur, wenn der Browser einmal HTTPS benutzt hat).
    – php.ini anpassen, damit der Upload von größeren Dateien klappt (post_max_size, upload_max_filesize), oder?
    UND:
    – Backup-Konzept überlegen und umsetzen, sobald es in den “Produktivbetrieb” geht!

    Nix für ungut

  169. Stani sagt:

    Ich bekomme vermehrt beim sync mit dem Client die Fehlermeldungen:
    Verbindung beendet, Operation abgebrochen

    Weiß evtl. jemand woran es liegen kann?

  170. Stiller Leser sagt:

    @Steven Seifried: Ich habe NextCloud dank Deiner Anleitung auf meinem Raspberry Pi eingerichtet und schaue schon seit einigen Monaten immer wieder auf Deinem Blog vorbei, ob sich an Deiner Anleitung etwas geändert hat. Ganz herzlichen Dank für Deine super Arbeit. Mittlerweile gibt es schon seit längerer Zeit PHP7 und hoffentlich bald sollte Raspbian basierend auf Debian 9 erscheinen, weshalb ich froh wäre, wenn Du dann mal die Anleitung aktualisieren könntest . Insbesondere wäre ich froh, wenn du auch auf allfällige Sicherheitsoptimierungen (z.B. die von Lothar) und das Problem von z.B. Thomas und Tobias (Nextcloud ist per www-Adresse nur ausserhalb vom eigenen Netzwerk erreichbar und intern nur per lokaler IP-Adresse) eingehen könntest. Vielen Dank!

  171. @Stiller Leser: Die Anleitung wird dann auf PHP 7 aktualisiert wenn Raspbian auf Basis von Debian 9 erscheint! Ich werde die Anleitung dann zeitnah aktualisieren! Hab ich schon mehrmals geschrieben!

    Ich kann das Problem nicht nachstellen und somit auch keine Lösung anbieten bzw. darauf einzugehen.

  172. Harald sagt:

    @ Stiller Leser: Steven scheint etwas angespannt zu sein… ich habe schon am 23.06. meine Cloud auf Raspbian Stretch (Debian 9) mit PHP7 erfolgreich aktualisiert und dann Steven meine Vorgehensweise in einer privaten Mail am 24.06. zugeschickt…
    … ich denke Steven wird seine Umstellung schon noch hier aufführen…

    Gruß Harald

  173. @Stiller Leser & @Harald:

    Ich erhalte in letzter Zeit täglich die Frage wann denn endlich die Anleitung auf PHP 7 wird, obwohl ich es in den sozialen Kanälen bereits mehrmals gesagt habe wann der Beitrag aktualisiert wird.

  174. Harald sagt:

    @ Steven: Ich verstehe Deine Reaktion, aber Du darfst auch gerne meine Dir zugeschickten Vorlage benutzen….

  175. Bernd sagt:

    Hallo zusammen das ist ja eine schone Anleitung.
    Leider hat sie nicht mehr die Wahl ob man MY-SQL oder die SQLite benutzen will.
    Schade deswegen.
    Nun ich habe jetzt schon 3 mal neu installiert weil ich immer gedacht habe ich hätte was Falsch gemacht. Aber der Fehler auf den ich stoße ist wohl im APP von Collabora Online verborgen bzw. Es muss noch was Allgemein eingestellt werden.
    Immer wenn ich ein Dokument auf machen will kommt dieselbe Meldung.

    Interner Serverfehler
    Der Server hat einen internen Fehler und konnte Ihre Anfrage nicht vervollständigen.
    Bitte wende dich an den Serveradministrator, falls dieser Fehler mehrfach auftritt, und füge deiner Anfrage die untenstehenden technischen Details bei.
    Weitere Details können im Serverprotokoll gefunden werden.

    Technische Details
    Entfernte Adresse: 89.0.71.227
    Anforderungskennung:
    Das Logging in der Admin Umgebung meldet:

    Error
    richdocuments
    GuzzleHttp\Exception\ClientException: Client error response [url] [status code] 404 [reason phrase] Not Found
    0. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Subscriber/HttpError.php – line 33: GuzzleHttp\Exception\RequestException create(Object(GuzzleHttp\Message\Request), Object(GuzzleHttp\Message\Response))
    1. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Event/Emitter.php – line 108: GuzzleHttp\Subscriber\HttpError->onComplete(Object(GuzzleHttp\Event\CompleteEvent), ‚complete‘)
    2. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/RequestFsm.php – line 91: GuzzleHttp\Event\Emitter->emit(‚complete‘, Object(GuzzleHttp\Event\CompleteEvent))
    3. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/RequestFsm.php – line 132: GuzzleHttp\RequestFsm->__invoke(Object(GuzzleHttp\Transaction))
    4. /var/www/nextcloud/3rdparty/react/promise/src/FulfilledPromise.php – line 25: GuzzleHttp\RequestFsm->GuzzleHttp{closure}(Array)
    5. /var/www/nextcloud/3rdparty/guzzlehttp/ringphp/src/Future/CompletedFutureValue.php – line 55: React\Promise\FulfilledPromise->then(Object(Closure), NULL, NULL)
    6. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Message/FutureResponse.php – line 43: GuzzleHttp\Ring\Future\CompletedFutureValue->then(Object(Closure), NULL, NULL)
    7. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/RequestFsm.php – line 135: GuzzleHttp\Message\FutureResponse proxy(Object(GuzzleHttp\Ring\Future\CompletedFutureArray), Object(Closure))
    8. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php – line 165: GuzzleHttp\RequestFsm->__invoke(Object(GuzzleHttp\Transaction))
    9. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php – line 125: GuzzleHttp\Client->send(Object(GuzzleHttp\Message\Request))
    10. /var/www/nextcloud/lib/private/Http/Client/Client.php – line 138: GuzzleHttp\Client->get(‚https //pi-clou…‘, Array)
    11. /var/www/nextcloud/apps/richdocuments/lib/WOPI/DiscoveryManager.php – line 84: OC\Http\Client\Client->get(‚https //pi-clou…‘)
    12. /var/www/nextcloud/apps/richdocuments/lib/WOPI/Parser.php – line 41: OCA\Richdocuments\WOPI\DiscoveryManager->get()
    13. /var/www/nextcloud/apps/richdocuments/lib/TokenManager.php – line 117: OCA\Richdocuments\WOPI\Parser->getUrlSrc(‚application/vnd…‘)
    14. /var/www/nextcloud/apps/richdocuments/lib/Controller/DocumentController.php – line 108: OCA\Richdocuments\TokenManager->getToken(*** sensitive parameters replaced ***)
    15. [internal function] OCA\Richdocuments\Controller\DocumentController->index(‚126‘)
    16. /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php – line 160: call_user_func_array(Array, Array)
    17. /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php – line 90: OC\AppFramework\Http\Dispatcher->executeController(Object(OCA\Richdocuments\Controller\DocumentController), ‚index‘)
    18. /var/www/nextcloud/lib/private/AppFramework/App.php – line 114: OC\AppFramework\Http\Dispatcher->dispatch(Object(OCA\Richdocuments\Controller\DocumentController), ‚index‘)
    19. /var/www/nextcloud/lib/private/AppFramework/Routing/RouteActionHandler.php – line 47: OC\AppFramework\App main(‚DocumentControl…‘, ‚index‘, Object(OC\AppFramework\DependencyInjection\DIContainer), Array)
    20. [internal function] OC\AppFramework\Routing\RouteActionHandler->__invoke(Array)
    21. /var/www/nextcloud/lib/private/Route/Router.php – line 299: call_user_func(Object(OC\AppFramework\Routing\RouteActionHandler), Array)
    22. /var/www/nextcloud/lib/base.php – line 1000: OC\Route\Router->match(‚/apps/richdocum…‘)
    23. /var/www/nextcloud/index.php – line 40: OC handleRequest()
    24. {main}

    Kann mir einer sagen was ich machen muss damit ich mit Collabora Online arbeiten kann.

    Danke im voraus Bernd.

  176. Harald sagt:

    @Bernd: die Frage gehört eigentlich ins Nextcloud Forum weil sie sich auf eine 3rdparty Applikation bezieht.
    Zudem war die Fehlermeldung mit copy and paste zu benutzen nicht so hipp, da du jede Menge “unnützen” Text verbrauchst und gleichzeitig noch Deine Domain des PI´s mitgesendet hast….
    Gruß Harald

  177. Bernd sagt:

    Hallo Harald,
    ich hätte gerne meine Text im nachhinenn noch mal beareitet um meine bug zu beheben vieleicht kann ein admin so freundlich sein und etwas radieren.
    Gruß Bernd

  178. Paul Friedhelm Günther sagt:

    Hy,
    wollte mich endlich mal an die Einrichtung des RP2 als NC Server machen. Leider bin ich in so viele Fehler gelaufen, dass ich jetzt schon wieder Abstand davon nehmen möchte. Hier die Fehler, die ich im Laufe der Durchführung der Anleitung begegnet bin:

    Kapitel „Let’s Encrypt herunterladen und Zertifikat erstellen“
    Nach der Eingabe von „sudo ./letsencrypt-auto“ erhalte ich einen connection timeout.

    Kapitel „Let’s Encrypt Zertifikat automatisch erneuern“
    Nach der Eingabe von „sudo /etc/letsencrypt/letsencrypt-auto certonly –agree-tos –renew-by-default -a webroot –webroot-path /var/www/nextcloud/ -d mein_rp_hostname“ erhalte ich die Fehlermeldung „.Failed authorization procedure. mein_rp_hostname (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Timeout“

    Nach weiteren Versuchen kam dann die Fehlermeldung:
    Obtaining a new certificate
    An unexpected error occurred:
    There were too many requests of a given type :: Error creating new authz :: Too many invalid authorizations recently.
    Please see the logfiles in /var/log/letsencrypt for more details.

    Damit hatte sich das mit Letscrypt wohl erledigt…. Jetzt mus sich anscheinend eine Woche warten bis ich wieder neu probieren kann.

    Kapitel „DocumentRoot Anpassen“
    Es ist die reden von der Datei „/etc/apache2/sites-available/000-default-le-ssl.conf“ diese existiert bei mir aber nicht, sondern nur die Datei „default-ssl.conf“. Ich habe den Eintrag dann in dieser geändert. Außerdem ist die Beschreibung in diesem Kapitel verwirrend. Es steht dort geschrieben „Am Ende der Datei hinzufügen:“ – Also der Singular. Aber es wird nicht gesagt bei welchen von den BEIDEN Dateien der Eintrag hinzugefügt werden soll.

    Kapitel „Nextcloud einrichten:“
    Wie BERND schon erwähnte, es gibt keine Auswahl für MySQL

    Schade eigentlich, ich verfolge den Blog jetzt schon fast ein Jahr und freue mich immer wieder über Einträge un Aktualisierungen. Jetzt dachte ich könnte ich selber mal durchstarten. Bin etwas traurig, dass es dann doch nicht geklappt hat. Aber wie LOTHAR schon erwähnt hat ist ein Betrieb einer Cloud mit offenen Ports von Laien wohl keine gute Idee.

    Ich hoffe die Anleitung wird angepasst, so das aktuelle Änderungen eingebaut werden.

    Beste Grüße

  179. Bezüglich Let’s Encrypt: Es scheint entweder ein Problem mit der Internetverbindung zu geben oder die Server von Let’s Encrypt waren zu diesem Zeitpunkt nicht oder nur schlecht erreichbar.

    Die Datei /etc/apache2/sites-available/000-default-le-ssl.conf kann bei dir ja nicht existieren wenn es mit Let’s Encrypt nicht geklappt hat.

    „Aber es wird nicht gesagt bei welchen von den BEIDEN Dateien der Eintrag hinzugefügt werden soll.“ < Doch wird es. Bei beiden Dateien. „Ändert bei den beiden Dateien /etc/apache2/sites-available/000-default.conf und /etc/apache2/sites-available/000-default-le-ssl.conf“

    „Aber wie LOTHAR schon erwähnt hat ist ein Betrieb einer Cloud mit offenen Ports von Laien wohl keine gute Idee.“ Falls du damit den Port 80 meinst: Dieser wird benötigt um von HTTP (Port 80) auf HTTPS (Port 443) umzuleiten. Hierzu muss auch Option 2 „Secure“ bei der Abfrage von Let’s Encrypt gewählt werden. Füge ich hinzu! Falls du mit offenen Ports den SSH Port 22 meint:

    1.) Der SSH Port 22 wird nicht über die FRITZ!Box freigegeben
    2.) Direkt am Anfang wird das Passwort geändert. Heißt: Mit geändertem Passwort könnte der Raspberry Pi nicht über SSH von Angreifern übernommen werden. Selbst wenn der Port 22 freigegeben wäre.
    3.) Wenn man unbedingt meinen muss den SSH Port freizugeben sollte man diesen a) ändern z.B. Port 5421 statt den Port 22 und b) den Zugang mit fail2ban absichern. Gibt hierzu genügend Anleitungen im Internet!

    Das mit MySQL füge ich wieder hinzu.

    Dass es bei dir (noch) nicht geklappt hat muss nicht zwangsläufig meine Schuld sein.

    „Ich hoffe die Anleitung wird angepasst, so das aktuelle Änderungen eingebaut werden.“ <- Ich versuche die Anleitung schnellstmöglich anzupassen. Es gibt im Internet reihenweise Blogs die ältere Beiträge/Anleitungen überhaupt nicht aktuell halten bzw. für aktuellere Raspbian Versionen (oder andere Linux Distributionen) anpassen. Diese Beiträge stehen bei Google dann relativ weit oben, funktionieren aber so nicht mehr unter aktuellen Versionen.

    Außerdem bin ich absolut nicht dazu verpflichtet, diesen und auch andere Beiträge aktuell zu halten. ich mach das ganze freiwillig und ich habe besonders in diesen Beitrag schon sehr sehr viele Stunden meiner Freizeit gesteckt. Sowas wird scheinbar heutzutage nicht mehr wertgeschätzt und für selbstverständlich gehalten.

  180. Svenja sagt:

    Erstmal ein ganz großes Lob und Dankeschön an Steven! Die Anleitung ist wirklich sehr ausführlich. Auch dafür dass du den Beitrag aktuell hälst.

    Ich finde es von einigen hier etwas dreist zu sagen Steven solle endlich auf Kommentar XY antworten. Es hat wahrscheinlich seine Gründe warum Steven nicht auf Kommentare geantwortet hat. Den Kommentar von Paul finde ich nicht sehr nett, vorallem wenn man bedenkt wie viel Arbeit hinter diesem Beitrag steckt und ich kann die Reaktion/Antwort von Steven absolut verstehen.

    Steven ist nicht verpflichtet Beiträge, auch ältere Beiträge, aktuell zu halten. Hierfür nochmal ein Lob an Steven für sein Engagement. Wie Steven schon sagt gibt es haufenweise (Raspberry Pi) Blogger, die ihre (alten) Beiträge nicht aktualisieren.

    Traurig dass manche heutzutage alles für selbstverständlich halten. Ich würde es auch fair finden wenn hier einige als Anerkennung für die Arbeit die Steven für diesen Beitrag hier erbringt, eine kleine Spende geben würden, weil die ständige Aktualisierung und auch zu versuchen den Beitrag möglichst schnell anzupassen, damit er eben aktuell bleibt, ist nicht selbstverständlich und dass Steven in diesem Beitrag immer noch einiges an Arbeit steckt, kann bzw. sollte man ihm hoch anrechnen.

    @Steven: Darf ich fragen wie viele Stunden du schon in diesen Beitrag investiert hast?

  181. Jörn sagt:

    Hi Steven,
    vielen Dank für die tolle Erklärung.. hat auch alles super funktioniert – bis auf einen kleinen Punkt und da hab ich auch in der Google Recherche nix gefunden…
    Bei NextCloud kann man sich Emails zuschicken lassen, wenn bestimmte Dinge passieren. Das habe ich eingerichtet und als Email-Versender PHP ausgewählt. Der Test sagt dann einfach nur banal „geht nicht“…
    Irgendein Tipp dazu ? Muss man beim Raspi noch etwas nach installieren, damit das funktioniert.. ?

  182. JimmyKater sagt:

    @jörn
    lass dir die emails über smtp statt php schicken (und setz da deine emaildaten ein)

    @all
    leute, lasst steven doch bitte sein ding machen. in seiner geschwindigkeit. er machts soweit sehr gut. verständlich und deutschsprachig. ich find das sehr geil! dankesehr @steven

    tipp 1: wenn ihr unerklärliche fehlermeldungen bekommt, dann wendet euch doch an help.nextcloud.com – da gibts auch ein deutsches forum.
    tipp 2: wenn ihr euch überfordert fühlt mit dem thema do-it-yourself, dann sucht mal nach „snap“ und „nextcloud“ für rpi (funktioniert für rpi2 und 3). die sind i.d.r. noch einfacher einzurichten – allerdings muss man dann drauf warten, dass der maintainer einiges updated (zb neue nc-versionen). das geschieht dann allerdings für euch automatisch, heißt: ohne dass ihr euch selbst drum kümmern müsst.
    tipp 3: scheut ihr euch nicht vor ein bisschen englisch? und wollte kein snappy-NC aber dennoch eine einfache einrichtung? dann sucht nach nextcloudpi, ist offizieller teil des nextcloud-versums.

  183. @JimmyKater Nextcloud Pi schau ich mir bei Gelegenheit mal genauer an. Für die NC Snap Pakete ist meines Wissens nach NC für die Updates zuständig. Kann mich diesbezüglich aber auch irren.

  184. JimmyKater sagt:

    @steven seifried
    ich glaube, nachoparker (nextcloudpi maintainer) würde sich qualifizierte unterstützer freuen 😉
    zweifellos legt NC den grundstein für die updates der snappy-versionen. bisher sollten die allerdings von wdlabs weiter auf den raspi 2 und 3 angepasst werden. aber da sind wohl dinge im fluss derzeit. wenn man das entsprechende snap von NC runterlädt, kann man davon ausgehen, dass NC für die updates innerhalb der entsprechenden snaps sorgt.

  185. Jörn sagt:

    Der Tipp mit SMTP war super. Klappt perfekt. Danke an @JimmyKater.
    Der Versucht, vom Mac per WebDAV auf die Nextcloud zu zugreifen, wird mit einem 405 quittiert… Irgendeine Idee, was das Problem sein könnte ? Der Connect mit dem iPad über die App funktioniert einwandfrei…

  186. Anonym sagt:

    Raspbian Stretch ist erschienen. Also aktualisier endlich die Anleitung! Hast ja schon lang genug hierfür benötigt

    https://www.raspberrypi.org/downloads/raspbian/

  187. @Anonym: ich habe mitbekommen dass Raspbian Stretch erschienen ist. Ich habe auch auf Twitter und Facebook bereits gepostet dass ich den Beitrag entweder heute oder morgen auf Debian 9 anpassen werde.

    Du kannst eigentlich froh sein dass ich diesen Beitrag überhaupt noch aktuell halte, im Gegensatz zu anderen Bloggern die ihre Beiträge nicht aktuell halten. Die Diskussion hatten wir hier aber schon.

    Gruß Steven

  188. @Paul ich geb mein bestes. Ich füge noch einen Hinweis in den Beitrag mit ein, sobald ich daheim bin aktualisiere ich den Beitrag.

    Eventuell füge ich auch noch einen „Block“ hinzu, wie man von Debian 8 auf 9 aktualisiert und den Hinweis das man vorher ein Backup seiner Daten machen sollte.

    Gruß Steven

  189. Ich habe nun den Hinweis hinzugefügt bis wann der Beitrag aktualisiert sein sollte

  190. Stiller Leser sagt:

    @Steven: Vielen Dank für die Aktualisierung Deiner Anleitung – top Arbeit! Ich habe mein Server nach Deiner Anleitung komplett neu aufgesetzt und es hat alles funktioniert. Ich habe drei Sachen:
    @Steven: 1. Anstatt ‘memcache.local’ => ‘OCMemcacheAPCu’, sollte es ‘memcache.local’ => ‘\OC\Memcache\APCu’ in Deiner Anleitung heissen, denn sonst bleibt die Nextcloud-Seite einfach weiss.
    @Steven: 2. Warum siehst Du die Installation von SQLite anstatt MySQL vor? Ich habe auf diversen Seiten gesehen, dass von SQLite abgeraten wird (eigne sich nur für Testen und nicht gut für mehre Nextcloud-Accounts etc.) und MySQL (oder allenfalls MariaDB) empfohlen wird.
    @all: 3. Im Admin-Panel erscheint bei mir:
    Der PHP-OPcache ist nicht richtig konfiguriert. Für eine bessere Leistung empfiehlt es sich folgende Einstellungen in der php.ini vorzunehmen:
    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
    Ich habe mit php -r “echo php_ini_loaded_file();” geprüft, welches php.ini-File geladen ist und diese Einstellungen vorgenommen. Dennoch zeigt es mir diese Fehlermeldung nach wie vor an. Hat jemand eine Idee?

  191. Hallo Stiller Leser,

    PHP-OPcache habe ich hinzugefügt und die Zeile bei Memcache korrigiert.

    Bezüglich MySQL:

    ich bevorzuge SQLite nicht, nur habe ich mit MariaDB/MySQL das Problem dass ich dieses nicht einrichten konnte/kann, da ich von Debian 8 auf Debian 9 vor Release von Raspbian Stretch aktualisiert habe und es scheinbar einen Bug gibt/gab. Da nun Raspbian Stretch draußen ist, bin ich gerade dabei das ganze mit MySQL nochmals zu versuchen. Wenn das ganze mit MariaDB/MySQL klappt, ersetze ich SQLite durch MySQL.

    Diesbezüglich bitte ich um Geduld.

  192. In der Anleitung wird nun MariaDB statt SQLite verwendet

  193. Locke sagt:

    Hallo, super Anleitung. Nach dieser Anleitung

    kann man auch die totop und u2f Absicherung nutzen und die Nexcloud App. Sollten man eventuell hier einbinden.

  194. Marco sagt:

    Hallo Steven.

    zunächst einmal vielen Dank für deine ausführliche Anleitung!

    Ich habe ein frisch installiertes raspbian aufgesetzt und nach deiner Anleitung nextcloud installiert.

    Schon die Ersteinrichtung (Nextcloud-Startseite, auf der man die Datenbank angibt) hat extrem lange gedauert (ca. 15 Minuten). Alle weitern Zugriffe dauern ebenfalls ewig! Wenn ich einen Dauer-Ping auf die IP-Adresse liegt die durchschnittliche Antwortzeit bei 5ms.

    Hast du einen Tipp für mich, woran das liegen kann?

    Gruß, Marco

  195. Pickass sagt:

    Hallo, ich habe nach dieser Anleitung versucht meine USB Festplatte einzubinden.
    Leider bekomme ich keinen Zugriff:
    cd /home/pi/usbdrive/
    -bash: cd: /home/pi/usbdrive/: Permission denied

    Mount:
    /dev/sda1 on /home/pi/usbdrive type ext4 (rw,noatime,data=ordered)
    tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=94956k,mode=700,uid=1000,gid=1000)

    drwxrwx— 11 www-data www-data 4096 Aug 24 19:21 usbdrive

    Was habe ich hier Falsch gemacht ?

  196. Daniel sagt:

    Hallo Steven,
    ich finde es wirklich beindruckend, dass sich Leute wie Du die Mühe mache und Anleitungen, Tutorials usw. zu veröffentlichen damit andere davon profitieren. Dafür ein herzliches Dankeschön.

    An einer Stelle bin ich leider auf Unverständnis gestoßen.
    Bei der Installation von Nextcloud werden folgende Befehle eingegeben
    ….
    sudo rm -R html
    sudo mv nextcloud html

    d.h. das Verzeichnis /var/www/html wird gelöscht und das beim entpacken erstellte Verzeichnis Nextcloud wird in html umbenannt. Richtig?

    Beim Erstellen der Zertifikate wird „…/var/www/nextcloud/…“ angegeben sowie bei „Nexcloud einrichten“ als Datenverzeichnis „/var/www/nextcloud/data“ angegeben.
    Ist das tatsächlich richtig?
    Müsste nicht Nextcloud in den Ordner nextcloud bleiben? Oder die anderen Einstellungen dann auf „…/var/www/html/…“ weisen?

    Gruß Daniel

  197. netsnik sagt:

    Herzlichen Dank, Steven, für diese Anleitung, mit der ich meine eigene Cloud einrichten konnte. Da ich einige Tage u. a. mit einer Internet-Recherche zu diesem Thema verbracht habe, verschiedene Vorschläge und Kombinationen von Vorschlägen unterschiedlicher Seiten ausprobiert habe, weiß ich, dass ich ohne deine akribische Arbeit nicht oder nur mit deutlich mehr Aufwand zum Ziel gekommen wäre.

  198. Sanja sagt:

    Hi Steven,
    klasse Tutorial! Vielen Dank, dass du dir die viele Arbeit macht deinen Blogs stets aktuell zu halten!!

    Ich habe in dem Tutorial den Passus mit der DynDNS und lets encrypt weg gelassen, da ich bereits eine NAS im Heimnetz habe und den Pi am Ende für Nextcloud von der bestehenden DynDNS adresse umleiten möchte.
    Nun komme ich dennoch nicht auf dem Pi auf die Nextcloud : https:///nextcloud kann nicht geladen werden. Die Portweiterleitungen in der FritzBox sind aktiv. Von daher weis ich nicht, wo der Fehler sein könnte ?!

    Hast du netterweise eine Idee ?

  199. Sanja sagt:

    sorry, die konvertierung hier hat den Post zerschossen… „https:///nextcloud“
    Leider kann die Seite nicht geladen werden und die NExtcloud Seite öffnet sich nicht

  200. Sanja sagt:

    denk dir einfach eine IP Adresse zwischen den Backslashes 🙂

  201. Benutzt Linux hat aber ein iPhone :) sagt:

    Hallo Steven,

    ich weiß ich wiederhole das was dir bereits mehrere Leute hier gesagt haben, aber dennoch: Danke dass du dir die Mühe machst diesen Beitrag auch ein Jahr nach Veröffentlichung des Beitrag diesen immer noch zu aktualisieren. Respekt! Mich würde interssieren wie viele Stunden bzw. Tage dafür bereits drauf gegangen sind.

    Ich schick dir heute noch eine Spende per PayPal (was andere wahrscheinlich überhaupt nicht machen bzw. nicht mal im entferntesten darüber nachdenken dies zu tun um die Arbeit die du ,wie man bereits merkt, bereits in diesen Beitrag gesteckt hast zu würdigen). Hast du eigentlich Patreon? Gedenkst du dort einen Account anzulegen?

    LG

  202. Go Steven! sagt:

    Hallo Steven,

    vielen Dank für deine Mühen. Würde es nicht viel leichter gehen, wenn diese Anleitung auf Ubuntu Core basieren würde? Angesichts der Tatsache, dass Canonical mit Nextcloud zusammenarbeitet, würde sich der Artikel einem breiterem Publikum erschließen.
    Hast du einen Tipp wie man eine externe Festplatte unter Ubuntu Core mit Nextcloud einbinden kann?

  203. Claudio sagt:

    Hallo Steven,

    Ich habe ein Problem bei folgendem Schritt:
    „…sudo ./letsencrypt-auto“
    (Man ist dabei Let’s Encrypt herunterzuladen und ein Zertifikat herzustellen.)

    Bei meinem Raspberry Pi bekomme ich dann nach einer Weile die Fehlermeldung:

    HTTPError: 404 Client Error: Not Found for url:

    Ich habe ein wenig recherchiert, und ich habe herausgefunden, dass es sich um einen Bug handelt. Jedoch wurde gesagt, dass dieser bereits behoben wurde. Trotzdem bekomme ich die Fehlermeldung immer noch.

    Das Python skript müsste angeblich an „…/zope.component/“ weitergeleitet werden, doch sie wird an „…/zope-component/“ weitergeleitet.

    Könntest Du mir echt weiterhelfen?

    Danke bereits im voraus,
    Claudio

  204. @Go Steven!: Die Anleitung basierte eine kurzzeitig auf Ubuntu, lief aber nicht problemlos. Klar man könnte auch Ubuntu Core und das Nextcloud Snap verwenden, aber für das Nextcloud Snap erscheinen meines Wissens nach Updates erst viel später.

    Ob der Beitrag mit Basis auf Ubuntu Core eine größere Verbreitung hätte bezweifle ich eher

    @Claudio: Eventuell hilft folgendes:

    cd /etc/letsencrypt && sudo git pull

    oder der auf GitHub beschriebene Workaround: https://github.com/certbot/certbot/issues/5138#issuecomment-333391771

    Ich hoffe ich konnte helfen.

    Gruß Steven

  205. Claudio sagt:

    Hallo Steven, vielen Dank, dass Workaround hat gut funtkioniert. Ich bin nun beim letzten Schritt angekommen, wo man die Externe Festplatte einbindet.
    Ich habe folgende Anweisungen befolgt, und es schien zu klappen. Auf mein NextCloud Datenverzeichniss war meine externe Festplatte zu sehen. Jedoch als ich angefangen habe Daten hochzuladen, bemerkte ich, dass ich nur 2 GB zur Verfügung hatte (wahrscheinlich die von NextCloud zur Vewrfügung gestellten, oder SD-Karten Speicher). Ich ging deine Schritte nochmalls durch und bei :
    sudo chown -R www-data:www-data /home/pi/usbdrive
    wo man die Rechte an der Festplatte übergibt, bekomme ich auf Putty ständig die Meldungen, wie zB: „chown: changing ownership of ‚/home/pi/usbdrive‘: Read-only file system“. Meines Wissen, müsste es nicht „read-only sein…
    Oder liegt das Problem woanders?
    Freundliche Grüsse
    Claudio

  206. Sebastian sagt:

    Hallo!
    Klasse Anleitung, allerdings habe ich ebenfalls ein Problem: Ich möchte auf die Nextcloud-GUI zugreifen, allerdings lädt sich der Browser um Kopf und Kragen, und es passiert nichts.
    Ich habe den titel „Nextcloud“ bereits am Browser-Tab, die Seite baut allerdings nicht auf.
    Ich habe mich genauestens an die Anleitung gehalten, bei Lets Encrypt habe ich zwangsweise Umleitung zu HTTPS ausgewählt. Kann es daran liegen? Ports sind weitergeleitet und offen, Domain+Update funktioniert.

  207. Sebastian sagt:

    Korrektur, entschuldigung für den doppelten Post: Die Seite hat sich gleich nachdem ich den Post abgeschickt habe aufgebaut, allerdings dauert der Seitenaufbau unglaublich lange – gefühlt langsamer als 56k. Der Raspberry hat allerdings auch eine gute Stromversorgung dran und hängt an Ethernet.

  208. Bert sagt:

    Hallo Steven,
    vielen Dank für die tolle Anleitung. Leider habe ich ein Problem mit den crontab, so das ich derzeit mein Cloud nicht erreichen kann.
    Wenn ich sudo crontab -e eingebe, bekomme ich folgende Fehlermeldung:
    no crontab for root – using an empty one
    888
    Ich weiß echt nicht was ich machen kann, vielleicht kannst du mir helfen.
    Bis heute lief alles einwandfrei.

  209. Pickass sagt:

    Hi,
    Bei dem Versuch mein Zertifikat zu updaten wie in diesem Blog beschrieben erhalte ich diese Meldung

    sudo ./certbot-auto –force-renewal

    Creating virtual environment…
    Traceback (most recent call last):
    File „/usr/lib/python3/dist-packages/virtualenv.py“, line 2375, in
    main()
    File „/usr/lib/python3/dist-packages/virtualenv.py“, line 724, in main
    symlink=options.symlink)
    File „/usr/lib/python3/dist-packages/virtualenv.py“, line 992, in create_environment
    download=download,
    File „/usr/lib/python3/dist-packages/virtualenv.py“, line 922, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
    File „/usr/lib/python3/dist-packages/virtualenv.py“, line 817, in call_subprocess
    % (cmd_desc, proc.returncode))
    OSError: Command /opt/eff.org/certbot/venv/bin/python2.7 – setuptools pkg_resources pip wheel failed with error code 1

    uname -a
    Linux raspberrypi 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 armv7l GNU/Linux

    Kann mir hier einer weiterhelfen ?
    Gruß Lockslay

  210. fabian sagt:

    Hallo, es funktioniert alles reibungslos bis auf den Punkt

    Testen, ob alles funktioniert:

    ./updater/spdynu

    Statt einer Ausgabe bekomme ich folgende Fehlermeldung:

    „./updater/spdynu: 1: ./updater/spdynu: Syntax error: end of file unexpected“

  211. Hallo Fabian,

    sorry, mein Fehler. Ist gefixt. Einfach den Client nochmal herunterladen und installieren. (https://canox.net/2016/06/die-eigene-cloud-mit-dem-raspberry-pi-und-nextcloud/#spdyn-client)

  212. Reinhard Stroh sagt:

    Danke für die ausgezeichnete Anleitung!

  213. Ben sagt:

    Hallo, super Anleitung!!!
    bei mir werden aber leider keine Apps im Store angezeigt. Es kommt die Meldung, dass keine Apps gefunden wurden. Lediglich die aktivierten Apps werden angezeigt. Gibt es einen Befehl, welcher die URL des Stores erreicht?

  214. Mike sagt:

    Hallo! Danke für die Anleitung! Geht der SPDNS Updater nicht mehr?

  215. @Mike Wie ist dein Kommentar genau gemeint?

  216. Paul sagt:

    Moin Steven,
    danke, dass du weiterhin den Blog aktuell pflegst. Ich habe es mal wieder probiert und bleibe be Lets-encrypt hängen bevor ich die automatische Aktualisierung einrichten kann.

    sudo ./letsencrypt-auto
    Saving debug log to /var/log/letsencrypt/letsencrypt.log
    Plugins selected: Authenticator apache, Installer apache
    No names were found in your configuration files. Please enter in your domain
    name(s) (comma and/or space separated) (Enter ‚c‘ to cancel): „mein Host“
    Obtaining a new certificate
    Performing the following challenges:
    tls-sni-01 challenge for „mein Host“
    Waiting for verification…
    Cleaning up challenges
    Failed authorization procedure. „mein Host“ (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Connection refused

    IMPORTANT NOTES:
    – The following errors were reported by the server:

    Domain: „mein Host“
    Type: connection
    Detail: Connection refused

    Ich denke das der blöde Hitron CVE-30360 Router von Vodafone die Portweiterlietung einfach nicht macht. In den Optionen des Routern wird von einer IPv6 Weiterleitung gesprochen. Sollte ich dann bei SPDAYN auch eine IPv6 Weiterleitung einrichten?

    Danke für Eure Hilfe

  217. Paul sagt:

    Nachtrag:
    Habe einen IPv6 Host bei SPDNS eingerichtet. Dort bekomme ich im Gengesatz zum Grünen Haken bei dem IPv4 Host (jetzt natürlich dekativiert) ein gelbes Ausrufezeichen mit dem Hinweis: „Host deaktiviert, wird durch automatisches Update aktiv“. Leider weiss ich nur nicht wie ich das automatische Update aktivieren soll?

    Danke

  218. Paul sagt:

    Nachtrag 2:
    So sieht dann die Fehlermeldung bei der IPv6 Adresse aus, nach der Eingabe von „sudo ./letsencrypt-auto“

    Failed authorization procedure. mein Host (tls-sni-01): urn:acme:error:malformed :: The request message was malformed :: Unable to contact „pfgrpinxtcld.spdns.org“ at „2a02:8108:1c0:6d20:2d39:56f6:c351:aa7f“, no IPv4 addresses to try as fallback

    IMPORTANT NOTES:
    – The following errors were reported by the server:

    Domain: „mein Host“
    Type: malformed
    Detail: Unable to contact „mein Host“ at
    „2a02:8108:1c0:6d20:2d39:56f6:c351:aa7f“, no IPv4 addresses to try
    as fallback

    To fix these errors, please make sure that you did not provide any
    invalid information to the client, and try running Certbot again.

  219. Paul sagt:

    Nachtrag 3:
    Alternativ: Kann ich nicht einfach auf den externen Zugang verzichten? Meine Cloud updated sich dann auf meinen Devices (iOS) sobald ich im Heimnetz bin und dann auf die Daten zugreife? Quasi als NAS? Schön wäre der externe Zugriff natürlich schon… Ich finde nur einfach nicht heraus woran es liegt.

    @Steven: Entschuldige das es mehrere Kommentare geworden sind.

    Danke

  220. Hallo Paul,

    Let’s Encrypt verlangt eine IPv4 Adresse, deswegen wird in der Anleitung auch ein IPv4-Host angelegt. Du hast hingegen der Anleitung allerdings einen IPv6-Host angelegt, weswegen es nicht funktioniert. Let’s Encrypt benötigt, wie bereits gesagt, aber eine IPv4 Adresse. Dies ist auch an der Fehlermeldung zu erkennen. „no IPv4 addresses to try as fallback“.

    Wenn du den externen Zugriff möchtest musst du einen IPv4 Host anlegen, wie in der Anleitung gezeigt.

    Gruß Steven

  221. Paul sagt:

    Hallo Steven,
    Danke für deine Antwort. Zuerst hatte ich einen IPv4 Host angelegt und bekam dann diese Meldung:

    IMPORTANT NOTES:
    – The following errors were reported by the server:

    Domain: „mein Host“
    Type: connection
    Detail: Connection refused

    Mein Router bekommt von Vodafone nur eine IPv6 Adresse zugewiesen. Im Router selber lässt sich auch nur eine „IPv6 Portweiterleitung“ aktivieren. Daher habe ich es auch mit einem IPv6 Host bei SpynDNS ausprobiert. Weitere Ideen?

    Danke und guten Rutsch! =)

  222. Hallo Paul,

    dass dein Router von Vodafone nur eine IPv6 Adresse zugewiesen bekommt ist in diesem Fall doof. Eventuell kannst du dich beim Kundenservice von Vodafone erkundigen wieso du nur eine IPv6 Adresse bekommst und ob es möglich ist zusätzlich noch eine IPv4 Adresse zu erhalten.

    Gruß Steven

  223. Krischan sagt:

    Hallo,
    gestern habe ich mir auf meinem Raspi netcloud entsprechend dem Tutorial eingerichtet. Soweit hat auch alles geklappt. Gestern konnte ich auch darauf zugreifen. Heute allerdings klappt dies nicht mehr. Schaue ich mirn bei spdyn den Host an, so steht dort unter „Hosts anzeigen“ Aktiv: „Nein, wird durch automatisches Update aktiv“ .Kann dies die Ursache sein.
    Versuche direkt auf die lokale IP des Raspi zuzugreifen bekomme ich die Meldung im Browser „IP-Adresse“ als vertrauenswürdige Domain hinzufügen. Müsste ich hierfür auch ein neues Zertifikat erstellen oder wie gehe ich hier vor?
    Vielen Dank
    Krischan

  224. Hallo,

    hast du einen Crontab mit sudo crontab -e erstellt und */10 * * * * /home/pi/updater/spdynu darin eingetragen? Hast du mal ./updater/sdynu ausgeführt um zu sehen ob es das Problem behebt?

  225. krischan sagt:

    Hallo,
    ja den Crontab habe ich erstellt. Das Update habe ich soeben ausgeführt. Leider führte das nicht zum Ziel. Ich habe mir auch anschließend mit cat /tmp/spdynuIP.cnf die IP angesehen. Diese stimmt nicht mit der überein, welche mir bei spdyn angezeigt wird. Ich bin mir nicht zu 100% sicher, aber es könnte die von gestern sein.

    Gruß
    Krischan

  226. Das ist seltsam. Hast du mal nachgesehen ob die Konfigurationsdatei /etc/spdyu.conf in Ordnung ist?

  227. krischan sagt:

    Hallo,
    nachfolgend meine config.
    # path of log file. File must be writeable.
    # logfile = /home/pi/spdynu.log

    # the name of the file, where the current IP is stored. File must be writeable.
    # ipFile = /tmp/spdynuIP.cnf

    [HOST]
    # URL for the Host to be updated, e.g. update.spdyn.de (SPDYN).
    updateHost = update.spdyn.de
    host = meinhost.spdns.de
    user = meinnutzername
    pwd = meinpasswort
    isToken = 1

    ich habe noch nicht gefunden wo er die neue IP in die Datei schreibt. in der conf ist es ja auskommentiert. Testweise hatte ich den # vor der zeile ipfile = … entfernt, ohne Veränderung.
    Gruß
    Krischan

  228. Stimmt soweit alles. Das auskommentieren der Zeile ipfile ist nicht nötig. Diese dient nur als Hinweis wo die Datei zu finden ist. Führ am besten nochmal ./updater/spdynu aus, sieh dir mit cat /tmp/spdynuIP.cnf deine IP an und vergleich diese mal mit der IP, welche dir myip.is ausgibt. Diese sollte übereinstimmen.

  229. krischan sagt:

    Hallo,
    die ip aus der spdynuIP.cnf stimmt der vergebenen überein. Könnte es noch an einer fehlerhaften Portweiterleitung der Fritzbox liegen?

  230. Könnte an einer fehlerhaften Portweiterleitung liegen. Ist bei den Portfreigaben der RasPi noch angegeben?

  231. krischan sagt:

    Hallo,
    der Raspi steht noch in den Freigaben. Habe die Freigaben erneut angelegt, leider erfolglos. Gestern lief alles einwandrei. Übernacht hat sich ja nur meine IP Adresse geändert und ansonsten ja nichts.

  232. Das ist seltsam. Konnte das Problem leider nicht nachstellen. Wenn die Ports 80 und 443 über IPv4 & IPv6 freigegeben sind, sollte es eigentlich funktionieren .

    Wie gesagt konnte ich das Problem nicht nachstellen.

  233. krischan sagt:

    Hallo nochmal,
    ich habe den, zumindest einen Fehler gefunden. Und zwar wurde der Dyndns-Eintrag auf SPdyn nicht aktualisiert. Ich habe meine aktuelle IP manuell auf der Homepage von SPdyn eingetragen und siehe da, ich kann wieder darauf zugreifen. Ich habe allerdings noch keine Idee wieso der Eintrag nicht automatisch aktualisiert wurde.
    Gruß
    Krischan

  234. Krischan sagt:

    Hallo,
    ich konnte mich nochmal ein wenig mit dem Problem auseinandersetzen. Nach Anpassung der Zeile IsTocken=1 zu IsTocken=0 in der Datei /etc/spdynu.conf wird die neue IP an SpDyn übermittelt und aktulaisiert.
    Grüße Krischan

  235. Hay,

    danke für den Hinweis. Habe es nun einen Hinweis im Abschnitt hinzugefügt. Ebenso habe ich den Hinweis auch in die Config Datei geschrieben. Ich stelle die aktuelle Fassung gleich online.

  236. Kamil sagt:

    Hi Steven,
    ich bin bei Einrichtung von Nextcloud hängen geblieben.
    Nextcloud gibt die Fehlermeldung #1698 Access denied for nextcloud@localhost zurück.
    Ich habe 2017-11-29-raspbian-stretch-lite als Basis verwendet.
    Ich habe schon auf mehrere Foren nachgeschaut aber eine Lösung konnte ich nicht finden.
    An der Stelle:
    CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    CREATE USER nextcloud@localhost identified by ‚password‘;
    GRANT ALL PRIVILEGES on nextcloud.* to nextcloud@localhost;
    müsste deine Anleitung das Problem lösen. Bei mir tut es aber nicht.
    Es wundert mich, weil ich zuerst mit Jessy + PHP7 und nur teilweise mit deiner Anleitung alles zum Laufen gebracht habe. Da ich aber so krummen Konstrukt doch nicht haben wollte habe ich heute alles auf Stretch noch mal gemacht. Jetzt kämpfe ich mit dem Fehler 1698…

  237. Kamil sagt:

    Ich glaube, ich habe das Problem gelöst.
    Ich habe unix_plugin für root entfernt.
    update mysql.user set plugin=“ where user=’root‘;
    Jetzt kommt die Fehlermeldung nicht mehr und ich kann die Einrichtung von Nextcloud abschließen.

    P.S.
    Sehr gute Anleitung!

    Schönen Gruß

  238. Johannes sagt:

    Hi Steven,
    wie sicher ist das ganze denn? Haben Angreifer durch die Portfreigabe Möglichkeiten in mein Heimnetzwerk einzudringen? Gibt es noch zusätzliche Schritte im Risiken zu minimieren?
    Schönen Gruß

    PS: Als ich den Pi in das WLAN Netzwerk eingebunden habe hatte ich Probleme meine Cloud zu erreichen. Wie ich jetzt weis muss man die Portfreigabe auf die neue Adresse des PIs ändern. Das könnte man in der Anleitung eventuell noch erwähnen.

  239. Raspi_Fan sagt:

    Hi,
    Super Anleitung. Danke erstmal dafür. Leider gibts anscheinend ein Problem beim erstellen der Zertifikate. Bin leider noch etwas planlos, konnte aber folgenden Artikel finden, der auch zu meinem Fehler passen würde. (https://www.theregister.co.uk/2018/01/13/lets_encrypt_certificate_drama/) oder irre ich mich da ?!
    Mach weiter so!
    Gruß

  240. Peter sagt:

    Hallo,
    leider hat letsencrypt die Challenge TLS-SNI-01 wegen Sicherheitsbedenken deaktiviert. Deswegen musste ich auf das webroot-Plugin ausweichen, welches stattdessen HTTP-01 verwendet. Ein Fix wird im git-Repository bereits eingepfelgt, ist aber noch nicht im Master-Branch angekommen.

    Mit folgendem Befehl konnte ich das Zertifikat erfolgreich erzeugen

    sudo ./letsencrypt-auto –non-interactive -a webroot -i apache -m mail@mail.de –agree-tos -w /var/www/html/ -d host.spdns.de

  241. Villi sagt:

    Vielen Dank für die Anleitung 🙂

    @Alle die Probleme mit den Zugriffsrechten auf eine externe USB-Festplatte haben und ein erneutes Setzen der Rechte mit sudo chown -R www-data:www-data /home/pi/usbdrive keine Besserung gebracht hat:
    Ich hatte das gleiche Problem => Meine Festplatte war mit NTFS formatiert. Ich konnte erst auf die Festplatte zugreifen, nachdem ich das Dateisystem auf ext4 formatiert hatte. Nachfolgend meine Vorgehensweise

    !!!Hinweis: Dabei werden alle Daten auf der Platte gelöscht!!!

    sudo umount /dev/sda1
    sudo mkfs.ext4 /dev/sda1
    -> Abfrage mit j bestätigen (bei mir wurde y/N angeboten => y hat jedoch nicht funktioniert)

    Anschließend erneut mounten und die Rechte zuweisen
    sudo mount -t auto /dev/sda1 /home/pi/usbdrive
    sudo chown -R www-data:www-data /home/pi/usbdrive

  242. Simon sagt:

    Vielen Dank für das Tutorial, habe so viel ausprobiert und immer hat was nicht funktioniert.
    Dank deiner Hilfe, hab ich es endlich geschafft!

  243. Kellertuer sagt:

    Moin Moin,
    danke für die Anleitung, bin grad mit neu aufgesetztem RPi3 von owncloud zu nextcloud rüber, fühlt sich besser an und alle üblichen probleme, die mich beo owncloud lange Zeit gekostet haben, waren hier gleich mit dabei 🙂 sehr schön. Vielen Dank.

  244. Chris sagt:

    Bin ich der einzige, bei dem das Updaten von spDYN nicht funktioniert?
    Logfile sagt -> No IP-Address found in response from server >>checkip.spdy.de<<
    Das müsste doch auch checkip.spdyn.de sein …
    Danke 🙂
    Chris

  245. Steffen sagt:

    Hi Leute,

    bin gerade dabei meine Next-Cloud neu aufzusetzen. Bisher hat alle reibungslos geklappt.

    Ich scheitere nur gerade daran meine Cloud via „letsencrypt“ auf https umzustellen.
    Bei der Ausführung des scripts „sudo ./letsencrypt-auto“ kommt folgende Fehlermeldung:

    ###
    Bootstrapping dependencies for Debian-based OSes… (you can skip this with –no-bootstrap)
    OK:1 http://archive.raspberrypi.org/debian stretch InRelease
    OK:2 http://mirrordirector.raspbian.org/raspbian stretch InRelease
    Paketlisten werden gelesen… Fertig
    E: No packages found
    No LSB modules are available.
    No LSB modules are available.
    No libaugeas0 version is available that’s new enough to run the
    Certbot apache plugin…
    Paketlisten werden gelesen… Fertig
    Abhängigkeitsbaum wird aufgebaut.
    Statusinformationen werden eingelesen…. Fertig
    Paket libssl-dev ist nicht verfügbar, wird aber von einem anderen Paket
    referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
    wurde oder nur aus einer anderen Quelle verfügbar ist.

    Paket python-virtualenv ist nicht verfügbar, wird aber von einem anderen Paket
    referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
    wurde oder nur aus einer anderen Quelle verfügbar ist.

    Paket python-dev ist nicht verfügbar, wird aber von einem anderen Paket
    referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
    wurde oder nur aus einer anderen Quelle verfügbar ist.
    Doch die folgenden Pakete ersetzen es:
    python

    E: Für Paket »python-dev« existiert kein Installationskandidat.
    E: Für Paket »python-virtualenv« existiert kein Installationskandidat.
    E: Paket libaugeas0 kann nicht gefunden werden.
    E: Paket augeas-lenses kann nicht gefunden werden.
    E: Für Paket »libssl-dev« existiert kein Installationskandidat.
    E: Paket libffi-dev kann nicht gefunden werden.

    ###

    Hat jemand einen Tip wie ich das Problemchen in den Griff bekomme. Danke schonmal

  246. @Chris: Den Fehler hab ich auf GitHub bereits behoben. Die korrigierte Version ist nun online.

    wget https://canox.net/spdynu.zip
    unzip spdynu.zip
    sudo mv spdynu updater/
    sudo chmod u+x updater/spdynu

    Dann funktioniert das updaten wieder.

    @Steffen ich konnte das Problem nicht nachstellen. Hast du den Befehl noch ein zweites Mal ausgeführt?

  247. Steffen sagt:

    Hallo Steven.

    Bis auf die Reihenfolge der Anleitung und den Namen meines Installatiosverzeichnisses für die Nextcloud ‚/var/www/nextcloud habe ich die Anleitung 1:1 befolgt. Die DNS beziehe ich auf einem anderen Weg.
    Die Installation von letsencrypt wollte ich ganz am Schluss machen, nachdem ich die Cloud eingerichtet hatte.
    Den Befehl habe ich in mehreren Varianten ausprobiert. Nicht hat mich weiter gebracht. Ich vermute das mit einer neuen Version des Python-Packeges zu tun hat, weiß aber nicht wie ich das Problem umgehen/beheben kann.

    Mit der vorherigen Version Raspbian Jessie hat die Installation von letsencrypt auch wunderbar funktioniert, aber mit Raspbian Stretch halt nicht.
    Wenn ich mit Details noch weiter helfen kann sagt Bescheid. Danke

  248. Welche Varianten/Befehle genau hast du ausprobiert.

  249. Steffen sagt:

    Mhh. Ok.

    Hab letsencrypt gerade nochmal runter geworfen und nochmals runtergeladen.
    Jetzt funktioniert es auf einmal. kp.

  250. christoph sagt:

    Hallo, ich hatte Probleme das Let’s Encrypt Zertifikat wie hier beschrieben zu verlängern.
    Ich habe mir wie folgt beholfen:
    1. Apache stoppen
    2. Befehl zum Verlängern ausführen: sudo /etc/letsencrypt/letsencrypt-auto certonly –agree-tos –renew-by-default -d [MEINE_DOMAIN]
    3. Im Auswahlmenü den 2. Eintrag (temporärer Webserver) wählen
    4. Nach der erfolgreichen Erneuerung des Zertifikates den Apache wieder starten

  251. christoph sagt:

    Beim dem Aktualisieren von Nextcloud hatte ich das Problem, dass eine Datei oder ein Ordner „.well-known“ beim Integritätscheck beanstantet wurde. Lösung: diesen temporär verschieben und nach dem Update wieder an Ort und Stelle bringen:
    * Datei „.well-known“ verschieben ( sudo mv /var/www/html/.well-known /home/.well-known )
    * Update durchführen
    * Datei „.well-known“ zurück verschieben ( sudo mv /home/.well-known /var/www/html/.well-known)

  252. Michael sagt:

    Moin Steven, dank deiner super Anleitung habe ich nextcloud V 13 zum Laufen bekommen. Synchronisation der Daten ist problemlos. Nur das Einbinden der Festplatte bekomme ich nicht hin. Ich benutze einen 32GB USB Stick mit NTFS formatiert, Ich aknn sie auch auf Nextcloud einbinden – zumindest ist der Punkt grün. Unter „Alle Dateien“ ist sie aber nicht aufgeführt. Gehe ich auf ext. Festplatte wird sie angezeigt. Klicke ich drauf werden wieder alle Dateien ohne die ext. Festplatte angezeigt. Was habe ich falsch gemacht?

  253. Norman sagt:

    Hey Steven,

    top Anleitung! Hat super funktioniert bis jetzt.
    Kurzer Hinweis: nachdem du jetzt einen eigenen DB User nutzt (nextcloud statt root) müsstest du im Bereich ‚Nextcloud einrichten‘ noch den Screenshot aktualisieren – dort wird derzeit noch root verwendet.

    Schönen Gruß,
    Norman

  254. E.N. sagt:

    Hi.
    Super Anleitung, danke vielmals.
    Eine Kleinigkeit habe ich gefunden, die für Copy’n’Paste fans wichtig sein wird:
    Die backup-nextcloud.sh fügst du in dem crontab als nextcloud-backup.sh ein!

  255. E.N. sagt:

    Und nach der konstruktiven Kritik kommt nun ein kleiner Paypal-Lob.
    Vielen Dank.

  256. Intreppit sagt:

    Was mich intressieren würde: Wie spiele ich das Nextcloud Backup wieder ein? Gibt es gar eine Möglichkeit regelmäßig ein Image von der SD Card zu ziehen?
    Schonmal viele Dank im Voraus =) Und übrigens: Sehr gute Arbeit und vielen Dank =)

  257. Lukas sagt:

    Hallo
    Ich habe ein Problem beim Punkt benötigte Software installieren. Die erste Zeile hat einwandfrei funktioniert. Wenn ich jedoch den zweiten Befehl eingebe:
    libapache2-mod-php7.0 php7.0-mbstring php7.0-zip curl libcurl3 libcurl3-dev php7.0-mysql mariadb-server-10.1 smbclient
    kommt die Meldung command not found
    Ich hab keine Ahnung was ich falsch mache. Sind meine ersten Schritte auf diesem Gebiet.

  258. Hallo Lukas,

    das ist eine Zeile.

  259. Lukas sagt:

    Hallo Steven
    Vielen Dank für deine schnelle Antwort und mein größter Respekt. Mit dieser super Anleitung schaft es sogar ein Anfänger wie ich, seine eigene Cloud zu basteln, wenn ich es dann schaffe zwischen Ein- und Mehrzeiler zu unterscheiden . 🙁 Ich mag mir gar nicht vorstellen wie viel Zeit und Herzblut du in das Projekt gesteckt hast. Einfach nur beeindruckend…

  260. Johannes sagt:

    Hallo,
    Ich habe ein Problem beim Punkt ‚Nextcloud Einrichten‘:
    Ich habe zuvor Datenbank und User nach der Anleitung mit eigenem Passwort erstellt.
    Im Nextcloud-Formular gebe ich dann folgende Daten ein:
    *mein neuer Admin* + *mein Passwort*
    Datenverzeichnis: „/var/www/html/data“
    Datenbanknutzer: nextcloud
    *mein in mariadb festgelegtes Passwort*
    Datenbankname: nextcloud
    Datenbankhost: localhost

    Wenn ich das dann abschicke, kommt der Server nicht zu einem Ende und ich muss es dann irgendwann abbrechen. (Ich habe bisher bis zu ca. 10 Minuten gewartet)
    Fehlt mir nur die Geduld, oder ist irgendwo ein Fehler zu erkennen?

    Danke,
    Johannes

  261. Roger sagt:

    Moin vom Neuling,
    ich habe mich an diese tolle Anlietung gehalten und habe es als absoluter Neuling geschaft nextcloud auf einen Raspi zu bringen.

    Jetzt habe ich anscheinend ein Zertifikatsproblem. Die Browser melden mir wenn ich die Adresse eingebe mit:
    192.168.178.57 verwendet ein ungültiges Sicherheitszertifikat. Das Zertifikat gilt nur für xxxx.my-gateway.de. Fehlercode: SSL_ERROR_BAD_CERT_DOMAIN
    Wieso meldet der Raspi die lokale IP?

    Kann jemand helfen?

    Danke
    Gruss
    Mellon

  262. Hallo Mellon,

    ein Zugriff via HTTPS auf die Nextcloud über das lokale Heimnetzwerk macht keinen Sinn. Funktioniert der Zugriff über die DynDNS Adresse bzw. die von dir gewählten Domain?

    Gruß Steven

  263. Mellon sagt:

    Hallo Steven,

    es hat sich inzwischen erledigt. Das HTTPS Zertifikat hat wohl ein bisschen gebraucht um überall „anzukommen“. Nach einigen Stunden hat alles wie geplant funktioniert. Manchmal löst die Zeit einfach die Probleme 
    Derzeit habe ich nur noch das Problem, das der Crontab die DynDNS Adresse nicht aktualisiert, spdnyu funktioniert bei manuellem Aufruf tadellos.
    Ich muss mal die Cronjobs kontrollieren. Wenn das alles läuft gehe ich mit der Cloud bei meiner Familie „live“.
    Ich danke dir für die tolle Beschreibung und die viele Arbeit die Du in diese Anleitung gesteckt hast

    Danke und Gruß
    Mellon

  264. Thomas K sagt:

    Hallo Steven,
    vielen Dank für die Super Anleitung.
    Ich hänge bei der Einrichtung des Admin in der Nextcloud Oberfläche.
    Wenn ich als Datenverzeichnis /var/www/html/data angebe kommt die Meldung

    Error while trying to create admin user: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [1698] Access denied for user ‚root’@’localhost‘

    Wenn ich als Datenverzeichnis /var/www/nextcloud/data angebe kommt der Fehler

    Das Datenverzeichnis /var/www/nextcloud/data kann nicht erstellt oder es kann darin nicht geschrieben werden.
    Das Verzeichnis gibt es aber . (sudo mkdir /var/www/nextcloud/data sollte helfen) habe ich ausführt und kontrolliert.

    Ist es ein Rechte Problem ?
    Vielen Dank für Deine Mühe

  265. Hallo Thomas,

    mein Fehler. ich habe vergessen die Screenshots auszutauschen. Statt root muss nextcloud als Datenbankbenutzer eingetragen werden

  266. PaulB sagt:

    — Macht es Sinn, das ganze auf ein LUKS-Encrypted System zu installieren?

    — Kan man auch PHP 7.1 nehmen?

  267. Sinn macht es alle Mal. Sofern die von dir genutzte Distribution PHP 7.1 ausliefert bzw. es hierfür eine externe Paketquelle, ja.

  268. TomatenTheo sagt:

    Guten Tag Steven, bin heute über deine Anleitung aufmerksam geworden, dazu habe ich aber folgende Fragen.
    Zur Zeit nutze ich die Distribution Debian Stretch Lite, die Installation sollte ja damit auch funktionieren.
    Wenn Du dich bei spdyn.de anmeldest, wird doch die IP Adresse des Routers genutzt, somit sollte es doch auch möglich sein nach der Einrichtung den Pi mittels der zuvor eingerichteten http://www.Adresse.de zu erreichen?
    Vorab danke ich dir für die schnelle Antwort und verbleibe

    Mit freundlichen Grüßen

    ThomatenTheo

  269. NextcloudUser sagt:

    @ThomatenTheo: Wie ist deine Frage genau gemeint? Den Pi kannst du mit der bei spdyn eingerichteten Domain erreichen. Wird im Beitrag auch alles erklärt

  270. TomatenTheo sagt:

    @NextcloudUser: Nun habe ich folgendes Problem, habe soweit alles eingerichtet, bis zu dem Punkt, dass man in der URL seine Seite aufrufen kann. Dort werde ich nicht auf die Seite von Nextcloud weitergeleitet, sodern bekomme von Apache2 die Meldung „Apache2 Debian Default Page“.
    Portweiterleitung ist in der 7490 mit HTTPS und HTTP nur für den Raspi erlaubt.

  271. @TomatenTheo du hast scheinbar das html Verzeichnis in /var/www/ nicht gelöscht und den nextcloud Ordner nicht in html umbenannt

  272. TomatenTheo sagt:

    update: Komme derzeit auf mein erstelltes Nextcloud Konto rauf, aber sobald ich den Admin anlegen möchte, erhalte ich die Nachricht, Das Datenverzeichnis /var/www/nextcloud/data kann nicht erstellt oder es kann darin nicht geschrieben werden.

  273. sudo chown -R www-data:www-data /var/www/html (siehe Abschnitt Nextcloud installieren)

    Sofern du der Anleitung 1:1 gefolgt bist ersetze das nextcloud mit html

  274. NextcloudUser sagt:

    @TomatenTheo: Wenn du der Anleitung 1:1 gefolgt wärst, wären die „Probleme“ nicht aufgetreten. Funktionieren Anleitungen sollte man immer 1:1 folgen, es sei den mein weiß ganz genau was man tut.

  275. TomatenTheo sagt:

    @Steven, danke für die großartige Arbeit. Es hat nun funktioniert. Weshalb es nicht funktionierte, weil ich den Pfad, welcher im Beispiel Fenster der Anmeldeseite bei mir gesucht,danach erstellt und dann die Nutzer und Gruppen auf www-data abändern musste.
    Wie gesagt, es funktioniert nun einwandrrei.
    Nun habe ich aber noch eine letzte Frage, ist es möglich bei nextcloud die Gesamtspeicherkapazität anzeigen zu lassen?

    @NextcloudUser, ich bin der Anleitung gefolgt, aber solche Kommentare wie Ihrer ist, ist einfach nur überflüssig, aber nun haben Sie ja schließlich gezeigt, wie der Held um der Ecke heißt!

  276. pjwege sagt:

    Hallo zusammen, ich bin total begeistert von dieser Anleitung und quasi ohne größere Probleme bis zum Ende gekommen. Allerdings ganz am Schluß gab es einen kleinen Stopper: Mein hostname bei spdyn ‚myname.spdns.de‘ wurde von nextcloud als „nicht vertrauenswürdige Domain“ erkannt und abgelehnt. Dafür muss man dann noch den Eintrag ‚trusted domains‘ in der config.php anpassen. Danach funktionerte es sofort. Das ganze läuft auf einem raspberry pi 3 und nur die Konfiguration von nextcloud war etwas langsam. Ca. 45 Minuten 😉
    Gruß und Danke

  277. TomatenTheo sagt:

    Addendum: Nach einigen Datentransfers habe ich mal auf dem Raspi df eingegeben und habe herausgefunden, dass die Speicherung auf der SD Karte erfolgt.
    Die externe Festplatte ist aber eingehangen, gehört aber den User und der Gruppe root. Jedoch das einbinden des Pfades in der Nextcloud Webinterface hat reibungslos funktioniert. Nun meine Frage wird erst die SD Karte vollgespeichert und dann auf der externen weiter gespeichert oder habe ich hier noch einen Fehler drin?

  278. PaulB sagt:

    Ein paar Anmerkungen zu „TOTP“ und „Two Factor U2F“
    (Vorweg:
    Steven, deine Anleitung Nextcloud auf dem Raspi zu installieren, war für mich der Hauptgrund, mir so’n Ding zuzulegen. Und es klappte auf Anhieb. Es war so etwas wie „Malen nach Zahlen“ für Computer NOOBS)

    Der Hinweis, dass man, wenn man einer dieser Authentifizierungs-Methoden benutzen will,
    den Nextcloud Client und die Nextcloud Apps nicht benutzen kann, stimmt so nicht.
    Wenn man einer dieser Methoden verwenden will, muss man seinen Client und/oder die Apps ein eigenes Passwort zuweisen. Dafür bietet die Nextcloud eine eigen Routine an.
    (Unter: Einstellungen/sicherheit: neues App-Passwort erstellen)
    NB
    Die Option, unterschiedliche Apps eigene Passwörter zuzuweisen, ist auch nützlich wenn man kein TOTP oder U2F benutzt. Verliert man z.B. sein Tab mit einem aktivierten Nextcloud-app, kann man diese App blockieren, indem man das zusätziche Passwort abschaltet.

    Die Verwendung von TOTP oder U2F muß der Nextcloud-Admin durch installation der Entsprechenden Apps ermöglichen. Danach entscheidet jeder User selbst, ob er TOTP oder U2F aktiviert.

    In meiner Nextcloud-Installation benutze ich das Admin-Konto ausschließlich zur Verwaltung der Nextcloud (für eine kleine Gruppe ehrenamtliche Mitarbeiter.) Für meine Dateinen, meine Kalender, meine Notizen (ich verwende Joplin) benutze ich ein zweites Konto ohne AdminFreigabe, und ich verwende ausschließlich den Client auf meinem Bürocomputer und die Apps auf meinem Tab und Meinem Handy. Das Admin-Konto ist (natürlich) mit einer Zwei-Faktor-sicherung gesichert.
    Übrigens:
    Natürlich kann man U2F mit keys von Yubeco benutzen.
    Aber:
    der Yubico YubiKey NEO kostet auch bei Amazon mehr als 50 Euro.
    Also deutlich mehr als der Raspberry, der damit abgesichert werden soll.
    Wir haben sehr gute Erfahrungen mit dem >>HyperFIDO Mini (U2F Security Key) von HYPERSECU<>Feitian ePass FIDO-NFC Security Key<>Feitian Multipass FIDO U2F Security Key<< von Feitan zulegen (USB; NFC; Bluetooth) für 21,99 zulegen.

    Und noch ein Kaveat, wenn es um U2F geht:
    Nur der Chrome-Browser hat vollständige Unterstützung für dieses Verfahren.
    Ältere Firefox-Installationen brauchen ein Plugin. Die neueren Versionen haben U2F-Fähigkeit eingebaut, allerdings noch nicht vollständig. Es kann also passieren, das die Authentifizierung bei bestimmte Anbieter nicht klappt. Mit Nextcloud und Firefox habe ich allerdings keine Probleme.

  279. CaluvH sagt:

    @Steven: Sehr gute Anleitung. Ich musste das ganze jedoch ohne IPv4 machen, da ich nur einen DS-Light Anschluss habe. Hat auch etwas gedauert, da ich zudem erst noch nen neuen Rooter brauchte (Technicolor 7200 gegen Connect Box getauscht). Für IPv6 habe ich deinen Updater etwas angepasst (siehe PullRequest). Jetzt funktioniert alles super. Welche Auswirkung der Umstieg auf IPv6 hat kann ich noch nicht genau sagen.

  280. PaulB sagt:

    Habe gerade versucht „phpMyAdmin“ auf dem gleichen Rasp wie der Nextcloud zu installieren. Bin kläglich gescheitert. Is es bei der obigen Konfiguration überhaupt möglich, noch etwas anderes neben Nextcloud zu haben?

  281. Markus sagt:

    Hi, da ich seit kurzem auch stolzer Besitzer eines Raspberry Pi bin, auf dem ich bereits Pi-hole einsetze, stelle ich mir die Frage, wie ich die Koexistenz beider Programme bewerkstelligen kann. Hier geht’s mir um das Verändern der Standardports für nextcloud von 80 und 443 auf andere.
    Wäre es dir möglich dafür eine Anleitung zu schreiben?
    Und gibt es irgendwelche Probleme mit bereits durch Pi-hole installierten Paketen wenn ich der Anleitung folge (hier zB. php 7)?

  282. Peter P sagt:

    Hallo Steven,
    vielen Dank für deine ausführliche Anleitung.
    Leider stolpere ich über die Zertifikatsverifikation bei der ersten ausführung von letsencrypt-auto. „The server could not connect to the client to verify the domain“
    Dieser Fehler wurde schon ein paar mal berichtigt. Bei mir scheinen die Vorraussetzungen aber eigentlich zu passen:
    – „cat /tmp/spdynuIP.cnf“ zeigt mir die korrekte IPv4 Adresse für meinen Host
    – Ports 80 und 443 sind in der Fritzbox für den raspi freigegeben.
    – Document Root habe ich angepasst
    Woran könnte es hängen?

  283. PaulB sagt:

    Ein zweites Mal versucht „phpMyAdmin“ zu installieren. Diesmal hat es geklappt. Und zwar indem ich die Anweisungen auf dem Bildschirm sorgfältig gelesen und genau befolgt habe …

  284. Sebastian sagt:

    Moin, und erst einmal Danke für die tolle Anleitung. Ich habe nicht auf dem Raspi installert und die ./updater/spdynu funktioniert nicht. No such file etc. Abgelegt ist die datei unter /home/benutzernahme/updater/. Die Rechte sind beim Benutzer, ausführbar ist die Datei auch, aber keine Chance diese zum starten zu bekommen. was mache ich falsch ? Bin dankbar für jede Hilfe. Gruß Sebastian

  285. Michael sagt:

    Hi,
    ich habe einen 32GB USB Stick nach Deinen Anweisungen eingebunden. Innerhalb Nextcloud kann ich auch Daten darufhin veschieben/kopieren. Ich kann aber von exten via Web keine Daten auf den Stick schreiben. es kommt jedesmal die Meldung „forbidden“ Gibt es dafür eine Lösung?

  286. sossus sagt:

    Hallo und vielen Dank für die tolle Anleitung.
    Mein Kabelanschluss hat eine feste öffentliche IP-Adresse. Kann ich mir die dyndns Geschichte dann nicht sparen?
    Wenn ja, was muss ich stattdessen machen? Gruß Sossus

  287. @Sebastian: die ausführbare Datei war für armhf kompiliert. Deswegen funktionierte es nicht. Mit der neuen Methode funktioniert es.

    @Michael: Zugriff auf den Stick via WebDAV sollte das Problem lösen

    @sossus: dann kannst du dir die DynDNS Geschichte sparen. Stattdessen kannst du dir zum Beispiel bei IMWX eine Domain kaufen.

  288. PaulB sagt:

    @sossus
    Wenn du einen Kabelanschluß von Vodafone hast, hast du zwar eine IP-Adresse, die sich nur selten ändert, aber eben keine FESTE ip-adresse:
    Deren FAQ sagt dazu:
    Im Moment bieten wir keine statischen IP-Adressen für Kabel-Produkte an. Im Unterschied zu DSL-Anschlüssen erfolgt jedoch keine Zwangstrennung der Internet-Verbindung. Zu Wartungszwecken kann es vorkommen, dass die Internet-Verbindung über Ihren Kabel-Router neu aufgebaut wird. Die IP-Adresse wird dabei dynamisch vergeben.
    Zum Nachlesen: >https://kabel.vodafone.de/hilfe_und_service/faq/article/question/bietet-vodafone-statische-ip-adressen-fuer-kabel-internet-an&lt;
    Meine Erfahrung:
    Auch ein kurzer Stromausfall mitten am Tag sorgt dafür, das du eine neue IP-Adresse bekommst…
    LGpb

  289. sossus sagt:

    @PaulB Danke für die Info – der „Spaß“ kostet mich 5 € im Monat, daher soll sich Vodafone mal wagen, die Adresse einfach so zu ändern 😉
    Ich gehe tatsächlich davon aus, dass sie statisch ist und auch nicht zu Wartungszwecken geändert wird. Wenn doch wäre das echt dreist!

  290. sossus sagt:

    BTW. Kann ich als externen Datenträger nicht auch eine 3,5 Zoll Festplatte mit eigenem Netzteil verwenden?

  291. Moebert sagt:

    Vielen Dank für die gute Anleitung, die hat mir sehr geholfen!
    Habe seit gestern Abend versucht mit dieser Anleitung von Apache auf Nginx umzusteigen. Dabei hatte ich das Problem, dass Chrome beim Aufruf der Seite immer den „ERR_SPDY_PROTOCOL_ERROR“ ausgespuckt hat. Nach einiger Recherche habe ich rausgefunden, woran es lag:
    In Deiner Konfiguration für Nginx fehlt in der Zeile „add_header Strict-Transport-Security“ (Zeile 27) das Anführungszeichen hinter der max-age, weil die nächste Zeile, die das Zeichen am Ende hat auskommentiert ist.
    Mein technischer Sachverstand endet hier, aber bei mir läuft alles, wenn ich hinter dem Zahlenwert Anführungszeichen einfüge. Hat sich hier ein Fehler eingeschlichen?

  292. sossus sagt:

    Ich bin heute irgendwie nicht weitergekommen. Dann habe ich gesehen, dass es am Wochenende ein Update der Beschreibung gab. Also habe ich noch mal von vorn angefangen. Ist ja ne gute Übung für einen Linux-Dau.
    Ich bin sauber durchgekommen bis zum Punkt „Let’s Encrypt Zertifikat erstellen. Ich habe den Befehl kopiert und meine spdns URL eingetragen und meine Mailadresse die dort hinterlegt ist. Dann kam die Fehlermeldung: „cerbot: error: unrecognized arguments: -w /var/www/html
    Die Nginx Konfiguration habe ich dann noch angepasst.
    Wenn ich jetzt auf die interne IP des pi oder auch auf meine spdns Adresse gehe kommt die Option eine index.php runterzuladen.
    Ich hoffe mir kann jemand so kurz vor dem Ziel helfen 🙂

  293. Michael sagt:

    Steven, meinProblem dass ich nicht auf den 32GB Stick schreiben kann, liegt offentsichtlich an den Rechten. Nach jedem Neustart sind die Rechte bei root.Änder ich sie kann ich schreiben. Nach dem Neustart sind die Rechte bei root. Nun hab ich in der fstab diese Zeile
    /dev/sda1 /home/pi/usbdrive auto noatime 0 0
    gelöscht und die Rechte werden nicht mehr geändert, aber eigentlich benötige ich die Zeile oder nicht?

  294. MaxistMax sagt:

    @Steven Danke erstmal für die tolle Anleitung

    Ich habe das selbe Problem wie @sossus ich kann die nextcloud installation nicht abschließen weil ich jedes mal eine index.php Datei herunterlade. Bekomme die selbe Fehlermeldung bei Let’s Encrypt

  295. Luis sagt:

    Servus Steven,
    Ich danke dir vielmals für deine ausführliche Anleitung und finde es großartig, dass du dich weiterhin in regelmäßigen Abständen mit diesem Projekt beschäftigst. Tun heutzutage leider nicht mehr viele.

    Jetzt komme ich zur Frage:
    Nextcloud hat vor nicht allzu langer Zeit eine optimierte Distribution für den Rasperrypi Pi rausgebracht. Zu finden unter dem Namen „NextcloudPi“. pi)
    Was hältst du davon?

  296. FerdiFuchs sagt:

    hallo sossus und maxistmax

    ersetzt den bindestrich vor dem w durch den richtigen in besagtem Befehl.
    da hat sich der fehlerteufel eingeschlichen!

  297. sossus sagt:

    @Steven vielen Dank für die Anleitung und die Zeit die du hier investierst. Danke auch an @FerdiFuchs und @PaulB für die Unterstützung. An Wochenende hatte ich Besuch von Freunden die sich in der Linux Welt im Gegensatz zu mir zu Hause fühlen. Die haben da ein wenig „rumgezaubert“ und irgendwann lief der Spaß.
    Nun habe ich heute noch etwas Zeit gebraucht um die externe Festplatte angebunden zu bekommen. Im Moment kämpfe ich noch etwas mit des Synchronisation zwischen Handy und nextcloud – bin aber zuversichtlich. 🙂
    Danke nochmal – ich schmeiß gleich noch was in die Kaffeekasse 😉

  298. sossus sagt:

    Wenn ich mir die Kommentare im google play store so anschaue, bin ich wohl nicht der einzige bei dem der automatische Upload nicht funktioniert. Schade, dass war die Motivation mich überhaupt mit Nextcloud zu befassen…
    Kann jemand vielleicht eine Drittanbieter-App empfehlen die das übernehmen könnte?

  299. sossus sagt:

    OK, habe mich getäuscht. Ich dachte die App ist so schlau den entsprechenden Ordner zu synchronisieren. Also auch die bereits in der Vergangenheit geschossenen Bilder hoch zu laden. Es werden aber nur neue Bilder hochgeladen. Das klappt. Dann muss ich den Bestand halt einmal hoch schieben und die zukünftigen gehen dann hoffentlich automatisch.

  300. Luca sagt:

    @Steven
    Hey Steven,
    erstmal vielen Dank für diese tolle Anleitung, super Arbeit!
    Mich würde mal sehr gerne interessieren, warum du statt dem Apache Webserver nun Nginx verwendest und statt MySQL nun PostgreSQL? Welche Gründe hat das? Ist Nginx besser als Apache oder wieso?
    Freue mich auf Antworten und bin sehr gespannt.

  301. Kai sagt:

    Sehr schöne umfangreiche Anleitung mit einem kleinen Schönheitsfehler. Am Ende hat man eine Installation die nicht funktioniert. (Stand 24.05.2018)

    Beim Punkt wo man zum ersten mal die Weboberfläche aufruft um den Admin Account anzulegen und die DB auswählt, lädt die Seite nicht komplett (Ladebalken steht bei der Hälfte). Wenn man sich dazu entschliesst, dann doch den Admin anzulegen und die DB Angaben einträgt, legt dort zwar irgendwas los, kommt aber irgendwann zum erliegen mit eine Bad Gateway Meldung. Das hat (meine Vermutung) wohl zur Folge das die Daten nicht korrekt in die DB eingetragen wird. Im Anschluß kann man sich im Webfrontend grundsätzlich nicht anmelden. Mobile Clients können sich anmelden, aber ein Sync funktioniert danach überhaupt nicht.

    Trotzdem die Dokumentation hier zeugt davon das der Autor sich unwahrscheinlich Mühe gegeben hat. Findet man selten so was.

    Ich werde nun ein neues Debian installieren und mal sehen ob ich eine Anleitung für Nextcloud mit MariaDB und Lighttpd finde. Mit postgesql und Nginix kenne ich mich halt zu wenig aus und habe auch nicht die Motivation mich darin einarbeiten zu wollen.

  302. Heiner sagt:

    Vielen Dank für diese tolle Anleitung. Kann es sein, dass irgendetwas in der Nginx Konfiguration zurzeit nicht stimmt? Ich bekomme das System (Raspberry Pi 3B) mit der Konfiguration nicht zum laufen. (Ich wollte das System neu aufsetzen).

    • Mit der Nginx Konfiguration und mit der gesamten Anleitung ist alles in Ordnung.

    • Jan sagt:

      Ich hatte auch ein Problem mit NGINX… Bei mir wollte der Server einfach nicht starten und ich habe alles mögliche getestet.
      Ich habe letztendlich die folgende Zeile abgeändert:
      add_header Strict-Transport-Security „max-age=15768000; includeSubDomains; preload;“;
      und durch das hier ersetzt:
      add_header Strict-Transport-Security „max-age=15768000″;
      #includeSubDomains; preload;“;

      Dann ließ sich der Server einfach ohne Probleme starten. Vielleicht hilft dir die Antwort ja noch 🙂

  303. Heiner sagt:

    Danke für die Rückmeldung, dann werde ich weiter basteln.

  304. Jan sagt:

    Danke für die ausführliche Anleitung.
    Ich bin aktuell dabei meine nextcloud von Mariadb auf PostgreSQL umzustellen. Kann mir jemand zum importieren in PostgreSQL eine Anleitung geben?

  305. Jan sagt:

    Danke für die gute ausführliche Anleitung. Es klappt alles super!
    Momentan bin ich