Achtung: Diese Artikelreihe basiert auf Ubuntu Server 18.04. Es existiert eine neuere und komplett überarbeitete Version auf Basis von Ubuntu 20.04 unter:
Übersicht: Ubuntu 20.04 Homeserver/NAS, Teil 1

Dieser Artikel ist Teil der Reihe selbstgebauter Homeserver/Nas mit Ubuntu 18.04


Nextcloud ist die Eierlegende-Wollmilchsau für selbstgehostete Cloudanwendungen. Das Projekt findet sich unter nextcloud.com, ist OpenSource und kann kostenlos heruntergeladen und genutzt werden.

In Nextcloud können Kalender und Kontakte gespeichert werden und mit dem Smartphone synchronisiert werden. Nextcloud kann Dienste wie Google Calendar komplett ersetzten. Außerdem gibt es einen Desktopclient mit welchem Dateien über mehrere Computer synchronisiert werden können, genau wie das bei Diensten wie Dropbox der Fall ist. Eine App für das Smartphone ermöglicht den Zugriff auf die Dateien von unterwegs. Außerdem ermöglicht die App den sofortigen Upload von Fotos oder Videos die mit dem Smartphone erstellt werden. Nextcloud bietet ein übersichtliches Webinterface, über welches man von jedem Computer mit jedem Webbrowser auf die Dateien auf dem Homeserver zugreifen kann.

Nextcloud ist in PHP geschrieben und benötigt einen Webserver und eine Datenbank.

Als Webserver wird Apache und als Datenbank MariaDB installiert.

Installation der MariaDB-Datenbank

MariaDB ist ein Datenbank-Server, welcher kompatibel zu Oracles MySQL-Server ist. Da Oracle den freien MySQL-Server sehr stiefmütterlich behandelt wird zunehmend auf MariaDB als Alternative gesetzt.

Der Datenbank-Server wird installiert mit

sudo apt install mariadb-server

Mit dem nächsten Befehl kann die MariaDB Installation abgesichert, bzw. für den Produktivbetrieb bereit gemacht werden indem z.B. der anonyme Benutzer gelöscht wird.

Im Gegensatz zu anderen Distributionen, oder wenn MariaDB aus anderen Quellen installiert wird, findet bei Ubuntu die Authentifizierung über einen Unix-Socket mit den Rechten des lokalen Benutzer statt. Wenn also ein MariaDB-Befehl als Root oder mit sudo aufgerufen wird, wird dieser auch als Rootuser im Datenbankserver ausgeführt. Ein lokaler Benutzer der sudo nicht nutzen darf (z.B. die bereits angelegten User heimnetz und heimgast) hat auch keinen Rootzugriff auf den Datenbankserver. Aus diesem Grund ist es nicht nötig und nicht sinnvoll in dieser Konfiguration ein Rootpasswort für den Datenbankserver zu vergeben. Wer sich für weitere Details interessiert findet hierzu einen interessanten Beitrag im Blog von Michael Kofler.

Die Absicherung erfolgt nun mit folgendem Befehl und folgenden Antworten:

sudo mysql_secure_installation

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: N
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

Anlegen der Datenbank für Nextcloud

Nach der Installation des Datenbabank-Servers kann die Datenbank für die Nextcloud angelegt werden. Als erstes muss man sich auf dem Datenbank-Server einloggen.

sudo mysql -u root

Dann wird eine neue Datenbank mit dem Namen nextcloud angelegt

CREATE DATABASE nextcloud;

Im nächsten Schritt wird ein neuer Datenbankbenutzer für die Nextcloud Installation vergeben. Für diesen Benutzer wird ein Passwort vergeben, da dieser im Gegensatz zum Rootuser nicht an ein lokales Benutzerkonto gekoppelt ist. Das Passwort muss natürlich individuell festgelegt werden.

CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'password';

im letzten Schritt werden dem Benutzer nextcloud alle Rechte an der gleichnamigen Datenbank eingeräumt.

GRANT ALL ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Damit ist die Datenbank bereit. Die Änderungen werden nur noch gespeichert und anschließend loggen wir uns aus dem Datenbankserver wieder aus.

FLUSH PRIVILEGES;
EXIT;

Installation des Apache Webserver

Nun wird der Apache Webserver installiert. Die Wahl fällt auf Apache, weil dieser weit verbreitet, gut dokumentiert ist und in der offiziellen Dokumentation von Nextcloud verwendet wird. Das Ausführen der PHP-Dateien übernimmt mod_php, eine Erweiterung für Apache.

Apache und mod_php werden mit diesem Befehl installiert:

sudo apt install apache2 libapache2-mod-php7.2

Außerdem benötigt Nextcloud weitere PHP-Module, welche mit den folgenden Befehl installiert werden:

sudo apt install php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring php7.2-intl php-imagick php7.2-xml php7.2-zip

Damit ist der Webserver grundsätzlich schon einsatzbereit. Ein Aufruf im Webbrowser über http://mimashome.ddns.org oder die IP-Adresse http://192.168.30.114 gibt bereits eine Webseite aus.

Apache Default Page

Einrichten des Let’s Encrypt https-Zertifikats

Damit die Übertragung der Daten über das Internet verschlüsselt und ohne störende Fehlermeldungen des Browsers erfolgen kann, wird ein Schlüsselpaar und ein Verschlüsselungszertifikat benötigt. Seit der Gründung von Let’s Encrypt sind solche, von allen Browsern und Betriebssystemen anerkannte Zertifikate nicht nur kostenlos sondern auch automatisiert und sofort zu erhalten. Ein echter Meilenstein für das Internet.

Die Erstellung der Schlüssel und das Beantragen, sowie die anschließende Zertifikatsverwaltung übernimmt die Software Certbot, welche zuerst wieder installiert werden muss.

sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt install certbot python-certbot-apache

Dann wird ein Schlüsselpaar erstellt und ein Zertifikat für unsere DynDNS Adresse beantragt.

sudo certbot --apache certonly

Hierzu müssen ein paar Fragen beantwortet werden

  • Enter email address (used for urgent renewal and security notices) (Enter ‚c‘ to
    cancel): deine Emailadresse für Benachrichtigungen
  • Please read the Terms of Service. (A)gree/(C)ancel: A
  • Would you be willing to share your email address with the Electronic Frontier
    Foundation. (Y)es/(N)o: Y oder N, je nachdem ob man Mitteilungen Lets Encrypt bekommen möchte
  • No names were found in your configuration files. Please enter in your domain
    name(s) (comma and/or space separated) (Enter ‚c‘ to cancel): mimashome.ddns.net

Jetzt werden die Daten überprüft und die Zertifikate erstellt und unter /etc/letsencrypt/live/mimashome.ddns.net gespeichert.

Wichtig: Dieser Punkt muss erfolgreich abgeschlossen werden, ansonsten werden die weiteren Schritte, sowie der Zugriff auf Nextcloud nicht funktionieren. Wenn die Erstellung der Zertifikate fehlschlägt, liegt wahrscheinlich ein Fehler bei der DynDNS-Konfiguration oder der Portweiterleitung im Router vor.

Wenn die Verifizierung der Domain und die Erstellung der Zertifikate erfolgreich war, beendet sich Certbot mit folgendem Hinweis.

Certbot erfolgreich

Automatische Erneuerung der Zertifikate einrichten

Aus Sicherheitsgründen sind Let’s Encrypt Zertifikate nur drei Monate gültig. Sofern einem das Zertifikat abhanden kommt, ist der potentielle Schaden geringer als bei einem Zertifikat mir langer Laufzeit. Um ein wartungsarmes System zu bekommen muss die Aktualisierung der Zertifikate automatisiert werden. Dies übernimmt ein Cronjob, der wiederum regelmäßig einen Certbot-Befehl zum erneuern des Zertifikats ausführt.

Hierzu öffnen wir die Datei /etc/crontab

sudo nano /etc/crontab

und fügen vor der abschließenden Raute den folgenden Befehl ein:

@weekly root certbot renew

die crontab sollte dann etwa so aussehen

Crontab für Let's Encrypt

Damit wird einmal wöchentlich die Gültigkeitsdauer aller vorhandenen Zertifikate überprüft und bei Bedarf eine Neuausstellung beantragt.

Installation von Nextcloud und Konfiguration des Apache Webserver

Als erstes besorgen wir uns die Nextcloud Dateien. Diese findet man auf der offiziellen Webseite unter Downloads. Die Dateien können aber auch direkt über die Kommandozeile heruntergeladen werden, wobei wir zuerst in unser Homeverzeichnis wechseln und dann den Download starten.

cd ~
wget https://download.nextcloud.com/server/releases/latest.tar.bz2

Damit wird automatisch die aktuelle Version von Nextcloud heruntergeladen (Danke für den Tipp in den Kommentaren).

Nach dem Download werden die Dateien nach /var/www/html entpackt. Dies ist das Standardverzeichnis in welchem der Apache Webserver Webseiten erwartet. Beim entpacken wird automatisch das Unterverzeichnis Nextcloud erstellt. Anschließend werden die Dateirechte auf den Benutzer des Apache Webservers geändert, so dass Apache die Dateien lesen und für Updates auch beschreiben darf.

sudo tar -xjvf latest.tar.bz2 -C /var/www/html/
sudo chown -R www-data:www-data /var/www/html/nextcloud

Apache konfigurieren

Nun folgt noch die Konfiguration des Webservers. Für jeden Dienst der über Apache ausgeliefert wird, wird eine sogenannte Virtual-Host unter /etc/apache2/sites-available Konfiguration erstellt. Diese erstellen wir mit dem folgenden Befehl und öffnen die leere Datei anschließend mit dem Texteditor.

sudo touch /etc/apache2/sites-available/001-nextcloud.conf
sudo nano /etc/apache2/sites-available/001-nextcloud.conf

In diese Date wird folgender Inhalt kopiert:

<VirtualHost *:80>
ServerName mimashome.ddns.net

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

Redirect permanent / https://mimashome.ddns.net
</VirtualHost>

<IfModule mod_ssl.c>
SSLStaplingCache shmcb:/tmp/stapling_cache(128000)
<VirtualHost *:443>

ServerName mimashome.ddns.net

DocumentRoot /var/www/html/nextcloud

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# SSL Konfiguration
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/mimashome.ddns.net/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mimashome.ddns.net/privkey.pem
SSLProtocol All -SSLv2 -SSLv3 -TLSv1.1

<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>

#Nextcloud Konfiguration
<Directory /var/www/html/nextcloud/>
Options +FollowSymlinks
AllowOverride All

<IfModule mod_dav.c>
Dav off
</IfModule>

SetEnv HOME /var/www/html/nextcloud
SetEnv HTTP_HOME /var/www/html/nextcloud
</Directory>

</VirtualHost>
</IfModule>

Nun wird die bereits vorhandene Standardseite deaktiviert und dafür unsere neue Nextcloudkonfiguration aktiviert.

sudo a2dissite 000-default.conf
sudo a2ensite 001-nextcloud.conf

Außerdem benötigt Nextcloud noch ein paar weitere Apache Module, die mit diesem Befehl aktiviert werden.

sudo a2enmod ssl rewrite headers env dir mime

Damit alle jetzt vorgenommenen Änderungen aktiviert werden muss der Apache Webserver einmal neu gestartet werden mit

sudo systemctl restart apache2

Nextcloud einrichten

Jetzt kann Nextcloud über den Webbrowser eingerichtet werden. Dazu wird die angelegte Dyndns Adresse über eine verschlüsselte https-Verbindung aufgerufen. https://mimashome.ddns.net.
Hier werden wir bereits von der funktionierenden, aber noch nicht eingerichteten Nextcloud empfangen.

Zuerst müssen wir jedoch im Dateisystem noch ein Verzeichnis anlegen in welches Nextcloud unsere Dateien speichert. In der Standardeinstellung würden diese auf der SystemSSD liegen. Wir wollen aber natürlich dass die Dateien auf unserem sicheren Storage-Raid abgelegt werden. Dazu wird das Verzeichnis zuerst erstellt und anschließend die Rechte so angepasst dass Apache und damit Nextcloud Zugriff bekommen.

sudo mkdir -p /mnt/storage/nextcloud
sudo chown -R www-data:www-data /mnt/storage/nextcloud

Dann werden die Felder auf der Konfigurationsseite ausgefüllt.

  • Benutzername und Passwort können hier frei vergeben werden. Hiermit loggt man sich später in die Nextcloud ein
  • Dateiverzeichnis sollte geändert werden, so dass dieses nicht auf der SystemSSD sondern auf unseren Storage-Raid liegt. In diesem Fall /mnt/storage/nextcloud
  • Datenbank-Benutzer ist nextcloud
  • Datenbank-Password ist das beim Anlegen der Datenbank vergebene Passwort
  • Datenbank-Name ist nextcloud
  • localhost bleibt unverändert, da sich die Datenbank auf dem gleichen Computer befindet.

Mit einem Klick auf Installation abschließen wird Nextcloud eingerichtet und einsatzbereit gemacht.

Nextcloud einrichten

Damit ist Nextcloud grundsätzlich Einsatzbereit. Allerdings haben wir derzeit nur Zugriff auf die Dateien unter /mnt/storage/nextcloud. Daten die wir über die im vorherigen Artikel  angelegt haben sind noch nicht erreichbar.

Dies lösen wir dadurch, dass über die Nextcloud App „external storage support“ die bereits vorhandenen Verzeichnisse eingebunden werden. Damit Nextcloud auch Schreibzugriff auf die Dateien hat, die ja mit dem Benutzer heimnetz erstellt werden und nicht mit dem Benutzer des Webservers, benötigen wir noch die Software smbclient, die wieder über das Terminal installiert werden muss. Damit Nextcloud die Änderung mitbekommt starten wir anschließend den Apache einmal neu.

sudo apt install smbclient
sudo systemctl restart apache2

Zum aktivieren der App in Nextcloud klickt man in der rechten oberen Ecke auf das Symbol mit dem Anfangsbuchstaben des Benutzernamens und anschließend auf Apps.

Bei den Apps findet man unter dem Punkt deaktivierte Apps die App External Storage Support, welche mit einem Klick auf aktivieren verfügbar gemacht wird.

Nextcloud Apps aktivieren

Zum Einbinden der vorhandenen Ordner gehen wir wieder auf das Symbol in der rechten oberen Ecke und anschließend auf Einstellungen. Im linken Bereich findet man verwirrender Weise zwei Punkte mit dem Namen „Externe Speicher„. Zum Einrichten benötigen wir den unteren.

  • Ordnername wird entsprechend der Freigabe benannt. Z.B. lokale Videos
  • Externer Speicher ist SMB/CIFS
  • Authentifizierung ist Benutzername und Passwort
  • Konfiguration:
    Host ist localhost
    Share ist der Name der Freigabe. Z.B. Video
    Entfernter Unterordner bleibt leer
    Domain bleibt ebenfalls leer
    Benutzername ist heimnetz oder heimgast. Je nachdem ob die Dateien mit Schreibrechten (heimnetz) oder aus Sicherheitsgründen nur mit Leserechten (heimgast) eingebunden werden sollen
    Passwort ist das zum Benutzername gehörende Passwort

Ein klick auf den kleinen Haken am Ende des Formularfeldes bindet den Ordner in Nextcloud ein.

Nextcloud mount SMB-Shares

Dies wird für alle Freigaben wiederholt, die in Nextcloud eingebunden werden sollen. Also z.B. Audio, Dokumente…

Anschließend sind die eingebundenen Freigaben über Nextcloud erreichbar.


Homeserver/NAS mit Ubuntu 18.04: Teil 1, Einleitung, Hardware und Kosten
Homeserver/NAS mit Ubuntu 18.04: Teil 2, Systeminstallation
Homeserver/NAS mit Ubuntu 18.04: Teil 3, Grundkonfiguration
Homeserver/NAS mit Ubuntu 18.04: Teil 4, Dateifreigaben im Heimnetz
Homeserver/NAS mit Ubuntu 18.04: Teil 5, Nextcloud
Homeserver/NAS mit Ubuntu 18.04: Teil 6, Media Streaming mit Plex
Homeserver/NAS mit Ubuntu 18.04: Teil 7, Backups mit Duplicati und Rsnapshot


173 Comments

    • Niko

      Danke für das Lob und den Tipp. Das ist wirklich besser. Werde den Artikel entsprechend anpassen.

  1. Hi Niko,
    noch eine Frage zur Systemsicherheit. Der hier gezeigte Daten-Server (NAS) beherbergt die Next-Cloud, hier im Artikel ist die einzige (?) Sicherheitsstufe Username und Passwort oder irre ich mich? Sollte der Server, der nextcloud hostet nicht mit weiteren Massnahmen gehärtet werden? two-factor-authentification und/oder fail2ban… ich weiß nicht, was es noch gibt. Oder wie machst Du das?
    Gruß, Alex

    • Niko

      Klar, du kannst das beliebig ausbauen. Das ist ja der Vorteil von einem selbstkonfigurierten System. Nextcloud bring eine Brute Force Protection mit, die das reihenweise durchprobieren von Passwörtern verhindert. Natürlich kannst du zusätzlich Fail2ban konfigurieren. Two factor authentication ist immer eine gute Idee, birgt aber auch die Gefahr sich selbst auzusperren, wenn man den zweiten Faktor/Handy verliert.
      Wie gesagt, man kann diese Tutorial beliebig ausbauen. Dann ist es aber schnell nicht mehr einsteigerfreundlich.

  2. Wäre es von Vorteil statt die Freigaben über den Ubuntu Server mit einer NAS Software wie OpenMediaVault zu realisieren

    • Niko

      OMV ist ja eine eigenständige Linuxdistribution auf Debian Basis. Du musst also entscheiden ob du OMV oder Ubuntu Server nutzen möchtest.

      • Hallo,
        großartiger Artikel 😉 werde mich voraussichtlich dem so anschließen.
        Aber OMV kann doch einfach „dazu installiert werden“.
        habe auf meinem raspi mit raspbian buster lite auch OMV einfach nachträglich dzauinstalliert.
        oder irre ich mich da (kenn mich mit Linux leider sehr wenig aus 🙁 )
        lg

      • Niko

        Hallo,
        ich kenne OMV auch nur vom Raspberry Pi. Der Installationsprozess hat sich mittlerweile geändert. Früher gab es ein fertiges ISO-Image, jetzt installiert man Raspbian und installiert OMV nachträglich. Dabei installiert OMV einen NGINX-Webserver der auch Port 80 und 443 verwenden möchte. Das beißt sich mit dem hier installierten Apache-Webserver. Natürlich kannst du OMV und Nextcloud parallel installieren. Dafür würde ich zuerst OMV installieren und dann Nextcloud für den NGINX konfigurieren.
        Ich fürchte, OMV „einfach nachinstallieren“ wird nicht funktionieren.
        Gruß
        Niko

  3. Habe eigentlich vor einen kleinen Homeserver mit Proxmox aufzusetzen und dort einige Linux Container und 2-3 VM laufen zu lassen. U.a. Nextcloud, OMV, Asterisk….

    Übrigens: tolle Anleitung, nur das mit Let´s Encrypt werde ich benötigen. Eventl. ein Sef-signed Certificate

    • Anonymous

      Servus Klaus,
      hast du diese Konstellation am laufen?
      Funktioniert das ohne weiteres?

      Thomas

      • micky1067

        Hallo…

        Das würde mich auch interessieren.
        Ich habe nextcloud auf einem Container und omv 5 als nas auf einer VM laufen.. Bekomme aber kein connect.. Möchte das data Verzeichnis auf dem. Nas laufen lassen.

  4. Hi.
    Deine Anleitung ist ganz nett, aber ich habe ein großes Problem. Ich komme nur bis zu dem Punkt, wo Apache fertig konfiguriert wurde und neugestartet wird. Beim Neustarten von Apache kommt das hier:
    stephanj@UbuntuServerSJL:~$ sudo systemctl restart apache2
    Job for apache2.service failed because the control process exited with error code.
    See „systemctl status apache2.service“ and „journalctl -xe“ for details.

    als „systemctl status apache2.service“ kommt das:

    ● apache2.service – The Apache HTTP Server
    Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
    Drop-In: /lib/systemd/system/apache2.service.d
    └─apache2-systemd.conf
    Active: failed (Result: exit-code) since Fri 2018-08-17 18:35:01 CEST; 3min 34s ago
    Process: 29940 ExecStop=/usr/sbin/apachectl stop (code=exited, status=1/FAILURE)
    Process: 29948 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)
    Main PID: 24040 (code=exited, status=0/SUCCESS)

    Aug 17 18:35:01 UbuntuServerSJL systemd[1]: Starting The Apache HTTP Server…
    Aug 17 18:35:01 UbuntuServerSJL apachectl[29948]: AH00526: Syntax error on line 23 of /etc/apache2/sit
    Aug 17 18:35:01 UbuntuServerSJL apachectl[29948]: SSLCertificateFile: file ‚/etc/letsencrypt/live/medi
    Aug 17 18:35:01 UbuntuServerSJL apachectl[29948]: Action ’start‘ failed.
    Aug 17 18:35:01 UbuntuServerSJL apachectl[29948]: The Apache error log may have more information.
    Aug 17 18:35:01 UbuntuServerSJL systemd[1]: apache2.service: Control process exited, code=exited statu
    Aug 17 18:35:01 UbuntuServerSJL systemd[1]: apache2.service: Failed with result ‚exit-code‘.
    Aug 17 18:35:01 UbuntuServerSJL systemd[1]: Failed to start The Apache HTTP Server.

    und als „journalctl -xe“ das:

    Job for apache2.service failed because the control process exited with error code.
    See „systemctl status apache2.service“ and „journalctl -xe“ for details.
    stephanj@UbuntuServerSJL:~$ journalctl -xe
    — Subject: Unit apache2.service has begun start-up
    — Defined-By: systemd
    — Support: http://www.ubuntu.com/support

    — Unit apache2.service has begun starting up.
    Aug 17 18:35:01 UbuntuServerSJL apachectl[29948]: AH00526: Syntax error on line 23 of /etc/apache2/sit
    Aug 17 18:35:01 UbuntuServerSJL apachectl[29948]: SSLCertificateFile: file ‚/etc/letsencrypt/live/medi
    Aug 17 18:35:01 UbuntuServerSJL apachectl[29948]: Action ’start‘ failed.
    Aug 17 18:35:01 UbuntuServerSJL apachectl[29948]: The Apache error log may have more information.
    Aug 17 18:35:01 UbuntuServerSJL systemd[1]: apache2.service: Control process exited, code=exited statu
    Aug 17 18:35:01 UbuntuServerSJL systemd[1]: apache2.service: Failed with result ‚exit-code‘.
    Aug 17 18:35:01 UbuntuServerSJL systemd[1]: Failed to start The Apache HTTP Server.
    — Subject: Unit apache2.service has failed
    — Defined-By: systemd
    — Support: http://www.ubuntu.com/support

    — Unit apache2.service has failed.

    — The result is RESULT.
    Aug 17 18:35:01 UbuntuServerSJL sudo[29937]: pam_unix(sudo:session): session closed for user root
    Aug 17 18:39:01 UbuntuServerSJL CRON[30014]: pam_unix(cron:session): session opened for user root by (
    Aug 17 18:39:01 UbuntuServerSJL CRON[30015]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && if [ !
    Aug 17 18:39:01 UbuntuServerSJL CRON[30014]: pam_unix(cron:session): session closed for user root
    Aug 17 18:39:24 UbuntuServerSJL systemd[1]: Starting Clean php session files…
    — Subject: Unit phpsessionclean.service has begun start-up
    — Defined-By: systemd
    — Support: http://www.ubuntu.com/support

    — Unit phpsessionclean.service has begun starting up.
    Aug 17 18:39:24 UbuntuServerSJL systemd[1]: Started Clean php session files.
    — Subject: Unit phpsessionclean.service has finished start-up
    — Defined-By: systemd
    — Support: http://www.ubuntu.com/support

    — Unit phpsessionclean.service has finished starting up.

    — The start-up result is RESULT.
    Aug 17 18:40:00 UbuntuServerSJL sudo[30096]: stephanj : TTY=pts/0 ; PWD=/home/stephanj ; USER=root ; C
    Aug 17 18:40:00 UbuntuServerSJL sudo[30096]: pam_unix(sudo:session): session opened for user root by s
    Aug 17 18:40:00 UbuntuServerSJL systemd[1]: Starting The Apache HTTP Server…
    — Subject: Unit apache2.service has begun start-up
    — Defined-By: systemd
    — Support: http://www.ubuntu.com/support

    — Unit apache2.service has begun starting up.
    Aug 17 18:40:00 UbuntuServerSJL apachectl[30099]: AH00526: Syntax error on line 23 of /etc/apache2/sit
    Aug 17 18:40:00 UbuntuServerSJL apachectl[30099]: SSLCertificateFile: file ‚/etc/letsencrypt/live/medi
    Aug 17 18:40:00 UbuntuServerSJL apachectl[30099]: Action ’start‘ failed.
    Aug 17 18:40:00 UbuntuServerSJL apachectl[30099]: The Apache error log may have more information.
    Aug 17 18:40:00 UbuntuServerSJL systemd[1]: apache2.service: Control process exited, code=exited statu
    Aug 17 18:40:00 UbuntuServerSJL systemd[1]: apache2.service: Failed with result ‚exit-code‘.
    Aug 17 18:40:00 UbuntuServerSJL systemd[1]: Failed to start The Apache HTTP Server.
    — Subject: Unit apache2.service has failed
    — Defined-By: systemd
    — Support: http://www.ubuntu.com/support

    — Unit apache2.service has failed.

    — The result is RESULT.
    Aug 17 18:40:00 UbuntuServerSJL sudo[30096]: pam_unix(sudo:session): session closed for user root

    Kannst du mir helfen?
    Mfg
    Stephan

    • Niko

      Die entscheidenden Zeilen sind:
      Aug 17 18:35:01 UbuntuServerSJL apachectl[29948]: AH00526: Syntax error on line 23 of /etc/apache2/sit
      Aug 17 18:35:01 UbuntuServerSJL apachectl[29948]: SSLCertificateFile: file ‘/etc/letsencrypt/live/medi
      Die Zeilen sind in deinem Post am Ende abgeschnitten. Man sieht aber dass in Zeile 23 der Konfigurationsdatei ein Syntaxfehler ist, also irgendetwas ist falsch geschrieben. Außerdem ist irgendwas mit dem Zertifikat. evtl. existiert es nicht oder der Pfad ist nicht korrekt.
      Du kannst auch mal schauen was das Error Log unter /var/log/apache2/error.log sagt.

      • Zeile habe ich bearbeitet, jetzt kommt dafür:

        Aug 17 18:53:45 UbuntuServerSJL apachectl[30246]: Action ’start‘ failed.
        Aug 17 18:53:45 UbuntuServerSJL apachectl[30246]: The Apache error log may have more information.
        Aug 17 18:53:45 UbuntuServerSJL systemd[1]: apache2.service: Control process exited, code=exited status=1
        Aug 17 18:53:45 UbuntuServerSJL systemd[1]: apache2.service: Failed with result ‚exit-code‘.
        Aug 17 18:53:45 UbuntuServerSJL systemd[1]: Failed to start The Apache HTTP Server.
        — Subject: Unit apache2.service has failed
        — Defined-By: systemd
        — Support: http://www.ubuntu.com/support

        — Unit apache2.service has failed.

      • Oder auch:

        — Unit apache2.service has begun starting up.
        Aug 17 19:12:16 UbuntuServerSJL apachectl[30466]: Action ’start‘ failed.
        Aug 17 19:12:16 UbuntuServerSJL apachectl[30466]: The Apache error log may have more information.
        Aug 17 19:12:16 UbuntuServerSJL systemd[1]: apache2.service: Control process exited, code=exited status=1
        Aug 17 19:12:16 UbuntuServerSJL systemd[1]: apache2.service: Failed with result ‚exit-code‘.
        Aug 17 19:12:16 UbuntuServerSJL systemd[1]: Failed to start The Apache HTTP Server.
        — Subject: Unit apache2.service has failed
        — Defined-By: systemd
        — Support: http://www.ubuntu.com/support

        — Unit apache2.service has failed.

        — The result is RESULT.
        Aug 17 19:12:16 UbuntuServerSJL sudo[30463]: pam_unix(sudo:session): session closed for user root

        Wenn man das mit sudo macht.

      • Error.log sagt nur das:
        [Fri Aug 17 19:12:16.015997 2018] [ssl:emerg] [pid 30473] AH02572: Failed to configure at least one certificate and key for medienserXXXXXX.ddns.net:443
        [Fri Aug 17 19:12:16.016066 2018] [ssl:emerg] [pid 30473] SSL Library Error: error:140A80B1:SSL routines:SSL_CTX_check_private_key:no certificate assigned
        [Fri Aug 17 19:12:16.016179 2018] [ssl:emerg] [pid 30473] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/error.log for more information
        AH00016: Configuration Failed

        Also kurz zusammengefasst, man soll in /var/log/apache2/error.log nachschauen, um den hinweis zu finden, dass man doch bitte in /var/log/apache2/error.log schauen soll. XD

        Sorry für die vielen Kommentare. 🙂

      • Niko

        Etwas stimmt mit der Konfiguration deiner Zertifikate nicht.
        Hast du das Let’s Encrypt Zertifikat auch vorher erstellt?
        Ansonsten solltest du noch prüfen ob du auch wirklich die Zeilen
        SSLCertificateFile /etc/letsencrypt/live/mimashome.ddns.net/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/mimashome.ddns.net/privkey.pem
        so in der Konfigurationsdatei hast und ob die Pfade auch wirklich korrekt sind. Dann sollte es eigentlich passen.

  5. Genau diese Zeilen waren drin, nur mit meinen dns Angaben. Allerdings hat er rum gemeckert. Ich kann es Ja nochmal versuchen. Mit mimashome, oder mit meinem?

    • Niko

      Mit deinem, sonst kann es nicht klappen.
      Kannst anschließend mit
      cat /etc/letsencrypt/live/mimashome.ddns.net/fullchain.pem
      schauen ob es die Datei auch wirklich gibt. Wenn er dir das Zertifikat anzeigt stimmt auch der Pfad. Ansonsten kommt eine Fehlermeldung

  6. Das hier ist im übrigen die ominöse Zeile 23:
    Aug 17 19:55:01 UbuntuServerSJL apachectl[31393]: SSLCertificateFile: file ‚/etc/letsencrypt/live/medienseXXXXXX.ddns.net/fullchain.pem‘ does not exist or is empty

    • Niko

      Ja, das ist der entscheidende Punkt.
      Du musst zuerst mit Certbot die Let’s Encrypt Zertifikate erstellen.

      • Ist erstellt, es liegt eben nur in /etc/letsencrypt/keys und heißt 0000_key-certbot.pem, dementsprechend müsste ich die Zeile abändern, oder nicht?

      • Niko

        Du musst die Dateinamen natürlich an dein System anpassen. Allerdings solltest Du immer das /etc/letsencrypt/live Verzeichnis nutzen. Deine Schlüsseldatei in /etc/letsencrypt/keys ändert sich bei jeder Erneuerung alle drei Monate. Und dann geht deine Konfiguration wieder kaputt.
        Wenn das „live“ Verzeichnis nicht existiert, dann hat die Erstellung, bzw. Verifizierung des Zertifikats nicht funktioniert.

  7. Das gab es nicht. Das habe ich eben jetzt erstellt. Kann man die Zertifizierung einfach neu starten? beim 1. Mal kam auch die Meldung, habe dann das Betriebssystem neuinstalliert, und kam an der selben Stelle.

    • Niko

      Das Verzeichnis wird automatisch erstellt, wenn Certbot verifizieren kann dass der DynDNS-Name auf deinen Computer verweist. Dein Problem liegt ziemlich sicher nicht am Computer, sondern an der Router-Konfiguration. Entweder ist die Portweiterleitung nicht richtig konfiguriert, oder die Aktualisierung der IP-Adresse über DynDNS funktioniert nicht.

  8. Hi,

    wie kann man den mehrer vhost in Apache2 aktivieren ?
    Gebe ich diesen Befehl ein:
    sudo a2ensite 002-linux-dash.conf u. Apache2 restarte,
    lande immer wieder auf der Nextcloud seite.

    • Hi Zusammen,

      das würde mich auch interessieren. Wie kann ich eine zweite Webseite neben Nextcloud einrichten ?
      @Nico: Bin Deinem spitzen Tutorial gefolgt und kam sofort zum Ziel. Echt genial …
      Hast Du einen Tip oder Link für mich ?
      Ich habe nur eine Domäne und stehe irgendwie auf dem Schlauch, sobald SSL im Spiel ist …

      • Niko

        Da bist du dann im „Fortgeschrittenenkurs“ 🙂 Das lässt sich nicht in zwei Sätzen beantworten.

        1. Ich würde eine zweite (Sub-)Domain anlegen und einen neuen Virtual Host (z.B. /etc/apache2/sites-available/002-zweite-seite.conf) anlegen. Über CNAME-DNS-Einträge kannst du beliebig viele (Sub-)Domains auf deine DynDNS-Domain zeigen lassen [Eigene Domain mit DynDNS-Diensten benutzen]. Somit kannst du mehrere Domains auf deinem Homeserver nutzen, obwohl du eigentlich nur eine DynDNS-Adresse hast. Ist IMHO die schönste und sauberste Lösung, weil alle Projekte getrennt verwaltet werden können und ihre eigenen Internetadressen haben.

        2. Willst du nur eine Domain nutzen, erfolgt die ganze Konfiguration in /etc/apache2/sites-available/001-nextcloud.conf. Dass ich die Config nextcloud.conf genannt habe darf nicht irritieren, eigentlich handelt es sich um die Config für die gesamte Domain (mimashome.ddns.net in diesem Beispiel). Weil das DocumentRoot auf /var/www/html/nextcloud zeigt, wird beim Aufruf der Domain immer die Nextcloud aufgerufen. Du kannst DocumentRoot auch auf /var/www/html setzen und deine zweite Seite unter /var/www/html/seite2 speichern. Dann wäre Nextcloud zukünftig unter mimashome.ddns.net/nextcloud zu erreichen und deine zweite Seite unter mimashome.ddns.net/seite2. Die Konfiguration für beide Projekte machst du in /etc/apache2/sites-available/001-nextcloud.conf. Das wird aber schnell unübersichtlich.

        3. Da Nextcloud mittlerweile die Codeintegrität prüft um Hacks zu erschweren, weiß ich nicht ob dieser Weg funktioniert. Du kannst deine Seite2 unter /var/www/html/nextcloud/seite2 speichern. Dann würdest du Nextcloud nach wie vor über mimashome.ddns.net erreichen. Das zweite Projekt wäre unter mimashome.ddns.net/seite2 zu erreichen.

        Einen Link habe ich leider nicht. Die Konfiguration hängt eben sehr davon ab, was du konkret machen willst.

      • Vielen Dank für Deine schnelle Antwort.

        2. und 3. klappt schon mal.
        Um CNAME-DNS-Einträge zu nutzen habe ich dann mal bind9 installiert.
        Das ging jetzt auf den ersten Blick nicht so schnell zu konfigurieren,
        werde ich mir wohl mal in Ruhe anschauen müssen …

        VG

  9. Moin,

    danke deiner Anleitung habe ich mein Nextcloud am Laufen. Leider kann ich meine Kontakte und mein Kalender nicht mit meinem iPhone, iPad oder Macbook synchronisieren.
    Hast du bei diesem Thema Erfahrung und eine Idee was hier falsch läuft. Es kommt immer die Meldung, dass die Accountüberprüfung fehlgeschlagen ist.

    Danke im Voraus.
    Sven

  10. Ja, habe ich. Leider ohne Erfolg. Ich habe keinen Ansatz was da schief läuft bei CalDav bzw. CardDav. Denn alles andere läuft super.
    Gibt es irgend welche logs, die helfen könnten?

  11. Hallo,

    erstmal danke für die Anleitung. Kann mir jedoch bitte jemand bei folgendem Problem helfen:

    Ich starte die maske von nextcloud und gebe alles entsprechend ein und wenn ich dann die Installation abschließen möchte erhalte ich folgende Nachricht:

    Fehler
    Das Datenverzeichnis /mnt/storage/nextcloud kann nicht erstellt oder es kann darin nicht geschrieben werden.

    Der entsprechende Ordner hat volle lese und schreibrechte von „www-data“

    Bitte um Aufklärung

    • Niko

      Ich denke dass die Fehlermeldung schon korrekt ist. Irgendetwas stimmt mit den Lese-/Schreibrechten des Ordners nicht.
      Vielleicht darf www-data schon gar nicht auf /mnt/storage zugreifen. Prüfe mal ob hier die Rechte auf 0755, bzw. rwxr-xr-x gesetzt sind, so dass alle User auf den Ordner zugreifen dürfen.

  12. Was ich nicht ganz verstehe: Welchen Vorteil hat es, die SMB Shares in Nextcloud als SMB Shares einzubinden anstatt als lokale Shares? Nextcloud und Samba Server befinden sich doch auf dem gleichen Host.

    • Niko

      Um Probleme mit den Lese-/Schreibberechtigungen auf Dateisystemebene zum umgehen, ohne beide Dienste (Samba und Apache) mit dem selben User laufen zu lassen.

      • Ich verstehe, danke für die Antwort! Ich löse das so:
        bindfs –map=heimnetz/root:@heimnetz/@root /media/storage/share /media/storage/ncshare
        Das macht einen fuse mount vom SMB Share /media/storage/share in /media/storage/ncshare und mappt die Berechtigungen, so dass Nextcloud es passt.
        Dadurch kann man Nextcloud den Share mit den richtigen Rechten anbieten.

  13. Ralph Otten

    Hi,
    die Serverhardware konnte ich nach deinen Vorgaben bauen … läuft gut.
    Owncloud hat mir graue Haare gemacht. Ich musste noch den php-smbclient nachinstallieren, damit SMB/CIFS zur Auswahl steht. In der Domäne musste dann noch die Windows-Arbeitsgruppe (workgroup)eingetragen werden. Warum das so ist … vermutlich irgend etwas im Rahmen der Installation durcheinander geraten, da ich mehrmals PHP und Apache installiert habe.

    Danke für die hervorragende Anleitung! Mal sehen was Plex anrichtet 🙂

    • Niko

      Wenn eine neue Nextcloud-Version zur Verfügung steht, wird man förmlich mit Hinweisen zugeballert. Die Smartphone App schickt eine Notification, der Desktopclient meldet die neue Version und in der Weboberfläche erscheint auch ein Hinweis.
      Ich nutze dann den eingebauten Updater über die Weboberfläche. Damit ist das Update praktisch mit einem Klick erledigt.

      • Hallo Niko,

        Danke, die Info reicht mir dann 😉

        Bzgl. Zugriff von außen habe ich eine Ergänzung – habe es hoffentlich bei dir nicht überlesen:

        in der /var/www/html/nextloud/config/conig.php muss der URI eingetragen werden, von dem aus zugegriffen werden darf. sonst erhält man eine entsprechende Fehler-MEldung und es erscheint kein Login-Screen.

        vgl. https://docs.nextcloud.com/server/14/admin_manual/installation/installation_wizard.html#trusted-domains

        Vllt. kannst du das noch mit aufnehmen.

        Ansonsten schonmal schöne Woche!
        Matthias

      • Niko

        Hallo Matthias,
        schön dass Du die Dokumentation liest und nicht einfach nur Befehle kopierst.
        Das manuelle bearbeiten der config.php sollte aber nicht nötig sein. Deine DynDNS-Domain wird automatisch eingetragen, sofern Du das Setup bereits über diese Domain aufrufst. Das ist in der Anleitung der Fall.
        Nur wenn Du die Einrichtung z.B. über http://localhost vornimmst, oder aber die Domain nachträglich änderst, dann musst Du die Domain in die config.php eintragen.
        Wenn man aber nur den Schritten im Tutorial folgt, ist das nicht nötig.
        Gruß
        Niko

  14. Ah, ok, danke. Hab mich in der Tat erst nachträglich entschieden für externen Zugriff. War mir halt noch nicht sicher, ob ich das wirklich möchte 😉

    Tolles Tutorial
    Matthias

  15. Anonymous

    Hallo,
    danke für die super Anleitung.
    Lokal in einer Test-VM hat alles super geklappt.
    Nun wollte ich das Ganze live auf dem Server nachvollziehen und scheitere mit Let’s encrypt, da dort AUSSCHLIESSLICH Port 80 oder 443 akzeptiert werden!
    Dies als Hinweis für alle anderen Nutzer.
    Ich habe einen Server mit mehreren VMs laufen, die über verscheidene Ports von außen erreichbar sind. Dafür muss ich wohl doch selbstsignierte Zertifikate verwenden (ist ja auch NUR für bekannte Nutzer).

    Oder gibt es andere Vorschläge von Euch???
    LG
    Matthias (der Zweite ;-))

  16. Hallo, erstmal super gemachte Anleitung, leider habe ich aber noch ein Problem mit den Umlauten, die kann Nextcloud nämlich nicht. Installiert habe ich Schritt für Schritt nach Deiner Anleitung, auch mit Raid, nur habe ich Raid 0 gemacht, aber das ist ja egal.
    Laut diversen Lösungen sollte man in der php.ini UTF-8 „aktivieren“, dieses ist aber bei mir schon passiert, ohne das ich was ändern mußte.
    ; PHP’s default character set is set to UTF-8.
    ; http://php.net/default-charset
    default_charset = „UTF-8“

    Leider kann ich trotzdem keine Ordner mit Umlauten erstellen, gibt es da noch andere möglichkeiten? Dateien kann ich mit Umlauten erstellen, gerade getestet.

    Danke 🙂

    • Niko

      Tut mir leid dass ich hier nicht helfen kann. Ich setze Nextcloud ein seit es existiert. Dieses Problem ist mir glücklicherweise noch nie begegnet.

      • Hallo,

        ich habe jetzt mal ein wenig getestet, anscheinend hängt das irgendwie auch mit dem dem Minus „-“ zusammen….
        Ich kann z.B. schreiben „Walt Disney – Lustige Taschenbuecher“, aber nicht „Walt Disney – Lustige Taschenbücher“, allerdings kann ich schreiben „Walt Disney = Lustige Taschenbücher“, auch kann ich „Bücher“ oder „Taschenbücher“ schreiben. Aber sobald das „-“ drin ist, geht der Umlaut dort nicht.

        Keine Ahnung warum, vorher hatte ich Nextcloud auf einem Raspberry laufen, da ging das alles, nur der Raspberry war halt sehr sehr gemütlich…

  17. Wolfgang Wirth

    Servus Niko,
    herzlichen Dank für diese hervorragende Anleitung!

    Ich hänge leider an einem Punkt fest:
    System läuft, Samba funktioniert, der Indianer ist da, Nextcloud ist installiert, die 001-nextcloud.conf ist auf meinen Servernamen angepaßt, die Fritzbox erneuert die IPs für meine Domain, die Zertifikate wurden ohne Fehlermeldung erstellt und liegen (verlinkt) im passenden Verzeichnis…

    Bei jedem Aufruf der Website erhalte ich nicht die Startseite der Nextcloud sondern Gemüse der Art

    * @author Joas Schilling * @author Jörn Friedrich Dreyer * @author Lukas Reschke * @author Morris Jobke * @author Robin Appelman * @author Sergio Bertolín * @author Thomas Müller * @author Vincent Petry * * @license AGPL-3.0 * * This code is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License, version 3, * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANT

    usw.

    Dazu finde ich zwar (wenige) Stellen im Web, aber bisher nichts hilfreiches.
    Der Neuaufbau der Maschine hat nichts gebracht.

    Hat jemand eine Idee dazu ?

    Vielen Dank !

    Wolfgang

  18. Anonymous

    bitte ggf. in die Anleitung einpflegen!

    Ich wünsche allen ein schönes Weihnachtsfest und einen guten Rutsch !!

    Wolfgang

    • Niko

      Hallo Wolfgang,
      ich bin die Schritte nochmals in einer VM durchgegangen, obwohl ich die Anleitung mehrfach getestet hatte. Aber manchmal ändern sich Abläufe ja.
      Bei mir funktioniert allerdings alles einwandfrei. Auch die mbstring-Erweiterung von PHP wird im Artikel installiert. Evtl. hattest du diesen Schritt übersprungen.

  19. Wolfgang Wirth

    Hallo Niko,
    danke für die schnelle Reaktion!

    ja, das hab ich auch gesehen daß die Installation von php7.2-mbstrings schon erfolgt ist – bei mir hat aber erst die Installation von dem Pakte php-mbstrings geholfen:

    sudo apt-get install php-mbstring

    Dafür hab ich keine Erklärung …

    Herzlichen Gruß
    Wolfgang

    • Niko

      Hm, das ist wirklich seltsam.
      Dankeschön für die Ergänzung. Evtl. haben andere das Problem auch.
      Gruß
      Niko

  20. Wolfgang Wirth

    gerne. Es reicht aus wenn einer das fertiggrübelt!
    Dir einen schönen Abend!
    Wolfgang

  21. Hallo Niko,

    ich möchte Dir einfach mal Danke sagen, das Problem, welches ich hatte (etwas weiter oben, mit Dateibezeichnung), hat sich erledigt, warum wieso weshalb weiß ich nicht, einmal ging es.
    Dann habe ich jetzt auch endlich mal ein Backup Programm nach Deiner Anleitung installiert, super, daher habe ich mir auch Dein eBook vor ein paar Tagen gekauft, sehr gut gemacht :-).
    Ich habe, nachdem ich mit Deiner Anleitung für Nextcloud, klar kam, auch meinen Plex PC von LinuxMint 18.3 auf Ubuntu Server 18.04 LTS umgestellt, ging wirklich einfach. Auf beiden PCs läuft jetzt Duplicati, sehr geil :-).

    Danke und alles Gute für 2019 🙂

    Gruß
    Andreas

    • Niko

      Hallo Andreas,
      freut mich, dass alles klappt. Vielen Dank für das Lob, das motiviert immer sehr.
      Gruß
      Niko

  22. Ich hänge bei der Installation des Paketes libapache2-mod-php7.2 mit folgender Fehlermeldung:
    Paketlisten werden gelesen… Fertig
    Abhängigkeitsbaum wird aufgebaut.
    Statusinformationen werden eingelesen…. Fertig
    E: Paket libapache2-mod-php7.2 kann nicht gefunden werden.
    E: Mittels des Musters »libapache2-mod-php7.2« konnte kein Paket gefunden werden.
    E: Mittels regulärem Ausdruck »libapache2-mod-php7.2« konnte kein Paket gefunden werden.

    Weiß nicht mehr weiter. Anscheinend ist die Paketliste irgendwie falsch.

    • Anonymous

      vermutlich läuft bei dir schon eine neuere Version zB libapache2-mod-php7.4

  23. Hallo,
    erst einmal vielen Dank für die super Anleitung!
    Leider bekomme ich die Einbindung meines Ordners z.b. Videos nicht hin, ich bin strikt deiner Anleitung gefolgt, wenn ich bei externen Speicher alles eingebe und dann den Hacken aktiviere bekomme ich nur ein rotes Ausrufezeichen!

    • Niko

      Das ist aus der Ferne schwer zu beurteilen. Funktioniert das Einbinden der Freigaben denn an einem anderen PC, über das Netzwerk? Wenn das geht, liegt das Problem bei Nextcloud, bzw. dem Plugin. Wenn das nicht geht, liegt das Problem wahrscheinlich bei Samba.

      • In meinem Finder sind die freigegebenen Ordner zu sehen, wenn ich einen von ihnen anwähle kommt eine Fehlermeldung:Der Vorgang konnte nicht abgeschlossen werden, da das Originalobjekt für „Audio“ nicht gefunden wurde.
        Wahrscheinlich gibt es wohl ein Problem mit Samba.
        Hat jemand einen Tip?

  24. PS:
    Habe mich als user „Heimnetz“ angemeldet und trotzdem kommt diese Fehlermeldung!

  25. Hallo Niko,
    zunächst einmal herzlichen Dank für die Anleitung!
    Mein Server läuft nun schon seit einigen Monaten in einer etwas angepassten Form.
    Was mir derzeit ein wenig Kopfzerbrechen bereitet ist Certbot. Von Let’s Encrypt habe ich eine Mail mit dem Hinweis bekommen, dass ein Update auf die Version 0.28 erforderlich ist, die nicht in den Paketquellen von Ubuntu 18.04 vorhanden ist.
    Ist es sinnvoll hier das PPA von Certbot einzubinden oder gibt es einen anderen, besseren Weg?

    Viele Grüße
    Thomas

    • Niko

      Hallo Thomas,
      ich denke das Certbot PPA ist die einfachste Möglichkeit. Da muss ich auch den Artikel noch aktualisieren, bevor die alte Version Mitte Februar aufhört zu funktionieren.
      Gruß
      Niko

      • Anonymous

        Hallo Niko,
        kurze Rückmeldung:
        Ich habe das PPA installiert und das Update von Certbot auf die Version 0.28 hat problemlos funktioniert.

        Viele Grüße
        Thomas

  26. Anonymous

    Irgendwie lässt sich in Nextcloud bei mir kein SMB Share einrichten mit dem lokalen smb server..

    wie kann dass sein ??

    in den logssteht auch immer ein falscher benutzer da steht nicht heimnetz sondern heimnez ohne t obwohl ich mit t eingetragen habe…

  27. Hallo Niko,

    ich habe mal wieder ein Problem, einige Dateien sind gelocked, wie kann ich die frei machen und löschen?
    Das würde über phpMyadmin funktionieren, somit hatte ich über sudo apt-get install phpmyadmin dieses installiert, ein Passwort für den Zugang vergeben, mich als Nutzer phpmyadmin und dem vergebenen Passwort angemeldet. Allerdings sehe ich die Datenbank nicht. Es wurde wohl eine neue angelegt. Wie kann ich die vorhandene hinzufügen? Oder weißt Du eine andere Option zum unlocken der Dateien?

    Danke schon im voraus.
    Andreas

    • Niko

      Hallo Thomas,
      für den Login bei phpmyadmin musst du die Zugangsdaten der Nextcloud Datenbank nehmen, die du auch beim Setup der Nextcloud angegeben hast.
      Und mach am besten ein Backup der Datenbank bevor du etwas an den Tabellen änderst. Geht auch in phpmyadmin im Menüpunkt „exportieren“.

      • Eigentlich Andreas, aber egal 🙂

        Danke für den Tip, damit hat es geklappt, ich konnte die Dateien mit „DELETE FROM oc_file_locks WHERE 1“ im SQL Eingabefeld freigeben und danach löschen 🙂

        Gruß
        Andy

  28. Niko aus Wien

    Hallo Niko,
    tolle Anleitung mit deinem Homeserver 😉

    Nun bin ich auf der Index – Seite von Nextcloud angekommen. Habe wie oben beschrieben alles eingetragen. Danach kommt die Fehlermeldung:

    Error while trying to create admin user: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [1045] Access denied for user ’nextcloud’@’localhost‘ (using password: YES)

    Ausserdem habe ich eine Frage zu
    „Datenbank-Password ist das beim Anlegen der Datenbank vergebene Passwort“
    Ist das, das Passwort vom Administrator-Konto anlegen?

    • Niko

      Im ersten Schritt musst du das Passwort für die Datenbank eintragen, das im Schritt „Anlegen der Datenbank für Nextcloud“ festgelegt wurde.
      Den Administrator-Account für Nextcloud legst du im nächsten Schritt an, nachdem die Datenbank eingerichtet wurde.

      • Niko aus Wien

        Habe es gerade gesehen.
        Wie kann ich jetzt das Passwort in MariaDB ändern?

  29. Hallo!
    Als erstes, super Tutorial aber das ist man schon aus der alten Version gewohnt 😉
    Hab dennoch eine Frage, warum nimmst du Samba und nicht Webdav?
    Wo sind die Vorteile von Samba?

    Ich frage, weil ich mir vorstellen kann, dass eine Netzwerk-Festplatte, auf die man von überall zugreifen kann ziemlich bequem wäre.

    VG
    Alex

    • Niko

      Hi Alex,
      Samba ist halt der Klassiker. Wird von jedem Betriebssystem unterstützt, von den meisten Backupprogrammen, Kodi…
      Aber Nextcloud bietet ja standardmäßig Webdav Unterstützung. Über https://example.com/remote.php/webdav hast du auch via webdav Zugriff auf deine Freigaben.
      Gruß
      Niko

      • Ach! Schau einer guck! Das ist natürlich eine super Lösung, sonst hätte ich Nextcloud und dann noch extra Webdav über Apache eingerichtet 🙂

        Vielen Dank für die schnelle und hilfreiche Antwort.

        Alex

  30. Hi Niko,
    zuerst mal vielen Dank für das sehr gute Tutorial, dass es tatsächlich auch dem Anfänger möglich macht, zu folgen!
    Eine Frage hätte ich aber:
    Ich kann problemlos von außen auf meine Nextcloud zugreifen, werde jedoch beim Zugriff über die IP innerhalb des Netzwerkes sofort auf die Domain (also meine Äquivalent zu mimashome.ddns.net) umgeleitet, was natürlich im Heimnetzwerk nicht geht; somit kann ich auch von innerhalb nichts administrieren oder später mal per onlyoffice oder so arbeiten.
    Ich vermute, ich könnte das über einen Alias-Eintrag in der 001-nextcloud.conf lösen, oder? Gehe ich ein Sicherheitsrisiko ein, wenn ich von innerhalb und außerhalb meines Netzwerkes auf die Nextcloud zugreife? (Bilde mir ein, mal sowas gelesen zu haben)
    Vielen Dank und beste Grüße!

  31. Anonymous

    Hi Niko,

    wie hast du denn Raid fomartiert. Mit ext4? Wir kommen denn dann die Windows Rechner auf die Shares? Die können doch nur NTFS. Oder habe ich einen Denkfehler?

    Und danke für die tolle Anleitung
    Grüße

    Olaf

    • Niko

      Hallo Olaf,
      dein Windows PC kommuniziert nicht direkt mit den Festplatten (z.B. über die SATA-Schnittstelle), sondern spricht nur mit dem auf dem Homeserver installierten SAMBA-Server (via SMB/CIFS-Protokoll). Der Samba-Server wiederum schreibt auf die Festplatten. Dein Windows hat keine Ahnung mit welchem Dateisystem die Festplatten auf dem Homeserver formatiert sind.

  32. Hallo Niko,

    erstmal großes Lob für das klasse Tutorial! Ich habe alles so aufgesetzt, wie beschrieben, bis auf das RAID, da habe ich nur eine einzelne Platte. Es lief alles, bis ich dann auf die Nextcloud-Seite zum Einrichten bin. Dort habe ich die Angaben genauso eingetragen, wie beschrieben, natürlich mit meinen Usernamen. Aufgefallen ist mir, dass in dem Feld Datenverzeichnis als Voreinstellung /mnt/storage/nextcloud/data stand. Habe das /data dann entfernt und die Installation abgeschlossen. Seither komme ich nicht mehr auf die Seite, kriege die Fehlermeldung 403, Zugriff auf den Server nicht erlaubt. Was kann denn da schiefgegangen sein?

    Gruß
    Martin

    • Niko

      Hallo Martin,
      schau mal in die Logfiles des Apache Webserver unter /var/log/apache2/access.log oder /var/log/apache2/error.log. Da sollte stehen was das Problem ist. Möglicherweise ein Problem mit den Lese-/Schreibrechten des Verzeichnisses.

  33. Hallo Niko,
    im error.log finde ich Meldungen wie „client denied by server configuration: /var/www/html/nextcloud/index.php, referer https://meine.domain.de/„. Im access.log sehe ich Hinweise, dass irgendetwas mit der index.php nicht stimmt. Welcher User muss denn welche Rechte in dem Verzeichnis haben? Ich nehme an es geht um /var/www/html/nextcloud, oder geht es um /mnt/storage/nextcloud?
    Gruß
    Martin

  34. Hallo, ich habe es jetzt hinbekommen, habe einfach die Nextcloud-Dateien nochmal ausgepackt und dann lief es wieder. Allerdings kommt die erste Einstellungsseite nicht mehr hoch und es liegen die Daten jetzt nicht wie ich vorher angegeben hatte unter /mnt/storage/nextcloud sondern doch auf der Systemplatte. Jetzt die Frage, wie kann ich das wieder hinbiegen? In den Einstellungen finde ich keine Möglichkeit, das Verzeichnis umzubiegen, geht dann vermutlich nur direkt auf dem Server übers Terminal?
    Gruß
    Martin

    • Niko

      Nextcloud unterstützt das nachträgliche Verschieben nicht offiziell und es ist auch nicht so einfach möglich. Ich würde das Setup von Nextcloud einfach nochmal neu durchführen. Dazu einfach die Datei /var/www/html/nextcloud/config/config.php löschen. Dann kommt beim Aufruf von Nextcloud im Browser wieder der Einrichtungsassistent.

  35. Hallo, ist jetzt auch gelöst, habe ein howto gefunden und jetzt liegen die Daten auf dem großen Laufwerk. Nochmal danke für das Tutorial und die Hilfe!

  36. Hallo Niko,

    dein e-Book ist super und es hat letzten Endes alles super geklappt. Mir stellt sich obendrein noch die Frage, wie sicher mein lokales System ist? Welche Schritte kann/muss ich denn ggfs. zusätzlich unternehmen, um den Schutz zu erhöhen?

    Gruß

    • Niko

      Hallo Aki,
      einfache Frage, auf die es keine einfache Antwort gibt. Ein Ubuntu-Server ist ja standardmäßig nicht unsicher und müsste erst durch Zusatzsoftware sicher gemacht werden.
      Wie heißt es so schön: „Sicherheit ist kein Zustand. Sicherheit ist ein Prozess“. Dementsprechend die Software immer aktuell halten, besonders das, was aus dem Internet erreichbar ist, wie z.B. Nextcloud. Und das System auf auffälliges Verhalten beobachten. Mit Logwatch kannst du dir beispielsweise Zusammenfassungen von den wichtigsten Logfiles zusenden lassen.

  37. Hallo,

    bei diesen beiden Befehlen
    sudo a2dissite 000-default.conf
    sudo a2ensite 001-nextcloud.conf
    kam der Hinweis, das ich die neue conf noch mit einem entsprechenden Befehl aktivieren müsste! An diesem Punkt war ich mir nicht sicher und habe es übergangen. jetzt finde ich den Befehl nicht mehr und erhalte beim Aufruf der Nextcloud über den Browser die Fehlermeldung:

    Interner Serverfehler

    Der Server konnte die Anfrage nicht fertig stellen.

    Sollte dies erneut auftreten, sende bitte die nachfolgenden technischen Einzelheiten an Deinen Server-Administrator.

    Weitere Details können im Server-Protokoll gefunden werden.
    Technische Details

    könnte es darin liegen, das ich die neue .conf nicht aktiviert hab?

    • Es fehlt auch der pfad /var/www/html/nextcloud/data/ und somit auch /var/www/html/nextcloud/data/nextcloud.log
      ausgelesen aus der Apache2.log

      • Jetzt erhalte ich die richtige Seite, nur..

        Fehler

        Das Datenverzeichnis /media/../../shares/nextcloud kann nicht erstellt oder es kann darin nicht geschrieben werden.

        ich habe das ganze erst mal ohne raid und mit etwas anderen Pfaden erstellt als hier. chmod habe ich für den Ordner nextcloud vergeben, aber gleiche Fehlermeldung! muss ich für die HDD auch schreib rechte einrichten?

      • Niko

        Der Pfad /media/… hört sich sehr nach einer externen Festplatte an, da darf wahrscheinlich nur dein User schreiben. Versuch mal den Eigentümer des Verzeichnisses auf den Webserver zu ändern „sudo chown -R www-data:www-data /media/../../shares/nextcloud

      • www-data ist bereits Besitzer gewesen, daher wundert es mich auch!? Sollte doch dann eigentlich gehen, dachte ich? die zweite HDD ist eig. intern. also per sata.

        dank dir erstmal!

  38. Und danke für deine Mühe eine Top Anleitung zu schreiben!!! Bester Mann

    • Shorty (Need Help pls)

      Nico hilfe, ich bräuchte doch nochmal deine Hilfe bitte ^^
      Ich habe jetzt alles nochmal neu aufgesetzt, lief gleich besser!

      ich bin jetzt bei der Startseite zu Nextcloud nur…
      ich habe eine SSD 120GB und eine WD 3TB! Wie bekomme ich das Verzeichnis wie von dir angegeben auf die 3TB platte so das danach alles läuft?

      Dateiverzeichnis sollte geändert werden, so dass dieses nicht auf der SystemSSD sondern auf unseren Storage-Raid liegt. In diesem Fall /mnt/storage/nextcloud“

      • Niko

        Bei Dateiverzeichnis musst du einfach ein Verzeichnis eingeben das auf deiner 3TB-Platte liegt und nicht auf der SSD. Bei der Konfiguration im Artikel liegt das Verzeichnis /mnt/storage/nextcloud auf den Festplatten und nicht der SSD. Wo deine Festplatte eingebunden ist hast du ja wahrscheinlich beim Setup konfiguriert.

        Ggf. kannst du mit „df -h“ alle eingehängten Dateisysteme anzeigen lassen. Da ist deine Festplatte wahrscheinlich als /dev/sdbX oder ähnlich angegeben und dahinter der Pfad wo die Platte eingebunden ist. Z.B. /media/3TB-Platte. In diesem Fall könntest du /media/3TB-Platte/nextcloud als Dateiverzeichnis verwenden. Wahrscheinlich musst du das Verzeichnis vorher anlegen und dem Benutzer www-data Lese- und Schreibrechte geben.
        Ich hoffe ich habe die Frage richtig verstanden.

      • ich habe unter der 3TB-HDD nun einen Nextcloud Ordner erstellt und per „sudo chown -R www-data:www-data /media/shorty/f37efce3-49bf-41db-902d-c18ada14ab7e/Nexcloud“ sollten doch eigentlich die rechte gesetzt sein, oder welchen Benutzer hast du gemeint?

        unter der Nextcloud Ersteinrichtung erhalte ich das..

        Fehler

        Das Datenverzeichnis /media/shorty/f37efce3-49bf-41db-902d-c18ada14ab7e/Nexcloud kann nicht erstellt oder es kann darin nicht geschrieben werden.

        was mache ich falsch?

        Und dank dir für die super unterstützung! Wirklich erstklassig

      • Niko

        Der Befehl zum setzen der Rechte stimmt. Hast du das Verzeichnis vorher erstellt? Ansonsten „sudo mkdir /media/shorty/f37efce3-49bf-41db-902d-c18ada14ab7e/Nexcloud“ erstellt das Verzeichnis. Dann nochmal deinen Befehl zum setzen der Rechte ausführen.

        Möglicherweise darf der Webserver das Nextcloud-Verzeichnis nicht erstellen, da f37efce3-49bf-41db-902d-c18ada14ab7e dem User Shorty gehört.

      • Ja das Verzeichnis „Nextcloud“ ist da, ich habe per Terminal nochmals „sudo chown -R www-data:www-data /media/shorty/f37efce3-49bf-41db-902d-c18ada14ab7e/Nexcloud“ drübergebügelt. und wenn ich unter eigenschaften die Zugriffsrechte nachschaue steht da „www-data“.

        Es kommt aber die gleiche Fehlermeldung bei der Nextcloud einrichtung! liegts evtl am Browser cache?^^
        muss ich evtl noch andere berechtigungen vergeben?

      • Niko

        Höchstwahrscheinlich darf www-data gar nicht erst in das Verzeichnis /media/shorty/f37efce3-49bf-41db-902d-c18ada14ab7e wechseln weil hier die Zugriffsrechte fehlen. Prüfe mal die Zugriffsrechte bei den übergeordneten Ordnern, also ob mit einem „ls -l“ bei allen drei Gruppen ein X gesetzt ist.

        Du kannst mal ein „sudo chmod a+x /media/shorty/f37efce3-49bf-41db-902d-c18ada14ab7e“ versuchen. Das ist aber schon eine recht weitreichende Erweiterung der Zugriffsrechte.
        Evtl. hilft https://wiki.ubuntuusers.de/chmod/ beim prüfen der Zugriffsrechte weiter.

      • Die Überordner waren alle auf meinen lokalen Benutzer geschlüsselt.
        ich habe allen Überordner die schreib Rechte erteilt und erhalte nun bei der Nextcloud Einrichtung ..
        „Fehler

        Error while trying to create admin user: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user ’nextcloud’@’localhost‘ (using password: YES) “

        ;O)

      • ok läuft, danke dir nochmal für deine Zeit Niko!!!
        bei letztem Fehler lag es an dem Befehl „GRANT ALL ON nextcloud.* TO ’nextcloud’@’localhost‘ IDENTIFIED BY ‚password‘ WITH GRANT OPTION;“ bei dem ich vergessen hatte mein Passwort anzugeben anstatt „password“

        Vielen Dank

  39. Hallo Nico,

    auch ich möchte mich herzlich für die Super-Anleitung für Anfänger*innen bedanken. Es hat super geklappt – auch mit SATA-Festplatte. Dummerweise hatte ich bei der Maria DB (10.1.40) nicht aufgepasst + das Passwort „password“vergeben“. Das musste ich natürlich noch kitten. Die Seite https://websiteforstudents.com/how-to-change-mysql-mariadb-user-passwords-on-ubuntu-16-04-18-04/ war dafür super. Vielleicht sind ja auch andere so schusselig …
    Vielen Dank noch mal + ich verlinke das Tutorial demnächst auf meinem Blog mit. Es ist echt klasse!!!
    Herzliche Grüße Yuyun

  40. Hallo Nico,

    bei meiner Nextcloud (16.0.3.0) erscheinen 2 unklärbare Sicherheits- & Einrichtungswarnungen:

    Meldung 01: „Die PHP-Speichergrenze liegt unterhalb des empfohlenen Wertes von 512MB.“
    Ich habe alles so angelegt, wie Du es im Tutorial vorgeschlagen hast + es läuft :).
    Wie kann ich jetzt den PHP-Speicher erhöhen???

    Meldung 02: „Es wurde kein PHP-Memory-Cache konfiguriert. Zur Erhöhung der Leistungsfähigkeit kann ein Memory-Cache konfiguriert werden.“ Es gibt laut Nextcloud-Doku 3 Optionen für einen Memory-Cache https://docs.nextcloud.com/server/16/admin_manual/installation/server_tuning.html / kannst Du einen empfehlen?
    und wie lässt sich das einfach konfigurieren?

    Vielen Dank im Voraus & Herzliche Grüße

    YuYun

    • Niko

      Hallo YuYun,
      freut mich dass alles funktioniert. Bei den Meldungen handelt es sich ja nicht um Fehler, sondern eher um Optimierungsmöglichkeiten. Das wird dann schnell zu komplex für die Anleitung. Darum kann man sich dann kümmern wenn alles läuft, so wie bei dir.

      Zu 01: Das Speicherlimit kannst du in der Konfigurationsdatei von PHP unter /etc/php/7.2/apache2/php.conf bei memory_limit anpassen. Einfach den Wert auf 512M ändern und dann den Apache neu starten.

      Zu 02: Ich verwende APCu als Memory Cache und Redis für File locking. Bringt meiner Meinung nach eine spürbaren Geschwindigkeitsvorteil. Beide Programme kann man aus den Paketquellen installieren. Bei Redis ggf. noch ein Passwort vergeben.
      Mein Eintrag in der config.php von Nextcloud sieht dann folgendermaßen aus:

      'memcache.local' => '\\OC\\Memcache\\APCu',
      'memcache.locking' => '\\OC\\Memcache\\Redis',
      'redis' =>
      array (
      'host' => '/var/run/redis/redis.sock',
      'port' => 0,
      'password' => 'PASSWORD',
      'timeout' => 1.5,
      ),

  41. Hallo Nico,

    vielen für Deine schnelle Antwort + die Tipps + den Eintrag. Die Installation von Redis war nicht einfach für eine echte Anfängerin. Nach viel Hin- und Her und Aufregung, weil die Cloud plötzlich weg war, hat’s geklappt – ohne Passwort + timeout. Das passenste Script, was ich gefunden habe, war das:
    ‚memcache.local‘ => ‚\\OC\\Memcache\\APCu‘,
    ‚memcache.locking‘ => ‚\\OC\\Memcache\\Redis‘,
    ‚filelocking.enabled‘ => ‚true‘,
    ‚redis‘ =>
    array (
    ‚host‘ => ‚/var/run/redis/redis.sock‘,
    ‚port‘ => 0,
    ‚timeout‘ => 0.0,
    ),
    Jetzt ist alles perfekt.
    Unglaublich wie viel sich bei so einer Installation über Ubuntu etc. lernen lässt.

    Ganz herzlichen Dank noch mal!!

    YuYun

  42. die Webseite funktioniert nicht.
    Die Website ist nicht erreichbarDie Server-IP-Adresse von mimashome.ddns.org wurde nicht gefunden.
    DNS_PROBE_FINISHED_NXDOMAIN

    • Niko

      Natürlich nicht, das ist ein Beispiel. Du musst deine eigene Domain nehmen.

  43. Mit deiner Anleitung habe ich mich getraut in das Thema reinzuspringen, vielen Dank erstmal dazu.
    Ich würde gerne meine Nextcloud als zentrale Stelle für meine Dateien haben und dann auf die Ordner (bspw. Dokumente oder Fotos) meines Nextcloud-Benutzer über Samba bzw. Plex zugreifen.
    Damit Nextcloud auf die Daten zugreifen kann, werden die Rechte des Datenordner auf www-data:www-data gesetzt. Wenn ich nun Benutzer der Gruppe www-data hinzufüge, hat trotzdem nur www-data Zugriff.
    Könntest du mir einen Tipp geben, wie man dies bewerkstelligen könnte?

    • Niko

      Kann ich von hier aus auch nicht sagen, irgendwas scheint mit den Zugriffsrechten nicht zu passen. Eigentlich sollte es klappen, sofern du mit Samba und Plex nur Lesezugriff willst.
      Ansonsten glaube ich nicht dass du das Problem über die Zugriffsrechte gelöst bekommst, da Dateien immer noch mit unterschiedlichen Usern erstellt werden und die Gruppe standardmäßig nur Leserechte hat. Samba kannst du mit „force user“ in der smb.conf zwingen als anderer User zu schreiben. Oder du lässt den Apache-, Samba- und Plexprozess alle mit dem selben User laufen. Das kannst du in den jeweiligen Konfigurationen einstellen.

      • Danke für deine Antwort. Das Problem lag darin, dass www-data neue Dateien in den Nextcloudordnern der Gruppe keine Schreibrechte gegeben hat. Man hätte das über setfacl lösen können aber ich versuche, so wenig wie möglich im System zu verändern.
        Mein Lösungsansatz ist jetzt, dass ich www-data als Samba-User erstelle. Damit kann ich die Nextcloudordner mittels Samba im Netzwerk freigeben. Indem ich www-data ls force-user eintrage, werden neue Dateien mit den richtigen Rechten ausgestattet. Über einen Cronjob (files:can) lasse ich direkt über Samba hochgeladene Dateien indizieren. Damit werden Dateien von Nextcloud verwaltet.
        Siehst du ein Nachteil in diesem Vorgehen? Bzw. würde für dich etwas dagegen sprechen es so zu machen?

      • Niko

        Schön dass du eine Lösung gefunden hast. Wie so oft gibt es viele Wege die ans Ziel führen. Wenn es so für dich funktioniert, spricht auch nichts dagegen das Setup so zu nutzen.

  44. Vielen Dank für das Tutorial!
    Alles hat funktioniert bis auf einmal, dazwischen lag afaik nur ein apt-get upgrade, Nextcloud meldet, dass

    „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 schon viel recherchiert und die apache2.conf mit „AllowOverride All“ angepasst, aber wir haben hier ja eine eigene conf Datei? In jedem Fall hat das nicht geholfen. Die „001-nextcloud.conf“ sieht nach wie vor aus wie hier beschrieben, die SSL Letxencrypt Verbindung funktioniert ebenfalls.

    Hat jemand eine Idee was man machen kann, denn Nextcloud hat leider recht, man kommt aktuell einfach so auf meine Dateien.

    Vielen Dank im Voraus!

    • Ich habe eine Lösung gefunden, in der Apache 001-nextcloud.conf habe ich in den nextcloud Settings zwei Optionen aus kommentiert

      Von

      Options +FollowSymlinks
      AllowOverride All

      In

      #Options +FollowSymlinks
      #AllowOverride All

      Danach wird die htaccess wieder verwendet. Warum es vorher ging verstehe ich jedoch immer noch nicht. Anscheinend gab es ein Apache Update?

      • Bzw. ich stelle gerade fest, da ich den Code von diesem Tutorial für meinen Kommentar genutzt habe und nicht der eigentlichen aus der conf Datei, dass ich in meiner Datei ein “Allowoverrride none” stehen hatte, welchen ich auskommenentiert habe. Insofern ein klassischer Userfehler, meine Kommentare könnt ihr gerne löschen.

  45. Hallo Niko,
    erst auch einmal ein dickes Dankeschön für diese großartige Anleitung! Nextcloud ist online super erreichbar und mit Samba funktioniert der Zugriff auf den Speicher einwandfrei.
    Das einzige Problem ist, dass die Einbindung der Samba-Freigaben in Nextcloud nicht funktionieren. Ich bekomme einfach ein rotes Ausrufezeichen anstelle eines grünen Hakens, ohne dass ich das Problem finden kann. Ich habe sehr genau der Anleitung gefolgt; sogar 3x, weil das mein dritter Anlauf ist und es immer daran hakt.
    Hast du vielleicht eine Idee, wie man diesen Fehler finden kann? Eine Fehlermeldung finde ich nicht.
    Vielen Dank!

  46. Anonymous

    Hey Niko,
    vielen vielen Dank für die Anleitung 🙂
    Dennoch ergab sich bei mir ein Problem.
    Das Einbinden der externen Ordner per Nextcloud und Samba funktioniert bei mir leider kein Stück.
    Ich gehe genau nach deiner Anleitung vor, allerdings passiert folgendes, sobald ich den Haken zum hinzufügen eines neuen Ordners setzte.
    Es erscheint vor dem Ordnernamen ein rotes Ausrufezeichen.
    Sonst nichts, keine Fehlermeldung und nichts….
    Im Netz habe ich leider auch keine sinnvollen Beiträge gefunden.
    Es würde mich sehr freuen, wenn du oder jemand anders mit evtl. einen Rat geben könnte, was da los ist.

    Vielen Dank

    Smoke

  47. Niko

    Hallo Michel und Smoke,
    da ich die ganze Woche nicht zu Hause bin kann ich leider nicht viel testen. Habe das Ganze aber gerade in einer virtuellen Maschine probiert und habe das Problem ebenfalls. Leider weiß ich auch nicht was neuerdings das Problem ist und Nextcloud scheint hierzu auch nichts zu loggen.

    Als Workaround auf die Schnelle bleibt wohl nur die Ordner nicht via SMB, sondern als lokalen Speicher in Nextcloud einzubinden. Allerdings hat dann Nextcloud nur Lesezugriff. Und wenn Nextcloud Schreibberechtigung bekommt, dann werden Dateien mit unterschiedlichen Usern erstellt, was ebenfalls zu Chaos führt.

    Eine Quick-and-dirty-Lösung wäre die Shares mit bindfs für Nextcloud mit dem user www-data zu mounten. Dann könnte man die Ordner als lokalen Speicher in Nextcloud einbinden, Nextcloud hätte Schreibzugriff und trotzdem würden alle Daten mit dem lokalen User heimnetz geschrieben. Siehe https://www.techgrube.de/tutorials/zugriffsrechte-auf-gemeinsame-dateien-fuer-mehrere-user-mit-bindfs-festlegen

    Alternativ kann man auch den Apache mit dem User heimnetz anstatt www-data laufen lassen. Ist aber auch unschön.
    Eine bessere Lösung fällt mir auf die Schnelle leider auch nicht ein, da ich im Moment nicht wirklich weiß was das Problem ist.

    • Anonymous

      Vielen Dank für deine schnelle Antwort.

      Tatsächlich bin ich ein Linux-Anfänger und habe leider keinen Plan, wie ich deinen Vorschlag mit bindfs umsetzen soll.
      Evtl. hast du die nächste Woche Zeit, um der Sache auf den Grund zu gehen, oder aber das mit bindfs zu erklären.

      Gruß Smoke

      • Es gab für Nextcloud vor wenigen Tagen ein Update auf die Version 17.0.1, da kommt auch das Problem her:
        https://github.com/nextcloud/server/issues/17846
        Ich habe versucht eine ältere Version (die 16.0.6) herunterzuladen und zu installieren, aber Nextcloud lässt mich nicht ohne ein Update auf die aktuelle Version auf die Website.
        Ich glaube, da muss man auf ein offizielles Update warten. Da dieses Problem schon gepinnt wurde, wird es hoffentlich nicht all zu lange dauern

    • Hallo nochmal,
      ich versuche mich gerade mit der Einbindung per bindfs. Ich verstehe aber nicht wirklich, was ich da machen muss ich tappe da im Dunkeln. Der Plan ist doch, dass ich den Nextcloud-Datenordner im Ordner /mnt/storage/shares mounte, wobei der Nutzer www-data mit den Rechten von heimnetz arbeitet, oder? Wo ist mein Denkfehler mit diesem Befehl?
      $ bindfs#/mnt/storage/shares /mnt/storage/nextcloud fuse force-user=www-data,force-group=www-data,create-for-user=heimnetz,create-for-group=heimnetz,chgrp-ignore,chown-ignore,chmod-ignore 0 0
      (soll das überhaupt ein Befehl sein? Oder soll das irgendwo in eine Datei geschrieben werden? Die Fehlermeldung „-bash: bindfs#/mnt/storage/shares: Datei oder Verzeichnis nicht gefunden“ lässt mich das zumindest vermuten)

      • Niko

        Der Eintrag muss in die Datei /etc/fstab. Ich würde auch nicht den Nextcloud-Datenordner direkt verwenden, da dort ja wahrscheinlich schon Daten liegen, sondern einen Ordner unterhalb. Z.B. /mnt/storage/nextcloud/samba.

    • Es funktioniert! Also beides 🙂
      Vielen Dank für den langen Support, den du schon für diese Anleitung leistest!

  48. Hallo. Ich habe Nextcloud nach deiner Anleitung eingerichtet und es funktioniert auch sehr gut. Heute wollte ich ein Update auf die 17.0.1 machen über das Terminal, bekomme jedoch jedesmal folgende Fehlermeldung:

    [✘] Check for expected files failed
    The following extra files have been found:
    .rnd

    Update failed. To resume or retry just execute the updater again.

    Was soll ich tun?

  49. Habe die .rnd Datei gelöscht und Update läuft. Kann die Frage leider nicht mehr löschen 🙂

  50. Stiefelriemen-Bill

    Hallo, ich stehe vor einem kleinen Problem,
    Ich habe Ihre Anleitung soweit zu 100% befolgt, nun bin ich an dem Punkt, die Ordner Für die Externen Speicher zu erstellen. Problem ist das ein unbekannter Fehler auftaucht, und nur ein rotes Ausrufezeichen auf der linken Seite auftaucht. Screenshot hier: https://ibb.co/cbfJKCd in den logs würde nur das hier auftauchen: {„reqId“:“2nwPtDuU7Kl35gkd5FS9″,“level“:3,“time“:“2019-11-22T21:17:42+00:00″,“remoteAddr“:“XX.XXX.XXX.XX“,“user“:“Stephan-Admin“,“app“:“index“,“method“:“GET“,“url“:“\/index.php\/apps\/theming\/img\/core\/filetypes\/video.svg?v=0″,“message“:{„Exception“:“OCP\\Files\\NotPermittedException“,“Message“:“Could not create folder“,“Code“:0,“Trace“:[{„file“:“\/var\/www\/html\/nextcloud\/lib\/private\/Files\/AppData\/AppData.php“,“line“:155,“function“:“newFolder“,“class“:“OC\\Files\\Node\\Folder“,“type“:“->“,“args“:[„0“]},{„file“:“\/var\/www\/html\/nextcloud\/apps\/theming\/lib\/ImageManager.php“,“line“:155,“function“:“newFolder“,“class“:“OC\\Files\\AppData\\AppData“,“type“:“->“,“args“:[„0“]},{„file“:“\/var\/www\/html\/nextcloud\/apps\/theming\/lib\/ImageManager.php“,“line“:170,“function“:“getCacheFolder“,“class“:“OCA\\Theming\\ImageManager“,“type“:“->“,“args“:[]},{„file“:“\/var\/www\/html\/nextcloud\/apps\/theming\/lib\/Controller\/IconController.php“,“line“:87,“function“:“getCachedImage“,“class“:“OCA\\Theming\\ImageManager“,“type“:“->“,“args“:[„icon-core-filetypes_video.svg“]},{„file“:“\/var\/www\/html\/nextcloud\/lib\/private\/AppFramework\/Http\/Dispatcher.php“,“line“:170,“function“:“getThemedIcon“,“class“:“OCA\\Theming\\Controller\\IconController“,“type“:“->“,“args“:[„core“,“filetypes\/video.svg“]},{„file“:“\/var\/www\/html\/nextcloud\/lib\/private\/AppFramework\/Http\/Dispatcher.php“,“line“:99,“function“:“executeController“,“class“:“OC\\AppFramework\\Http\\Dispatcher“,“type“:“->“,“args“:[{„__class__“:“OCA\\Theming\\Controller\\IconController“},“getThemedIcon“]},{„file“:“\/var\/www\/html\/nextcloud\/lib\/private\/AppFramework\/App.php“,“line“:126,“function“:“dispatch“,“class“:“OC\\AppFramework\\Http\\Dispatcher“,“type“:“->“,“args“:[{„__class__“:“OCA\\Theming\\Controller\\IconController“},“getThemedIcon“]},{„file“:“\/var\/www\/html\/nextcloud\/lib\/private\/AppFramework\/Routing\/RouteActionHandler.php“,“line“:47,“function“:“main“,“class“:“OC\\AppFramework\\App“,“type“:“::“,“args“:[„OCA\\Theming\\Controller\\IconController“,“getThemedIcon“,{„__class__“:“OC\\AppFramework\\DependencyInjection\\DIContainer“},{„app“:“core“,“image“:“filetypes\/video.svg“,“_route“:“theming.Icon.getThemedIcon“}]},{„function“:“__invoke“,“class“:“OC\\AppFramework\\Routing\\RouteActionHandler“,“type“:“->“,“args“:[{„app“:“core“,“image“:“filetypes\/video.svg“,“_route“:“theming.Icon.getThemedIcon“}]},{„file“:“\/var\/www\/html\/nextcloud\/lib\/private\/Route\/Router.php“,“line“:297,“function“:“call_user_func“,“args“:[{„__class__“:“OC\\AppFramework\\Routing\\RouteActionHandler“},{„app“:“core“,“image“:“filetypes\/video.svg“,“_route“:“theming.Icon.getThemedIcon“}]},{„file“:“\/var\/www\/html\/nextcloud\/lib\/base.php“,“line“:1000,“function“:“match“,“class“:“OC\\Route\\Router“,“type“:“->“,“args“:[„\/apps\/theming\/img\/core\/filetypes\/video.svg“]},{„file“:“\/var\/www\/html\/nextcloud\/index.php“,“line“:42,“function“:“handleRequest“,“class“:“OC“,“type“:“::“,“args“:[]}],“File“:“\/var\/www\/html\/nextcloud\/lib\/private\/Files\/Node\/Folder.php“,“Line“:162,“CustomMessage“:“–„},“userAgent“:“Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/78.0.3904.108 Safari\/537.36″,“version“:“17.0.1.1″}
    Womit ich soweit auch nichts anfangen kann. gibt es da irgendetwas, dass ich doch übersehen habe, oder worin könnte die Macke liegen?
    MfG

  51. Hbae nach dem Schritt mit der Appache Konfiguration leider keinen Zugriff mehr über die *.ddns.net adresse mehr. Naütrlich habe ich diese auf meine eigene abgändert.

    Im Browser kommt Zeitüberschreitung. Beim Aufruf über die IP komme ich auf Nextcloud. Jm. eine Idee?

    Achso, vor dem laden der Config war ein aufruf der Appache default Seite möglich über *.ddns.net.

    • Niko

      Das kann dann eigentlich kaum an der Serverkonfiguration liegen, wenn der Aufruf über die IP-Adresse weiterhin funktioniert.
      Klingt eher so, als wäre bei der ddns-Adresse nicht mehr die korrekte IP-Adresse hinterlegt.

  52. Anonymous

    Hallo Niko!

    Leider komme ich nur bis hierher: „sudo certbot –apache certonly“

    Ab dann gehts nicht weiter, egal was ich tue, ich bekomme nicht die Zertifizierung.

    In der Fritzbox ist alles eingerichtet, über die „meineadresse“.dynv6.net ist auch alles richtig, von
    außen kann ich auch darauf zugreifen.

    Ich bekomme diesen Ausdruck:

    Saving debug log to /var/log/letsencrypt/letsencrypt.log
    Plugins selected: Authenticator apache, Installer apache
    Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
    No names were found in your configuration files. Please enter in your domain
    name(s) (comma and/or space separated) (Enter ‚c‘ to cancel): xxxxxxxxxx.dnyv6.net
    Obtaining a new certificate
    Performing the following challenges:
    http-01 challenge for xxxxxxxxxx.dnyv6.net
    Enabled Apache rewrite module
    Waiting for verification…
    Cleaning up challenges
    Failed authorization procedure. xxxxxxxxxx.dnyv6.net (http-01): urn:ietf:params:acme:error:dns :: DNS problem: NXDOMAIN looking up A for xxxxxxxxxx.dnyv6.net

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

    Domain: xxxxxxxxxx.dnyv6.net
    Type: None
    Detail: DNS problem: NXDOMAIN looking up A for
    xxxxxxxxxx.dnyv6.net

    Den richtigen Namen habe ich natürlich mit xxxxxxxxx ersetzt.

    Ich würde mich auch nicht als Anfänger bezeichnen, aber scheint wohl doch etwas komplizierter zu sein das Ganze.

    🙁

    Würde mich freuen, wenn da mal ein Update gibt, denn sonst scheint ja die Anleitung im Großen und Ganzen ziemlich gut zu sein.

    Besten Grüße,

    Volkan

  53. Niko

    DNS problem: NXDOMAIN looking up A for xxxxxxxxxx.dnyv6.net. Certbot sucht einen A-Record, also eine IPv4 Adresse für xxxxxxxxxx.dnyv6.net und findet keine. Das Problem muss also schon irgendwo in deiner DynDNS-Konfiguration liegen.

  54. Anonymous

    Hallo,

    das war ja eine superschnelle Antwort, echt Respekt, hätte ich auf ein Samstag nicht gedacht.

    Also, bin jetzt das ganze Wochenende hier am versuchen, aber leider mit mässig Erfolg.

    Auf „localhost“ Ebene läuft Nextcloud, aber mehr bekomme ich nicht hin.

    Da fehlt einfach die Verbindung nach draussen.

    Fritzbox ist eingerichtet, Port 80 und 443 alles OK

    Auf dnyv6 werden die A und AAAA als richtig angezeigt.

    Langsam vergeht einem die Lust, aber ich gib mir noch ein Ruck und versuche noch einges aus.

    Schöne Grüße um knapp 2 Uhr an einem Sonntag!

  55. Hallo Niko!

    Der Volkan nochmal hier!!! SUPER ANLEITUNG!

    Endlich klappt auch bei mir hier alles gut! Das Problem war wirklich die richtigen Einstellungen von meiner Kombination Laptop->VirtualBox->Fritzbox->meinname.ddns.net
    Als alles richtig konfiguriert war, war der Rest ein Kinderspiel (dank dir).
    :-))))
    Wochenende ist dafür drauf gegangen, aber es läuft !!!!!

    Super Sache was du hier machst (auch wenn ich erst skeptisch war)
    😉

    Besten Grüße aus OWL

    Volkan

  56. Hallo Niko
    Nochmal ich. Ich hatte gestern schon auf Seite 2 nachgefragt.
    Da ich aber ungeduldig bin, habe ich gestern deine Anleitung durchgearbeitet und siehe da…. Zugriff vom Windows PC über Samba läuft, und Zugriff vom iPhone genauso wie vom lokalen PC, als auch von außerhalb übers Internet auf Nextcloud funktioniert.
    Aber alles nur Dank DEINER SUPER ANLEITUNG!!!
    Nochmals Danke dafür!!!
    Also gleich mal 2 Ordner erstellt (Bilder, Musik) und auf der Konsole geschaut, ob sie auch wirklich da sind… 😉
    Dann wollte ich schlau sein, habe meine externe HD direkt an den Server gehängt, gemountet, die beiden Ordner in /media/hd/nextcloud/roland/files wieder gelöscht und die gleichnamigen, jedoch mit Dateien gefüllten Ordner mit Bilder und Musik dorthin kopiert.
    Leider sind über die Weboberfläche von Nextcloud die beiden Ordner leer.
    Wie kann ich NC dazu bringen, die Dateien in diesen Ordnern anzuzeigen?
    Ich habe gelesen, das NC das nachträgliche Verschieben von Ordnern nicht unterstütz, aber in meinem Fall tausche ich ja quasi nur 2 leere gegen 2 volle Ordner aus.
    Gibt es da eine Möglichkeit oder ist es einfacher, NC über meinen Windows PC aufzurufen und die Dateien und Verzeichnisse „offiziell“ hochzuladen? Bei knapp 500GB dauert das nun mal etwas länger….

    Gruß
    Roland

  57. Anonymous

    Hallo Niko
    …und die, die sich für die Antwort interessieren…
    Ich habe es installiert und uTorrent funktioniert genauso wie auch alles andere noch. Also kein Problem.
    Hab jetzt nur noch ein Problem damit, dass utorrent nicht automatisch mit reboot des Servers startet.
    Gruß
    Roland

  58. Ich versuche derzeit nach Deiner Anleitung Nextcloud auf Lubuntu 18.04.03 zu installieren, komme aber nicht weiter. Die Installationen von MariaDB, Letsencrypt und Apache2 liefen (fast) einwandfrei.
    Nur auf der ersten Anmeldeseite von Nextcloud bekomme ich immer den Fehler SQLSTATE[HY000] [1045] Access denied for user ‚oc_michael’@’localhost‘ (using password: YES)
    Als Admin wollte ich „michael“ mit PW ‚irgendwas‘ angeben.
    Wie geht es weiter?

  59. Anonymous

    Ich bin beim Suchen nach einer Anleitung für ein NAS-System auf deine schöne Anleitung gestoßen.
    Leider war der zweite gefundene Sucheintrag (https:// die-deutschland-luege.de/linux-home-server-erstellen/der-eigene-server/homeserver-nas-mit-ubuntu-18-04-teil-5-nextcloud) eine dreiste Kopie/ versteckte Verlinkung auf deinen Artikel.

    Gerade mit Blick auf die URL besonders ärgerlich, tut mir Leid für deine schöne Artikelreihe.

  60. Anonymous

    Hallo Niko,
    Deine Anleitung finde ich super.

    Leider hatte ich dann doch ein paar Probleme, deren Behebung etwas länger dauerte, weil meine Linux-Erfahrung bis 12/2019 zurück reicht und die Foren wenig Hilfe bieten (jedenfalls dann, wenn man wenig Englisch versteht). Ich verwende als Grundlage Ubuntu 18.04.03 (Stand Dez. 2019). Diese Version installiert PHP 7.4. Nextcloud benötigt jedoch 7.1, 7.2 oder am Besten 7.3. Dies erfuhr ich also erst durch eine Fehlermeldung, als ich mit „sudo -u www-data php occ user:add –display-name=“Voller Name“ [–group=“…“] username“ versuchte einen neuen Benutzer anzulegen. Erst nach Korrektur von PHP7.4 auf PHP7.3 funktionierte nextcloud so wie ich es erwartet habe.

    Vielleicht ist es hilfreich, wenn Du Deine Anleitung genau um die beiden Punkte Kontrolle und Anpassung der PHP-Version und certbot-auto (siehe 16.1.2020) ergänzen würdest.

    Ansonsten HERZLICHEN DANK für die Anleitung.
    LG Michael

    • Niko

      Hallo Michael,
      ich kann das leider nicht nachvollziehen. Hast du irgendwelche zusätzlichen Paketquellen hinzugefügt?
      In den offiziellen Paketquellen von Ubuntu 18.04.3 ist nur PHP 7.2 verfügbar, damit funktioniert alles wie im Beitrag beschrieben. Selbst das aktuellste Ubuntu 19.10 installiert nur PHP 7.3 aus den offiziellen Paketquellen.
      Gruß
      Niko

  61. Anonymous

    Ich bin jetzt fast fertig -danke schonmal für die Anleitung- aber beim letzten großen Schritt komm ich absolut nicht weiter. Ich habe alle Schritte befolgt und trotzdem kommt auf meiner Domain nicht der NextCloud Screen, sondern nur die Apache2 Ubuntu Default Page. Kann mir jemand Abhilfe schaffen?

    • Niko

      Rufst du Nextcloud im Browser über https auf? Nur da ist konfiguriert, dass Nextcloud direkt aufgerufen wird. Wenn du unverschlüsseltes http verwendest musst du das erst konfigurieren, oder du probierst http://deinedomain.com/nextcloud.

      • Anonymous

        Dank dem letzten Tipp hat es geklappt. Danke für alles!

  62. Anonymous

    Hallo, danke für die Anleitung, sie hilft echt weiter. Leider stehe ich vor einem Problem mit der HTTP01-Challenge bei der Erstellung des Letsencrypt-Zertifikats, die läuft einfach in einen Timeout:

    Domain: xxx.yyy.zzz
    Type: connection
    Detail: Fetching
    http://xxx.yyy.zzz/.well-known/acme-challenge/IzsmeuN36CWrWhJXBSnHpZcszyoNKajPQTLAFhw8JZU:
    Timeout during connect (likely firewall problem)

    Die Ports 80 und 443 sind freigegeben und mein Server ist über die ddns-Adresse sowohl über IPv6 als auch IPv4 auf beiden Ports erreichbar, aber es will einfach nicht funktionieren. Hier mal ein Auszug aus curl:

    curl -IkL -m20 http://xxx.yyy.zzz
    HTTP/1.1 200 OK
    Date: Sat, 15 Feb 2020 21:40:47 GMT
    Server: Apache/2.4.29 (Ubuntu)
    Last-Modified: Sat, 15 Feb 2020 20:27:05 GMT
    ETag: „2aa6-59ea3253c849e“
    Accept-Ranges: bytes
    Content-Length: 10918
    Vary: Accept-Encoding
    Content-Type: text/html

    Muss ich da noch irgendwas im Apache konfigurieren, damit die Ausstellung des Zertifikats funktioniert? Habe ich irgendwelche Zugriffsrechte verdaddelt? Oder werde ich hier tatsächlich von meinem ISP ausgebremst? Das kann ich aber kaum glauben, denn ich kann auf die Apache-Testseite über HTTP (und damit Port 80) über DDNS-Adresse zugreifen.

    Danke schonmal 🙂

    • Anonymous

      Ich nochmal – das Thema hat sich inzwischen erledigt. Die IPv6 Interface-ID, die sich die FritzBox automatisch gezogen hatte, war schlichteg falsch. Jetzt läuft alles 🙂

  63. Hallo Niko,
    auch hier nochmal eine Dankeschön für die tolle Anleitung,

    bei Nextcloud habe ich ein Problem mit neuen Nutzern und dem ausblenden/sperren von den lokalen Ordnern.

    Hintergrund wäre der , das ich für unseren Verein gerne Nextcloud auf meinem Homeserver/NAS nutzen möchte, hier aber einen eigenen Vereinsordner ertstellen und freigeben, das mit dem Ordner Verein klappt, nur hat der Benutzer Vorstand auch Zugriff auf alle lokalen Ordner, die sollen aber gesperrt sein 😉
    Über die Nextcloud Hilfe bzw. Forum bin ich da nicht weitergekommen 🙁
    lg Alex

    • Niko

      Hallo Alex,
      das sollte funktionieren, wenn du die User unterschiedlichen Gruppen zuordnest. Beispielsweise könntest du eine Gruppe „mitglieder“ anlegen. Die Benutzer der Vereinsmitglieder gehören zur Gruppe „mitglieder“, der User des Vorstands aber nicht.
      Dann teilst du einen Order über das Sharing-Menü mit der Gruppe. Alle Angehörigen der Gruppe können den Ordner dann sehen und verwenden. Der User des Vorstands aber nicht, da er nicht Teil der Gruppe ist.
      Eine andere Lösung fällt mir nicht ein.
      Gruß
      Niko

  64. habs gefunden hatte am falschen Platz gesucht.
    unter Einstellungen / Verwaltung / externer Speicher hab ich ganz rechts unter „verfügbar für“ keinen Benutzer eingetragen gehabt, somit war das für alle, jetzt steht da nur noch mein Benutzername drin und jetzt ist nur noch der neue Ordner für den Verein zu sehen 😉
    MIt Benutzer gruppen und soweiter hatte ich schon alles probiert, da wren die Ordner für die Gruppen und IMMER die lokalen Ordener zu sehen.

    lg Alex

  65. Hey!

    Erstmal: Top Beitrag! Hat bis dato ziemlich gut geklappt.

    Mein Problem bis hier:

    Ich Konfiguriere die sites-av conf 001.. mit meinem ServerName, die weiterleitung hab ich rausgenommen..trotzdem:
    Bei Firefox „localhost“ leitet mich immer auf techgrube.de xD ist zwar auch nett, jedoch für mich aktuell nicht zielführend xD
    Eine Idee?

    Scheine ein Problem mit dem DNS zu haben, weil ich *server.name.de* nicht auflösen kann und die Anfrage sagt: Ladefehler..

    Danke schonmal!!

  66. Eines der besten Anleitungen die ich gelesen habe.
    Hat alles super funktioniert.
    Vielleicht noch ein Tipp: Die Datei 001-nextcloud.conf muss natürlich mit eigenen Infos befüllt werden 😉

    Viele Grüße und weiter so
    Rfahren

  67. Hallo Niko,

    ich verstehe die Dialoge mit bindfs und fuse mount leider nicht. Könntest du die bitte nochmal für Anfänger erklären?

    Toller Bog.

    VG
    Timo

    • Niko

      Der Bug in Nextcloud wurde ja behoben, so dass sich das Thema eh erledigt hat. Außer du interessierst dich direkt für bindfs.
      Mit bindfs kann man einen Ordner an einer anderen Stelle im Dateisystem mounten. Dabei kann man auch den User bestimmen, mit dem geschrieben wird. Egal welcher User tatsächlich schreibt.
      Z.B. schreibt der User www-data von Nextcloud eine Datei. Über bindfs wird diese aber tatsächlich mit dem User heimnetz auf die Festplatte geschrieben, ohne dass Nextcloud davon etwas mitbekommt.

  68. Hallo Niko,
    moin zusammen,
    zunächst von mir auch ein dickes Lob und Dankeschön für diese Reihe. Es hat sehr viel Spaß gemacht bis hier hin.

    Vielleicht hat der ein oder andere auch das folgende Problem, kennt eine Lösung oder kann einen Ansatz anbieten:

    Ich habe bis zur Einrichtung von Nextcloud nahezu 1:1 umgesetzt was hier beschrieben wurde. Als Router liegt eine Easybox vor. Eine Domain habe ich mir von Strato gegönnt.

    Vom Handynetzt habe ich keine Probleme den Server per MeineDomain.de zu erreichen. Wenn ich das gleiche aber aus meinem Heimnetzwerk versuche, bekomme ich eine Zeitüberschreitung.
    Die Ordernfreigaben sind kein Problem, lediglich der Zugriff über die Domain will nicht funktionieren.

    Hast du oder hat jemand eine Idee, warum das Problem nur auftritt, wenn ich mich im gleichen Netztwerk, wie der Server befinde, aber von extern ohne Probleme Zugriff habe?
    Für Ideen wäre ich sehr dankbar.
    Gruß
    Simon

    • Korrektur: Easybox war früher mal. Speedport W723V heißt der aktuelle Router.
      Zu diesem ist die Verbindung übrigens über speedport.ip auch nicht immer optimal.

      • Niko

        Klingt so, als könne der Router kein NAT-Loopback. Also eine Verbindung vom Heimnetz ins Internet und wieder zurück ins Heimnetz. Wenn es das ist, würde nur ein Firmware-Update oder ein neuer Router helfen.

      • Eine kurze Recherche hat ergeben: du hast höchst wahrscheinlich Recht. Es sieht so aus, als unterstützt das besagte Modell kein Nat-Loopback.
        Es ist auf jeden Fall schon mal beruhigend, dass die Installationen ansonsten alle gut funktioniert haben. Werde mir nochmal durch den Kopf gehen lassen, ob dieser kleine Makel einen neuen Router rechtfertigt, oder ob ich erstmal damit leben kann.
        Danke nochmal für die saubere Anleitung und auch für das schnelle Feedback. 10 Daumen hoch.

  69. Hey Niko,

    Danke erstmal für die super Ableitung 🙂
    Hat alles super geklappt und bisher auch ohne Einwände funktioniert.

    Leider ist meine Nextcloud seit ein paar Tagen per App (iPhone) nicht mehr erreichbar und wirft mir Meldungen für „Zeitüberschreitung der Anforderung“ sowie „keine Berechtigung zum ändern oder erstellen von Ordner/Dateien“ aus. Beim Versuch einer Neuanmeldung hat sich der Anmeldevorgang nach Eingabe des Servernamens Doof und Dämlich geladen bis zur Zeitüberschreitung :/
    Bin etwas ratlos; ich habe kurz zuvor ein Nextcloud Update durchgeführt und habe den Verdacht, dass dies damit im Zusammenhang stehen könnte.

    Hattest du schon einmal ein solche Problem oder vielleicht einen Verdacht woran es liegen könnte?

    Gruß,
    Marc

  70. Hallo Niko,
    vielen Dank für die Anleitung, hat mir bereits beim Aufsetzen meiner NAS super geholfen. Inzwischen ist mir allerdings die SSD mit dem Betriebssystem gestorben und ich musste neu aufsetzen. Bei Nextcloud habe ich jetzt leider einen Fehler gemacht indem ich vergessen habe, den Pfad für die Daten anzupassen, d.h. die Daten werden jetzt in /var/www gespeichter. Kann ich das irgendwo nachträglich nochmal anpassen?
    Vielen Dank nochmal!

    • Niko

      Hallo Dieter,
      der Pfad zum Datenverzeichnis steht in der Konfigurationsdatei unter /var/www/html/nextcloud/config/config.php. Ich denke, dass du dort den Pfad einfach ändern kannst, ich habe das aber selber nicht getestet.

      • danke für die schnelle Antwort – hat zwar auf den ersten Blick funktioniert, die Synchronisation will dann aber nicht mehr… Also doch nochmal neu aufsetzen.

  71. Anonymous

    Hallo Niko,

    ich schließe mich den vielen Danksagungen an und freu mich, dass die Umsetzung so gut geklappt hat, nach dieser genialen Anleitung.
    Ich würde die Nextcloud auch gerne dazu nutzen Links freizugeben. Gehe ich recht in der Annahme, dass dies durch die SMB-Freigaben aber nicht geht? Nextcloud erlaubt bei mir nur interne Freigaben.
    Gibt es eine Möglichkeit diesen Dienst trotzdem zu nutzen?

    Vielen Dank und Grüße, Andreas

    • Niko

      Hallo Andreas,
      anscheinend können für Dateien die über das Externe-Speicher-Plugin eingebunden sind wirklich keine externen Freigaben erstellt werden. Ich verwende das Plugin und die darüber eingebundenen SMB-Freigaben ja, um Problemen mit den Dateiberechtigungen aus dem Weg zu gehen, wenn manche Dateien über die SMB-Freigaben und andere über Nextcloud erstellt werden.
      Du kannst natürlich auch deine Verzeichnisse direkt als Datenverzeichnis in Nextcloud einbinden, hast dann halt Berechtigungsprobleme, wenn eine Datei über Samba erstellt wird. Gibt natürlich auch wieder Ansätze das zu lösen. Webserver und Samba-Server mit dem gleichen User laufen lassen, Dateirechte regelmäßig durch ein Skript anpassen, ACLs eventuell, alles auch nicht perfekt.
      Du kannst eventuell auch komplett auf Samba verzichten und am Computer via Nextcloud und Webdav auf die Ordner zugreifen. Ist halt deutlich langsamer als Samba.
      Die perfekte Lösung habe ich leider nicht. Je nachdem welche Anforderungen man hat ist der eine, oder der andere Weg sinnvoller.

  72. Hallo Niko,

    ich danke für die schnelle Antwort. Das habe ich mir auch schon gedacht. So wie es jetzt läuft ist es ja eigentlich eine gute Lösung. Die Samba-Freigabe ist sehr schnell und wir belasten unsere Internetverbindung nicht so sehr, leider befinden wir uns noch in einem nicht so gut ausgebauten Netz. Die Cloud nutzen wir um mit mobilen Geräten Bilder und Aufmaße hochzuladen. Wir haben bisher über Webdav und die Nextcloud App auf die Daten zugegriffen. Ich habe mich aber jetzt für Deine Lösung entschieden, wegen des schlechten Internetzugangs. Wir werden uns was anderes einfallen lassen. Vielen Dank und Grüße, Andreas

  73. Hey Niko, danke für den wunderbaren Guide. Seit langer Zeit läuft der Server ohne Fehler, heute wollte ich dann endlich mal Nextcloud installieren. Das klappt soweit, allerdings taucht immer die FritzBox Login Seite auf, anstatt der Nextcloud Seite. Ich finde den Fehler einfach nicht. Eine Idee?

    Grüße
    Aki

    • Niko

      Hm, schwer zu sagen. Nutzt du DynDNS oder MyFritz mit IPv6? Dann hat die Fritzbox eine andere IPv6-Adresse als der Homeserver. Dann muss in dort die IPv6-Adresse des Homeservers eingetragen sein, nicht die der FritzBox.
      Über IPv4 solltest du eigentlich nicht auf der Fritzbox landen, sofern Port 80 und 443 für den Homeserver freigegeben sind.

  74. Danke für deine Antwort. Ich konnte das Problem mkttlerweile eingrenzen. Der Zugriff klappt nur aus dem lokalen Net nichtz, auch das Zertifkat nicht. Hier lande ich immer bei der FritzBox Seite, mit einer unsicheren Verbindung.

    Versuch ich es vom Handy mit mobilen Daten, klappt alles einwandfrei und so wie es soll.

  75. Hi Nico,
    Auch ich bedanke mich ganz herzlich für die tolle Anleitung. Ich habe aus einem alten PC jetzt einen Ubuntu Server mit Nextcloud eingerichtet.
    3 Festplatten
    1. OS
    2. SMB Freigeben media (/mnt/media) mit Filmen
    3. smb user (/mnt/storage/shares/user) für SMB
    … und Daten der Nextcloud (/mnt/storage/nextcloud)

    Nextcloud funktioniert wunderbar, ich habe bloß nicht die SNAP Version genommen, sondern (wie bei der Version 18.04 beschrieben) Nextcloud manuell eingerichtet um das External-Storage-Plugin zu verwenden.
    Jetzt würde ich gerne das Speichermedium (/mnt/media) einbinden über External-Storage-Plugin. (SMB/CIF?)
    Was muss ich denn wo eingeben?
    Host : lokale IP Adresse?
    Share: /mnt/media?
    Entfernter Unterordner: ?
    Domain ?
    Benutzer: smb medien-Benutzer?
    Passwort: smb medien-Passwort?

    Kannst Du helfen?
    Viele Grüße
    Michael