NextCloud installieren – Komplette Installation inkl. Fix der “Probleme”

Mit dieser Ausführlichen Anleitung bist DU in der Lage, einen komplett frischen Linux-Server mit einer NextCloud Instanz auszustatten und die im Anschluss noch offenen “Probleme” oder ehr Punkte zu beheben.

Dies ist eine “Code abkopieren und abschicken”-Anleitung. Viel denken muss man nicht. Lediglich einige Zeilen sollten auf deine Gegebenheiten angepasst werden, damit die Instanz sicher ist und auch am Ende alles funktioniert.




 

Was werden wir machen?

  1. Den Linux-Server mit allen notwendigen Paketen ausstatten
  2. Ein Webserver installieren >> Nginx
  3. Ein SQL-Server installieren und einrichten>> MySQL / MariaDB
  4. Die aktuellste PHP-Version installieren (Zu Tutorialerstellund war Version 7.3 aktuell!)
  5. OPTIONAL: Den Server via SSL / HTTPS absichern
  6. nginx-Config anlegen und anpassen
  7. NextCloud herunterladen und installieren
  8. Offene Punkte noch fixen

Was brauchen wir dafür?

  • Ein Linux-Server (Egal ob vServer, Root-Server, Dedicated Server oder Raspberry Pi)
  • Vollen SSH-Zugriff (Root-Account)
  • Vielleicht die ein oder andere Linux-Kentniss 😉

Ich empfehle diese Anleitung auf einem frischen Linux-Server umzusetzen. Damit entstehen weniger Probleme. Du kannst aber gerne diese Anleitung auch auf deinem aktuellen Server umsetzen, musst aber ggf. weitere Anpassungen vornehmen oder musst einige Dinge nicht umsetzen.

Alles startklar? Dann legen wir los!




1. Alle notwendigen Pakete installieren

Dieser Schritt kann ggf. übersprungen werden, wenn du bereits passende Tools installiert hast und dich mit diesen Vertraut gemacht hast.

# apt update && apt upgrade
# apt install htop iftop nano unzip zip -y

2. nginx installieren

# apt install nginx

Mehr ist es nicht.

3. Den SQL-Server installieren

Wir installieren hier nun MySQL bzw. MariaDB und sichern die Instanz ab.
Anschließend legen wir einen Account für NextCloud an.

# apt install mariadb-server mariadb-client

Installation absichern:
ACHTUNG: zwischen secure und installation muss das Leerzeichen gegen ein Unterstrich ersetzt werden!

# mysql_secure installation
Set root password? [Y/n] y
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

5x mit Y für YES bestätigen und 1x ein Root-Passwort setzten. Das wars.

Nun legen wir einen Account für NextCloud an.
Vergebe daher ein neues SICHERES Passwort bei “PASSWORT-HIER-EINTRAGEN”.
Jede Zeile ist ein ganzer Befehl und muss so abgeschickt werden!

# mysql -u root -p
# CREATE DATABASE nextcloud;
# CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'PASSWORT-HIER-EINTRAGEN';
# GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY 'PASSWORT-HIER-EINTRAGEN' WITH GRANT OPTION;
# FLUSH PRIVILEGES;
# EXIT;

Wer die Befehle und ihre Auswirkung kennt, kann den Datenbanknamen oder den Nutzernamen auch gerne anpassen.

4. PHP installieren

Hinweis: Bei der Erstellung dieser Anleitung war PHP7.4 aktuell. Je nach dem wann du diese Anleitung liest, gibt es eine neuere Version! Passe in dem Fall einfach die Nummer der Pakete an 😉

Falls PHP in der aktuellen Version nicht vorhanden ist, fügen wir zuerst die aktuellen Paketquellen hinzu.
Daher einfach folgende Befehle abschicken:

# sudo apt -y install lsb-release apt-transport-https ca-certificates
# sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
# echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
# sudo apt update && sudo apt upgrade

So, nun können wir problemlos PHP installieren.

# apt install php7.4-fpm php7.4-mbstring php7.4-bcmath php7.4-gmp php7.4-xmlrpc php7.4-soap php7.4-apcu php7.4-smbclient php7.4-ldap php7.4-redis php7.4-gd php7.4-xml php7.4-intl php7.4-json php7.4-imagick php7.4-mysql php7.4-cli php7.4-ldap php7.4-zip php7.4-curl redis-server

5. OPTIONAL: HTTPS-Zertifikat erstellen (Lets Encrypt)




Dieser Schritt ist optional, wenn du deine NextCloud-Instanz nur Zuhause hostest und kein Zugriff über das Internet möglich ist. Stellst du deine Instanz aber im Internet zur Verfügung, solltest du diesen Schritt dringend durchführen! Eine Doamin ist zwingend Erforderlich für diesen Schritt!
(Falls du keine hast, hol dir eine kostenlose .tk .gq … Doamin bei Freenom.)

Passe hier nur ledeglich deine Domain an.

# apt install certbot python3-certbot-nginx
# service nginx stop
# certbot certonly -d domain.de -d www.domain.de

Bei Abfrage ob der Certbot einen temporären Webserver erstellen soll, drücke die Taste 1!

6. nginx-Config anlegen und anpassen

Hier gibt es zwei Vorlagen. Die erste ist OHNE HTTPS, die zweite ist MIT HTTPS!
Für Installationen die im Internet zur Verfügung stehen, ist dringen die zweite Empfohlen!

# nano /etc/nginx/sites-available/nextcloud

OHNE HTTPS:

server {
    listen 80;
    listen [::]:80;
    root /var/www/nextcloud;
    index  index.php index.html index.htm;
    server_name  DEINE-DOMAIN.de WWW.DEINE-DOMAIN.DE ODER DEINE IP;

    client_max_body_size 512M;
    fastcgi_buffers 64 4K;

    location / {
        rewrite ^ /index.php$uri;
    }

    location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
        return 404;
    }
    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
        return 404;
    }

    location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        fastcgi_pass      unix:/var/run/php/php7.4-fpm.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;
    }

    location ^~ /.well-known {
        location = /.well-known/carddav     { return 301 /remote.php/dav/; }
        location = /.well-known/caldav      { return 301 /remote.php/dav/; }
        location ^~ /.well-known            { return 301 /index.php$uri; }
        try_files $uri $uri/ =404;
    }

    location ~ \.css {
    add_header  Content-Type    text/css;
    }

    location ~ \.js {
    add_header  Content-Type    application/x-javascript;
    }


    location ~ ^/(?:updater|ocs-provider)(?:$|/) {
        try_files $uri $uri/ =404;
        index index.php;
    }

    location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {
        try_files $uri /index.php$uri$is_args$args;
        access_log off;
    }

}

MIT HTTPS:

server {
    listen 80;
    listen [::]:80;
    server_name deine-domain.de www.deine-domain.de;
    access_log  /var/log/nginx/nextcloud.access.log;
    error_log   /var/log/nginx/nextcloud.error.log;
    # enforce https
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    access_log  /var/log/nginx/nextcloud.access.log;
    error_log   /var/log/nginx/nextcloud.error.log;
    server_name DEINE-DOMAIN.DE WWW.DEINE-DOMAIN.DE;

    root /var/www/nextcloud;

    client_max_body_size 512M;
    fastcgi_buffers 64 4K;

    add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";

    location ^~ /.well-known {
        location = /.well-known/carddav     { return 301 /remote.php/dav/; }
        location = /.well-known/caldav      { return 301 /remote.php/dav/; }
        location ^~ /.well-known            { return 301 /index.php$uri; }
        try_files $uri $uri/ =404;
    }
	
   location / {
        rewrite ^ /index.php$uri;
    }

    location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
        return 404;
    }
    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
        return 404;
    }

    location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        fastcgi_pass      unix:/var/run/php/php7.4-fpm.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;
		fastcgi_read_timeout 300;
    }


    location ~ \.css {
    add_header  Content-Type    text/css;
    }

    location ~ \.js {
    add_header  Content-Type    application/x-javascript;
    }


    location ~ ^/(?:updater|ocs-provider)(?:$|/) {
        try_files $uri $uri/ =404;
        index index.php;
    }

    location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {
        try_files $uri /index.php$uri$is_args$args;
        access_log off;
    }

    ssl_certificate /etc/letsencrypt/live/deine-domain.de/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/deine-domain.de/privkey.pem; # managed by Certbot
}

MIT HTTPS FÜR DIE VERWENDUNG VON NEXTCLOUD OFFICE:
Falls du NextCloud Office nutzen willst, verwende diese Konfiguration!

upstream php-handler {
    server unix:/var/run/php/php8.0-fpm.sock;
}

server {
    listen 80;
    listen [::]:80;
    server_name deine-domain.de www.deine-domain.de;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name deine-domain.de www.deine-domain.de;

    root /var/www/nextcloud;
    index index.php index.html /index.php$request_uri;

    server_tokens off;
    ssl_certificate /etc/letsencrypt/live/deine-domain.de/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/deine-domain.de/privkey.pem;

    add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
    client_max_body_size 512M;
    fastcgi_buffers 64 4K;

    gzip on;
    gzip_vary on;
    gzip_comp_level 4;
    gzip_min_length 256;
    gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
    gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bm>

    add_header Referrer-Policy                      "no-referrer"   always;
    add_header X-Content-Type-Options               "nosniff"       always;
    add_header X-Download-Options                   "noopen"        always;
    add_header X-Frame-Options                      "SAMEORIGIN"    always;
    add_header X-Permitted-Cross-Domain-Policies    "none"          always;
    add_header X-Robots-Tag                         "none"          always;
    add_header X-XSS-Protection                     "1; mode=block" always;
    fastcgi_hide_header X-Powered-By;

    location = / {
        if ( $http_user_agent ~ ^DavClnt ) {
            return 302 /remote.php/webdav/$is_args$args;
        }
    }

    location ^~ /.well-known {
        location = /.well-known/carddav     { return 301 /remote.php/dav/; }
        location = /.well-known/caldav      { return 301 /remote.php/dav/; }
        location ^~ /.well-known            { return 301 /index.php$uri; }
        try_files $uri $uri/ =404;
    }

    location ~ \.php(?:$|/) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        set $path_info $fastcgi_path_info;
        try_files $fastcgi_script_name =404;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $path_info;
        fastcgi_param HTTPS on;
        fastcgi_param modHeadersAvailable true;
        fastcgi_param front_controller_active true;
        fastcgi_pass php-handler;
        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;
    }

    location ~ \.(?:css|js|svg|gif)$ {
        try_files $uri /index.php$request_uri;
        expires 6M;         # Cache-Control policy borrowed from `.htaccess`
        access_log off;     # Optional: Don't log access to assets
    }

    location ~ \.woff2?$ {
        try_files $uri /index.php$request_uri;
        expires 7d;         # Cache-Control policy borrowed from `.htaccess`
        access_log off;     # Optional: Don't log access to assets
    }

    location / {
        try_files $uri $uri/ /index.php$request_uri;
    }
	
	location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/)  { return 404; }
    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console)              { return 404; }
	
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }
}

Welche Werte müssen geändert werden?
server_name => Trage hier deine Domain ein. Bei der HTTP-Variante reicht auch z.B. die IP-Adresse. (Beispiel: server_name cloud.deine-domain.de)
fastcgi_pass => Pass hier die php-Version an. Das Beispiel nutzt php7.4!
ssl_certificate + ssl_certificate_key => Ersetze hier deine-domain.de durch deine Domain!

Nun setzen wir die Config aktiv und starten nginx wieder

# ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/
# systemctl restart nginx.service

Es darf nun kein Fehler auftreten. Findet er das Zertifikat nicht, weil das Erstellen nicht funktionierte, versuche erneut ein Zertifikat zu erstellen.

7. NextCloud installieren

Wir installieren NextCloud in das Root-Verzeichnis des Webservers. Wer einen anderen Pfad nutzen möchte, kann das tun, muss aber dann die Vorlagen gründlich anpassen!
Öffne die Webseite von NextCloud, damit du gleich den korrekten Link abkopieren kannst >> NextCloud.com

# cd /home/user
# wget https://download.nextcloud.com/server/releases/nextcloud-AKTUELLE-VERSION-HIER-EINTRAGEN.zip
# unzip nextcloud-AKTUELLE-VERSION-HIER-EINTRAGEN.zip
# mv nextcloud /var/www/
# chown -R www-data:www-data /var/www/nextcloud/

Nun können wir zum ersten mal NextCloud im Browser aufrufen.
Also einen Browser öffnen und entweder die IP-Adresse des Servers eingeben oder eben eure Domain.

Wir müssen nun folgende Daten angeben:

  • Administratorkonto: Benutzername + SICHERES Kennwort
  • Datenverzeichnis: Falls nicht das Standardverzeichnis genutzt werden soll, kann der Pfad angepasst werden. Benutzer www-data muss aber im neuen Verzeichnis Lese + Schreibrechte haben!
  • Datenbankbenutzer: nextclouduser
  • Datenbankpasswort: Das von dir gewählte Passwort aus Schritt 3
  • Datenbank: nextcloud

Ganz unten kann noch ein Haken gesetzt werden, das die üblichen Apps installiert werden. Das kann man machen, muss man aber nicht.
Dann einen beherzten Klick auf “Installation abschließen” und dem Server ein paar Sekunden Zeit geben.

FERTIG!

NextCloud ist nun installiert und kann verwendet werden!

Doch Halt! Es geht weiter! Nach einer Kaffeepause 😉

8. Offene Punkte noch fixen

Nach einer einfachen Installation werden warscheinlich folgende “Fehler” und “Warnungen” angezeigt werden:

PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv("PATH") liefert nur eine leere Antwort zurück. Bitte die Installationsdokumentation ↗ auf Hinweise zur PHP-Konfiguration durchlesen sowie die PHP-Konfiguration Deines Servers überprüfen, insbesondere dann, wenn PHP-FPM eingesetzt wird.
Die PHP-Speichergrenze liegt unterhalb des empfohlenen Wertes von 512MB.
Der HTTP-Header "Strict-Transport-Security" ist nicht auf mindestens 15552000 Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den Sicherheitshinweisen erläutert ist.
Dein Web-Server ist nicht richtig eingerichtet um "/.well-known/caldav" aufzulösen. Weitere Informationen findest Du in der Dokumentation.
Dein Web-Server ist nicht richtig eingerichtet um "/.well-known/carddav" aufzulösen. Weitere Informationen findest Du in der Dokumentation.
Es wurde kein PHP-Memory-Cache konfiguriert. Zur Erhöhung der Leistungsfähigkeit kann ein Memory-Cache konfiguriert werden. Weitere Informationen findest Du in der Dokumentation.
Bei einigen Spalten in der Datenbank fehlt eine Konvertierung in big int. Aufgrund der Tatsache, dass das Ändern von Spaltentypen bei großen Tabellen einige Zeit dauern kann, wurden sie nicht automatisch geändert. Durch Ausführen von "occ db:convert-filecache-bigint" können diese ausstehenden Änderungen manuell übernommen werden. Diese Operation muss ausgeführt werden, während die Instanz offline ist. Weitere Einzelheiten findest Du auf der zugehörigen Dokumentationsseite.

    mounts.storage_id
    mounts.root_id
    mounts.mount_id

Solltest du kein HTTPS verwenden, wird auch deswegenein weiterer “Fehler” bzw. eine “Warnung” angezeigt.
Diese können mit wenig Aufwand behoben werden. Damit läuft NextCloud ein Stück flotter und besser.
ACHTUNG: Achtet auf die korrekte PHP-Version!!! Das Beispiel hier ist mit php7.4!

Folgende Datei öffnen:

# nano /etc/php/7.4/fpm/php.ini

Sucht nach dem Wert “cgi.fix_pathinfo“, entfernt davor das ; und setzt den Wert auf 0 (Standardgemäß ist er auf 1)

cgi.fix_pathinfo=0

Und das Memory_Limit können wir auch noch erhöhen.

memory_limit = 1024M

Alles zwischen 512MB und 1GB ist ok. Falls du nur 1GB RAM im System hast, setzte das Limit auf maximal 700MB.

Öffnet nun folgende Datei:
ACHTUNG: Achtet auf die korrekte PHP-Version!!! Das Beispiel hier ist mit php7.4!

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

Entfernt nun bei folgenden Werten überall das ; !
Es muss dann so aussehen:

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

Startet PHP nun neu:
ACHTUNG: Achtet auf die korrekte PHP-Version!!! Das Beispiel hier ist mit php7.4!

# /etc/init.d/php7.4-fpm restart

Als nächstes müssen wir die Datenbank noch anpassen.

# mysql -u root -p

Schicke nun folgende Befehle ab:

use nextcloud;
set global innodb_large_prefix=on;
set global innodb_file_format=Barracuda;
EXIT

Starte nun den Datebankserver neu oder (am besten gleich) den ganzen Server.
Reboot tud gut!

Wieder anmelden:

# mysql -u root -p

Folgenden Befehl abschicken:

ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
EXIT

Als nächstes soll NextCloud die Datenbank für sich selbst noch einmal anpassen:
Passe ggf. den Pfad zur NextCloud-Installation an!

# sudo -u www-data php /var/www/nextcloud/occ config:system:set mysql.utf8mb4 --type boolean --value="true"
# sudo -u www-data php /var/www/nextcloud/occ maintenance:repair
# sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices
# sudo -u www-data php /var/www/nextcloud/occ db:convert-filecache-bigint
# sudo -u www-data php /var/www/nextcloud/occ db:convert-filecache-bigint

Zum Schluss aktivieren wir noch den lokalen Cache.
Füge in der Config nun noch folgende Zeile dazu:

# nano /var/www/nextcloud/config/config.php
'memcache.local' => '\OC\Memcache\Redis',
'redis' => array(
     'host' => 'localhost',
     'port' => 6379,
      ),

Einfach diese Zeile über dem letzten ); einfügen.

Nun geben wir zum Schluss der Wolke noch etwas mehr Tempo.
Öffne dazu die Konfigurationsdatei von MySQL / MariaDB.
ACHTUNG: Die Datei könne in einem anderen Verzeichnis liegen! Such nach der mysqld.cnf mit viel Inhalt. Leere Dateien sind falsch 😉

nano /etc/mysql/mysql.conf.d/mysqld.cnf

Füge bei Abschnitt [mysqld] einfach folgende zwei Werte hinzu:

innodb_buffer_pool_size=1G
innodb_io_capacity=4000

Erhöhe die beiden Werte, wenn viele Nutzer auf deine NextCloud zugreifen. In der hier dargestellten Konfiguration, geben wir dem SQL-Server 1GB RAM als Cache zur Verfügung.
Wenn du genügend RAM zur Verfügung hast, kannst du mehr auslagern. Dadurch bleibt die Wolke flott.

Wir geben PHP-FPM noch etwas mehr Power.

nano /etc/php/7.4/fpm/pool.d/www.conf

Editiere die Parameter einfach auf folgende Werte:

pm = dynamic
pm.max_children = 120
pm.start_servers = 12
pm.min_spare_servers = 6
pm.max_spare_servers = 18

Wenn du viele Nutzer zu versorgen hast, kannst du gerne die Werte auch noch etwas erhöhen. Achte dabei aber auf deine Serverauslastung und Stabilität.

Zu guter Letzt, aktivieren wir noch OPcache in php.

nano /etc/php/7.4/fpm/conf.d/10-opcache.ini

Füge hier einfach in die Konfiguration folgenden Inhalt ein:

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

Auf Wunsch kannst du die Werte auch noch auf deine Gegebenheiten anpassen. Hast du eine große Wolke, kannst du z.B. mehr memory_consumption freigeben.

Ab NextCloud 21 kann es vorkommen, das noch folgende Meldung erscheint:

Dem Modul php-imagick fehlt die SVG-Unterstützung. Für eine bessere Kompatibilität wird empfohlen, es zu installieren.

Das lässt sich relativ einfach lösen, indem wir noch folgendes Paket installieren:

apt install libmagickcore-6.q16-6-extra -y

NextCloud erkennt Telefonnummern und gibt diese im korrekten Format an Apps weiter.
Damit NextCloud auch korrekt damit umgehen kann, können wir ein Standardland setzen. Es erscheint sonst folgende Meldung:

Für deine Installation ist keine Standard-Telefonregion festgelegt. Dies ist erforderlich, um Telefonnummern in den Profileinstellungen ohne Ländercode überprüfen zu können. Um Nummern ohne Ländercode zuzulassen, füge bitte "default_phone_region" mit dem entsprechenden <a href="https://de.wikipedia.org/wiki/ISO-3166-1-Kodierliste#Officially_assigned_code_elements" rel="noopener" target="_blank">ISO 3166-1-Code</a> der gewünschten Region hinzu.

Füge daher in deiner NextCloud-Config (config.php) einfach folgenden Abschnitt dazu:

  'default_phone_region' => 'DE',

Ersetze dabei ‘DE’ durch deinen passenden Ländercode nach ISO 3166-1!

FERTIG!

Nein jetzt im Ernst, fertig!
NextCloud läuft und es sollten nun keinerlei Fehler mehr zu sehen sein.





Tipps & Tricks zum Schluss

Upload bricht nach ca. 2GB ab
Verwendest du ein 32bit System, hast du auch php in der 32bit Variante installiert.
Dort können Uploads von Dateigrößen über 2GB fehlschlagen.
Mögliche Lösungen hierfür sind:
– Datei(en) in kleinere Parts unterteilen
– Ein 64bit System installieren => Für den Raspberry Pi 4 gibt es ein 64bit OS!

Du musst viel Daten hochladen?
Nutze den Client von NextCloud oder FlowUpload. Geht deutlich bequemer.

Grafische Oberfläche für MySQL erwünscht?
Installiere dir doch phpmyAdmin. Dann kannst du deine Datenbank über den Webbrowser verwalten.
ACHTUNG: Es wird nicht empfohlen, phpmyAdmin über das Internet erreichbar zu machen!


Update 20.05.2021
Nginx-Configs angepasst, damit die Prüfungen für well-known wieder korrekt durchlaufen.
Fix für php-imagick am Ende der Anleitung noch hinzugefügt.

Update 16.10.2022
Passende nginx-Konfiguration für NextCloud Office mit dem eingebauten Code-Server hinzugefügt.
Sollte jetzt auch sauber funktionieren.
Zusätzlich den Fix für die Telefonnummerinformation dazugefügt.

43 Kommentare

  1. Hallo ! Wie leite ich denn eine Sub-Domain ohne SSL (http://test.example.com) auf den lokalen Webserver (bei mir zu hause – 192.168.1.2) um und habe dann SSL/Https ? Eine lokale Netzwerkadresse kann ja kein SSL-Zertifikat haben. Kurz: Es müssen ja irgendwo noch Server-Einstellungen vom Hosting-Provider vorgenommen werden, damit das mit einer SSL-Subdomain funktioniert. Irgendwie steigt man hier nicht so ganz durch.

    • Hallo Klaus,
      hier gibts mehrere Möglichkeiten.
      Möglichkeit 1: Du hinterlegst bei deinem Donainanbieter die lokale Adresse (test.example.com -> 192.168.1.2). Das interessiert ja ein DNS-Server nicht, ob es sich um eine lokale Adresse handelt oder nicht. Das ganze kann aber nicht vom Internet aus erreichbar gemacht werden. Hier wäre eine zweite Sub-Domain nötig.
      Möglichkeit 2: Du installierst in deinem Netzwerk ein DNS-Server, welcher die ersten Anfragen händelt und alles mit test.example.com auf die lokale Adresse verweist.
      Möglichekit 3: Du hinterlegst in jedem System einen Host-Eintrag, mit der Wunschdomain und der IP.

  2. Hallo,
    ich habe eine Nextcloud auf einer QNAP hinter einer Fritzbox.
    Ich habe bei meinem Provider eine Subdomain angelegt (nextcloud.xxxxx.xxxxx) dort habe ich den CNAME Eintrag geändert auf meine myfritz.net Adresse. In der Fritzbox habe ich eine Portweiterleitung auf die IP-Adresse meine Nextcloud.
    Läuft einwandfrei und in der Adressleiste bleibt immer die URL stehen.

  3. Hallo,
    nachdem mir nextcloud in Docker zu anstrengend wurde, habe ich sie auf dem hier beschriebenen Weg installiert.
    Leider gelingt es mir nach dem “beherzten” Klick nun nicht, mich als Admin anzumelden. Andere Nutzer sind noch nicht eingerichtet.
    Der Datenpfad wurde verändert, www-data ist Eigentümer des Verzeichnisses und der Standardport ist verändert. Was habe ich übersehen?

    sudo -u www-data php /var/www/nextcloud/occ user:resetpassword admin wirft folgende Fehlermeldung aus:

    An unhandled exception has been thrown:
    Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: could not find driver in /var/www/nextcloud/lib/private/DB/Connection.php:85
    Stack trace:
    #0 /var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1486): OC\DB\Connection->connect()
    #1 /var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1014): Doctrine\DBAL\Connection->getWrappedConnection()
    #2 /var/www/nextcloud/lib/private/DB/Connection.php(226): Doctrine\DBAL\Connection->executeQuery()
    #3 /var/www/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php(210): OC\DB\Connection->executeQuery()
    #4 /var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php(287): Doctrine\DBAL\Query\QueryBuilder->execute()
    #5 /var/www/nextcloud/lib/private/AppConfig.php(345): OC\DB\QueryBuilder\QueryBuilder->execute()
    #6 /var/www/nextcloud/lib/private/AppConfig.php(110): OC\AppConfig->loadConfigValues()
    #7 /var/www/nextcloud/lib/private/AppConfig.php(301): OC\AppConfig->getApps()
    #8 /var/www/nextcloud/lib/private/legacy/OC_App.php(957): OC\AppConfig->getValues()
    #9 /var/www/nextcloud/lib/private/Server.php(682): OC_App::getAppVersions()
    #10 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(155): OC\Server->OC\{closure}()
    #11 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
    #12 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(122): Pimple\Container->offsetGet()
    #13 /var/www/nextcloud/lib/private/ServerContainer.php(137): OC\AppFramework\Utility\SimpleContainer->query()
    #14 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(56): OC\ServerContainer->query()
    #15 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(177): OC\AppFramework\Utility\SimpleContainer->get()
    #16 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(155): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
    #17 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(114): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
    #18 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(122): Pimple\Container->offsetGet()
    #19 /var/www/nextcloud/lib/private/ServerContainer.php(137): OC\AppFramework\Utility\SimpleContainer->query()
    #20 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(56): OC\ServerContainer->query()
    #21 /var/www/nextcloud/lib/private/Server.php(1031): OC\AppFramework\Utility\SimpleContainer->get()
    #22 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(155): OC\Server->OC\{closure}()
    #23 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
    #24 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(122): Pimple\Container->offsetGet()
    #25 /var/www/nextcloud/lib/private/ServerContainer.php(137): OC\AppFramework\Utility\SimpleContainer->query()
    #26 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(56): OC\ServerContainer->query()
    #27 /var/www/nextcloud/lib/private/Server.php(1990): OC\AppFramework\Utility\SimpleContainer->get()
    #28 /var/www/nextcloud/lib/private/Files/View.php(119): OC\Server->getLockingProvider()
    #29 /var/www/nextcloud/lib/private/Server.php(430): OC\Files\View->__construct()
    #30 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(155): OC\Server->OC\{closure}()
    #31 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
    #32 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(122): Pimple\Container->offsetGet()
    #33 /var/www/nextcloud/lib/private/ServerContainer.php(137): OC\AppFramework\Utility\SimpleContainer->query()
    #34 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(56): OC\ServerContainer->query()
    #35 /var/www/nextcloud/lib/private/Server.php(1353): OC\AppFramework\Utility\SimpleContainer->get()
    #36 /var/www/nextcloud/lib/base.php(588): OC\Server->boot()
    #37 /var/www/nextcloud/lib/base.php(1076): OC::init()
    #38 /var/www/nextcloud/console.php(49): require_once(‘…’)
    #39 /var/www/nextcloud/occ(11): require_once(‘…’)

    Was kann ich tun, um Zugriff zu erhalten, das Passwort zurückzusetzen und wie/wo kann ich eine Mailadresse hinterlegen, damit mir es geschickt werden kann?

    • Hi!
      Der Fehler steht schon in den ersten paar Zeilen.
      Scheinbar passt die Datenbankanbindung nicht. Entweder sind die angegebenen Zugangsdaten falsch, die Datenbank kaputt oder es fehlt einfach das PHP-Modul für die Datenbankanbindung.

      Ich würde auch die Erstinstallation mit den Standardpfaden machen und sobald NextCloud läuft, das Datenverzeichnis verschieben und die Rechte + Config-Datei anpassen. Das erspart in der Regel viele Probleme.

  4. Vielen Dank für die schnelle Antwort.
    Kann ich evtl. einen Tipp bekommen, welche Dateien / Rechte ich anpassen muss bzw. wie ich “das” PHP-Modul (noch einmal) installieren kann?
    Würde es gern verstehen und nicht nur nachmachen. 🙂

    • Nachmachen erspart meist am Ende des Tages einige Fehler 😉
      Die Rechte sind korrekt, wenn der Ordner dem Nutzer www-data gehört (inkl. aller Unterordner). (chown -R www-data:www-data /pfad/zum/verzeichnis/)
      Bei PHP muss das Modul php7.4-mysql installiert sein. Wenn der Installationsbefehl von meiner Anleitung genutzt wurde, sollte das in der Regel installiert sein.

  5. Das ist absolut richtig.
    Ich meinte auch, dass ich nicht NUR nachmachen, sondern die Zusammenhänge verstehen möchte.
    php7.4-mysql ist installiert, die Rechte von www-data sind korrekt. In der Zwischenzeit habe ich das ursprüngliche Verzeichnis /var/www/nextcloud/date wieder als Datenverzeichnis eingestellt – jedoch ohne Erfolg. Was mir aufgefallen ist, ist, dass die .ocdata leer ist (0 Bytes).

    Wenn ich die Frage noch stellen darf, wie werfe ich am Besten alle Einstellungen Datenbanken weg, damit ich noch einmal sauber anfangen kann? Oder gibt es eine Art Reset, damit ich den Admin neu anlegen kann? Evtl. sorgen ein paar Sonderzeichen im Passwort für Unbehagen (z.B. ‘).

    • .ocdata ist immer 0Bytes groß. Das ist nur eine Hilfsdatei.

      Einmal neu Anfangen ist einfach.
      Einfach alles löschen 😉
      Den gesamten Ordner von NextCloud löschen und die Datenbank sowie Benutzer mit diesen beiden SQL-Befehlen entfernen lassen:
      DROP DATABASE nextcloud-datenbank-name-hier-einfügen;
      DROP USER nextcloud-benutzer-hier-einfügen;

  6. 2 komplette Durchläufe, Nutzer und DB gelöscht (und kontrolliert).
    Alles neu installiert und eingerichtet, jedoch gleiches Problem – Anmeldung klappt nicht. Ich hab’ gerade keine Idee mehr …. 🙁

  7. Die 3. Neuinstallation führte leider auch nicht zum Erfolg. Ist es in irgendeiner Form relevant, dass OMV mit auf der Maschine läuft?
    Oder kann ich prüfen, inwieweit die Nextcloud mit MariaDB zusammenarbeitet? Mir scheint, als ob beim Loginversuch die Verbindung zur DB nicht hergestellt werden kann. Vielleicht gibt es noch einen Tipp. 🙂

  8. Hoerli, ein kleines Defizit beim redis-Schrauben,

    der redis-server horchte nach der Installation bei mir nicht auf Port 6379, der in der Nextcloud config.php konfiguriert wurde.

    netstat -pantu|grep :6379 meldete nix und die Portänderung mit einem service redis-server restart löste das Peoblem.

    In der /etc/redis/redis.conf war nach der Installtion port 0 aktiv!
    # Accept connections on the specified port, default is 6379 (IANA #815344).
    # If port 0 is specified Redis will not listen on a TCP socket.
    port 6379

    • Hi HanjoLix,
      das Port 0 konfiguriert ist, ist für mich neu.
      Ich habe mehrere NextCloud-Instanzen nun aufgesetzt und auch jedes mal den Redis-Server wie in der Anleitung beschrieben installiert.
      Bisher konnte ich das mit Port 0 nicht nachstellen.

      Schön das du aber den Fehler gefunden hast und ihn hier teilst 🙂

  9. Hallo Hoerli,
    ich habe die NC 22 nach deiner Abkeitung installiert und bekomme beim Feintuning folgende Fehlermeldung:

    MariaDB [(none)]> set global innodb_large_prefix=on;
    ERROR 1238 (HY000): Variable ‘innodb_large_prefix’ is a read only variable
    MariaDB [(none)]> set global innodb_file_format=Barracuda;
    ERROR 1238 (HY000): Variable ‘innodb_file_format’ is a read only variable

    Ferner finde ich die die Konfigurationsdatei von MySQL / MariaDB nicht in meinem System, zumindest nicht mit viel Inhalt. Hast du da noch einen Tip wo ich suchen könnte?

    • Was hast du denn für ein System?
      Mit Debian 10 hats bei mir bisher problemlos funktioniert.
      Zeigt es dir beim Systemcheck an, das du die SQL-Befehle absetzen sollst? Falls nein, lass dir einfach weg 🙂

  10. Ganz tolle Anleitung, mit ein paar Korrekturen:

    Original Text oben: fastcgi_pass => Pass hier die php-Version an. Das Beispiel nutzt php7.3!
    Richtig wäre: Das Beispiel hat schon php7.4 eineditiert

    Ich habe Debian Stretch installiert. Da fehlt dann noch das wget:

    # apt install wget

    Dann habe ich mit dem Zertifikat extreme Probleme. Laut meinem DNS record auf der Webseite und einem DNS Test ist alles ok . Trotzdem meldet ein Fehler:

    Domain: http://www.beispiel.space
    Type: unauthorized
    Detail: Invalid response from
    http://www.beispiel.space/.well-known/acme-challenge/V4uswundsofort
    [193.xx.xx.xxx]: “\n\n404 Not
    Found\n\nNot Found\n<p"

    To fix these errors, please make sure that your domain name was
    entered correctly and the DNS A/AAAA record(s) for that domain
    contain(s) the right IP address.

    Nicht sicher wie ich hier weiterkomme oder ich nutze das freie Certificat des Webhosters…. ?

    • Danke für die Info.
      Der Beitrag ist ein “lebender” Beitrag und beim Updaten sind wohl noch ein paar Lücken offen gewesen 🙂

      Dein Zertifikatsproblem kenne ich, aber nur im Zusammenhang mit CloudFlare als DNS-Proxy.
      Wenn alle Anfragen erst einmal bei CloudFlare abgefrühstückt werden (Proxy aktiv), wird dort die Lets Encrypt-Anfrage enden.
      Schalte daher eventuelle Proxys aus und warte ein paar Minuten oder Stunden, damit die DNS-Server dies lernen und Lets Encrypt sauber funktioniert.
      Du kannst auch die angegebene Adresse einmal von Hand aufrufen. Du solltest dann die Antwort im Browser erhalten.
      Endet das auf 404, stimmt bei deiner Serverkonfiguration etwas nicht.

  11. Ich hab nen Koten drin 🙁
    Was will mir die Fehlermeldung sagen?
    Ist erstmal nur Local installiert.

    nginx: [emerg] unknown directive “ACHTUNG:” in /etc/nginx/sites-enabled/nextcloud:24

  12. Hab ich gemacht, warum auch immer da drin steht….
    Ngix nur immer noch nicht starten.

    sudo systemctl start nginx
    Job for nginx.service failed because the control process exited with error code.
    See “systemctl status nginx.service” and “journalctl -xe” for details.

    Mir fehlte noch: sudo fuser -k 80/tcp

  13. Dieser Abschnitt funktioniert nicht…
    ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    -bash: ALTER: Kommando nicht gefunden.

    • Vielleicht mal die Anleitung lesen … würde helfen.
      Du bist noch in der Bash-Sitzung und nicht in mysql drin!
      mysql -u root -p eingeben, dann gehts.

  14. Sorry ja hast recht, war mir dann auch aufgefallen. Jetzt läuft alles. Danke für die Anleitung.

  15. Magst du mir nochmal helfen? Unter Fehlerprotokoll finde ich dieses.

    OCP\AppFramework\Db\DoesNotExistException: FileInfo not found

    Danke

  16. ACHTUNG: zwischen secure und installation muss das Leerzeichen gegen ein Unterstrich ersetzt werden!

    Warum hast du den nicht gleich eingesetzt?

    • Hallo,
      ich würde gern phpmyadmin oder adminer nutzen, leider bekomme ich es nicht hin.
      Gibt es dafür eine kurze Anleitung?
      Nutze Nexcloud mit Ubuntu 22.04 und nginx.
      Besten Dank im Voraus.

  17. Hallo,
    ich komme beim 1.Aufruf in dem Browser zur Nginx Begrüßungsseite.
    Meine NC läuft auf einem LXC in Proxmox unter Debian 11 mit der Nextcloud 25.0.1
    Was muss ich da ändern damit ich auf die Nextcloudoberfläche komme..?

    • Hi!
      Du hast dich vermutlich nicht an meine Anleitung zu 100% gehalten und die NextCloud-Daten an einem anderen Ort abgelegt.
      Passe den abschnitt “root” der nginx-Config an deine Gegebenheiten an.

  18. du meinst diesen Bereich hier, den hae ich genauso eingesetzt.

    # mysql -u root -p
    # CREATE DATABASE nextcloud;
    # CREATE USER ‘nextclouduser’@’localhost’ IDENTIFIED BY ‘PASSWORT-HIER-EINTRAGEN’;
    # GRANT ALL ON nextcloud.* TO ‘nextclouduser’@’localhost’ IDENTIFIED BY ‘PASSWORT-HIER-EINTRAGEN’ WITH GRANT OPTION;
    # FLUSH PRIVILEGES;
    # EXIT;

  19. So da bin ich nochmal, ich habe das heute nochmal probiert mit Debian 10 und damit funktioniert es. Ich komme am Ende auf die Oberfläche der Nexcloud.

    Einzig was nicht der Fall ist das es keinen user gibt wenn ich in das Verzeichnis
    cd /home/user wechseln soll.

    Es muss also mit Debian 11 welches ich vorher benutzt habe ein anderes Problem geben das ich nicht auf die Nextcloud Oberfläche komme sondern auf der Begrüßungsseite des nginx lande.
    Bitte nur als Info verstehen

    • Das ist schön!
      Zwischen Debian 10 und Debian 11 gibt es keine Unterschiede, welche die NextCloud betreffen.
      Du hast vermutlich 2 Fehler gemacht.
      1. Den Pfad in der nginx-Config nicht korrekt zum NextCloud-Verzeichnis gesetzt
      2. Die falsche PHP-Version angegeben.
      Auf diese Sachen musst du selbst achten, da kann ich in der Anleitung nichts zu 100% vorgeben, da sich Versionen des öfteren ändern.

      Aber nun viel Spaß mit NextCloud!

  20. Der Pfad war richtig absolut der den du auch im Video verwedet hast, dass habe ich nicht geändert.
    Ich denke das Problem war oder ist folgendes, da ich die neuste PHP Version 8.1 benutzt hatte hat er mir bei einem Paket einen Fehler rasu geworfen. Es gab ein Paket nicht in der 8.1 Version, dieses php8.1-json da habe ich einfach php7.4-json eingetragen. Evtl. gibt es damit ein Problem, aber ich kenne mich mit PHP nicht aus. vllt. war es falsch das Paket so zu installieren, oder evtl. ganz weglassen. Das müßten mal die Profis anschauen.
    Vllt. bekommt man das raus, ob es nun der Fehler war.
    Ich werde es mal die Tage ausprobieren. habe jetzt alles so gemacht wie du auf deiner Homepage und im Video vorgegeben hast nur ich habe die neue Version 25.0.1 installiert
    Vielen Dank für die tolle Erklärung und das Video

  21. Hallo,
    zuerst muss ich sagen, wirklich tolle Videos!!
    Leider komme ich nicht weiter, da der Neustart von nginx nicht funktionert. Hast du vll eine Idee.
    Vielen Dank im voruas
    Klaus
    systemctl restart nginx.service
    Job for nginx.service failed because the control process exited with error code.
    See “systemctl status nginx.service” and “journalctl -xe” for details.

  22. Hallo Hoerli,
    vielen Dank für die Anleitung und die Fixes.
    Ich habe NC auf einem Debian 11 laufen.
    Ich konnte nicht alle Fixes umsetzen. Die sind weiter oben auch schon mal beschrieben:
    MariaDB [(none)]> set global innodb_large_prefix=on;
    ERROR 1238 (HY000): Variable ‘innodb_large_prefix’ is a read only variable
    MariaDB [(none)]> set global innodb_file_format=Barracuda;
    ERROR 1238 (HY000): Variable ‘innodb_file_format’ is a read only variable
    Und auch die Konfigurationsdatei finde ich nicht so richtig. Ich glaube, es müsste die my.cnf sein, aber die ist leer.

    Alle anderen Fixes habe ich abgearbeitet, aber es kommt noch die Fehlermeldung im Dashboard, dass ./wellknow/caldav und die anderen falsch konfiguriert sind. Adressbuch und Kalenderaustausch funktionieren auch nicht.

    Nun weiß ich nicht, welches Fix das beheben sollte. Ich habe die configdatei mit Nextcloudoffice siehe oben genommen. Kannst du mir weiter helfen?

    • Hi!
      Der Schritt mit innodb_file_XXXXX ist nicht sonderlich wichtig bei Neuinstallationen.

      Der Fehler im Dashboard deutet auf eine fehlerhafte Webserverkonfiguration hin.
      Scheinbar kann hier NextCloud selbst die caldav-Daten nicht aufrufen.
      Das Problem kenne ich nur, wenn ich alles auf einer lokalen Instanz ohne HTTPS installiere.
      Prüf mal deine nginx-Config, ob da alles zu 100% passt.

  23. Ich habe jetzt alle 3 Konfigurationen durchprobiert, mit https mit Office, Https und http. Die Configs 1:1 kopiert und die entsprechenden Änderungen gemacht. Mit https gehtst nicht, bei http funktionierts. Die well-known- Einträge sind aber bei allen gleich.

  24. Hallo Hoerli,

    ersteinmal auch von mir ein riesiges Dankeschön für die echt tolle Anleitung und ERläuterungen.
    Leider habe ich trotzdem ein Problem. Im lokalen Netzwerk komm ich wunderbar auf meine Nextcloud mit der lokalen IP-Adresse die ich in der nginx-config unter Punkt 6 (ohne HTTPS) bei “server_name” eingetragen habe darauf. Ich möchte diese aber eigentlich mit Hilfe eines NGINX Proxy Managers mit einer DynDNS Anbieter unter “xyz.ddns.net” erreichbar machen. Dabei scheint von mir beim Fritz!Box Router und dem kostenfreien DynDDNS Anbieter alles richtig konfigiert zu sein, da ich leider dann nur die NGINX “Welcome to nginx!” Begrüßungsseite sehe. Wie komm ich da denn nun auf meine Nextcloud drauf, also wo muss ich was umkonfigurieren?

    VG Mirko

    • Hi Mirko,
      bei Proxy-Tools kann ich dir nicht sonderlich helfen, da es unterschiedliche gibt und mehrere Fallstricke bei der Internetanbindung.
      Soweit dein Internetanschluss mit den Portfreigaben korrekt funktioniert, musst du nur darauf achten, das der Proxyserver selbst, eine saubere Verbindung zur NextCloud herstellen kann.
      Des weiteren möchte ich noch anmerken, das gerade Android-Apps den Dienst verwehren, wenn nicht durchgängig HTTPS gesprochen wird.
      Am besten richtest du für die NextCloud noch HTTPS ein und verwendest dort einfach ein selbst signiertes Zertifikat.

  25. Hallo Hoerli,

    ich kann mein NGIX nicht starten.
    Es kommt wie du schon geschrieben hat der Zertifiaktsfehler:

    [emerg] no “ssl_certificate” is defined for the “listen … ssl” directiv e in /etc/nginx/sites-enabled/meinedomain.de:22
    nginx: configuration file /etc/nginx/nginx.conf test failed

    Wie kann ich diesen fehler beheben. Das Zertifikat habe ich neu ausgestellt. Außerdem habe ich sichergestellt, dass der Pfad stimmt und die Dateien vorhanden sind.

    VG Tim

    • Hi Tim!
      Du hast die Konfiguration für das SSL-Zertifikat nicht korrekt durchgeführt.
      Scheinbar stimmt da etwas nicht und nginx kann das Zertifikat nicht lesen.
      Prüfe das in Zeile 22 in der nginx-Config. Danach sollte nginx laufen 🙂

  26. Hallo Hoerli,

    vielen Dank! Man kommt sogar als Noob wie ich auch weiter 😀

    Fast alles geschafft. Es sind folgende Meldungen:
    1. Ihr Web-Server ist nicht richtig eingerichtet um .woff2-Dateien auszuliefern. Dies liegt meist an der Nginx-Konfiguration. Für Nextcloud 15 wird eine Anpassung für die Auslieferung von .woff2-Dateien benötigt. Vergleichen Sie Ihre Nginx-Konfiguration mit der empfohlenen Nginx-Konfiguration in unserer Dokumentation .
    2. Sie haben Ihre E-Mail-Serverkonfiguration noch nicht festgelegt oder überprüft. Bitte gehen Sie zu den Grundeinstellungen , um sie einzustellen. Verwenden Sie anschließend die Schaltfläche “E-Mail senden” unterhalb des Formulars, um Ihre Einstellungen zu überprüfen.
    3. Die Datenbank wird zum Sperren von Transaktionsdateien verwendet. Um die Leistung zu verbessern, richten Sie bitte, sofern verfügbar, Memcache ein.

    HG
    Xavi

Schreibe einen Kommentar

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

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