GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Installieren Sie NextCloud auf Ubuntu 18.04 mit Nginx (LEMP Stack)

Dieses Tutorial zeigt Ihnen, wie Sie NextCloud auf Ubuntu 18.04 LTS mit Nginx-Webserver installieren.

Hinweis :Benutzer von Ubuntu 20.04 sollten stattdessen dieser Anleitung folgen:Install NextCloud on Ubuntu 20.04 with Nginx (LEMP Stack)

Was ist NextCloud?

NextCloud ist eine kostenlose, selbst gehostete Open-Source-Cloud-Speicherlösung. Es ist funktional ähnlich wie Dropbox. Proprietäre Cloud-Speicherlösungen (Dropbox, Google Drive usw.) sind praktisch, haben aber ihren Preis:Sie können zum Sammeln persönlicher Daten verwendet werden, da Ihre Dateien auf ihren Computern gespeichert werden. Wenn Sie sich Sorgen um die Privatsphäre machen, können Sie auf NextCloud umsteigen, das Sie auf Ihrem privaten Heimserver oder auf einem virtuellen privaten Server (VPS) installieren können. Sie können Ihre Dateien über NextCloud auf Ihren Server hochladen und diese Dateien dann mit Ihrem Desktop-Computer, Laptop oder Smartphone synchronisieren. So haben Sie die volle Kontrolle über Ihre Daten.

NextCloud-Funktionen

  • Kostenlos und Open-Source
  • Ende-zu-Ende-Verschlüsselung, d. h. Dateien können auf dem Client-Gerät verschlüsselt werden, bevor sie auf den Server hochgeladen werden. Selbst wenn jemand Ihren Server stiehlt, kann er Ihre Dateien nicht sehen.
  • Kann in eine Online-Office-Suite (Collobora, OnlyOffice) integriert werden, sodass Sie Ihre doc-, ppt- und xls-Dateien direkt von NextCloud aus erstellen und bearbeiten können.
  • Der App Store enthält Hunderte von Apps zur Erweiterung der Funktionalität (z. B. Kalender-App, Notizen-App, Videokonferenz-App usw.).
  • Der Sync-Client ist für Linux, macOS, Windows, iOS und Android verfügbar.

Voraussetzungen

NextCloud ist in der Programmiersprache PHP geschrieben. Um diesem Tutorial zu folgen, müssen Sie zuerst den LEMP-Stack auf Ubuntu 18.04 installieren . Wenn Sie dies noch nicht getan haben, sehen Sie sich bitte das folgende Tutorial an.

  • So installieren Sie LEMP Stack (Nginx, MariaDB, PHP7.2-FPM) auf Ubuntu 18.04

Sie können NextCloud auf Ihrem Heimserver oder einem VPS (Virtual Private Server) installieren. Außerdem benötigen Sie einen Domänennamen. Ich habe meinen Domainnamen bei NameCheap registriert, weil der Preis niedrig ist und sie lebenslangen Whois-Datenschutz bieten.

Lassen Sie uns jetzt NextCloud installieren.

Schritt 1:Laden Sie NextCloud auf Ubuntu 18.04 herunter

Melden Sie sich bei Ihrem Ubuntu 18.04-Server an. Laden Sie dann das NextCloud-Zip-Archiv auf Ihren Server herunter. Die neueste stabile Version ist zum Zeitpunkt des Schreibens dieses Artikels 13.0.2. Möglicherweise müssen Sie die Versionsnummer ändern. Gehen Sie zu https://nextcloud.com/install und klicken Sie auf die Download-Schaltfläche, um die neueste Version anzuzeigen.

Sie können den folgenden Befehl ausführen, um es auf Ihren Server herunterzuladen.

wget https://download.nextcloud.com/server/releases/nextcloud-13.0.2.zip

Sie können immer das obige URL-Format verwenden, um NextCloud herunterzuladen. Wenn eine neue Version herauskommt, ersetzen Sie einfach 13.0.2 mit der neuen Versionsnummer.

Entpacken Sie das Archiv nach dem Herunterladen mit unzip .

sudo apt install unzipsudo unzip nextcloud-13.0.2.zip -d /usr/share/nginx/

Das -d Option gibt das Zielverzeichnis an. NextCloud-Webdateien werden nach /usr/share/nginx/nextcloud/ extrahiert . Dann müssen wir den Eigentümer dieses Verzeichnisses auf www-data ändern damit der Webserver (Nginx) in dieses Verzeichnis schreiben kann.

sudo chown www-data:www-data /usr/share/nginx/nextcloud/ -R

Schritt 2:Erstellen Sie eine Datenbank und einen Benutzer in MariaDB

Melden Sie sich mit dem folgenden Befehl beim MariaDB-Datenbankserver an. Da MariaDB jetzt unix_socket verwendet Plugin für die Benutzeranmeldung zur Authentifizierung müssen Sie das MariaDB-Root-Passwort nicht eingeben. Wir müssen nur mysql voranstellen Befehl mit sudo .

sudo mysql

Alternativ können Sie sich auch mit diesem Befehl anmelden.

sudo mariadb

Erstellen Sie dann eine Datenbank für Nextcloud. Dieses Tutorial nennt die Datenbank nextcloud. Sie können einen beliebigen Namen verwenden.

Datenbank nextcloud erstellen;

Erstellen Sie den Datenbankbenutzer. Auch hier können Sie Ihren bevorzugten Namen für diesen Benutzer verwenden. Ersetzen Sie your-password mit Ihrem bevorzugten Passwort.

Erstellen Sie den Benutzer nextclouduser@localhost, der durch „Ihr Passwort“ identifiziert wird;

Gewähren Sie diesem Benutzer alle Berechtigungen auf der nextcloud Datenbank.

gewähre nextclouduser@localhost, identifiziert durch „dein-passwort“, alle Privilegien auf nextcloud.*

Berechtigungen leeren und beenden.

Privilegien leeren;exit;

Schritt 3:Erstellen Sie eine Nginx-Konfigurationsdatei für Nextcloud

Erstellen Sie eine nextcloud.conf Datei in /etc/nginx/conf.d/ Verzeichnis.

sudo nano /etc/nginx/conf.d/nextcloud.conf

Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie nextcloud.example.com mit Ihrer eigenen bevorzugten Subdomain. Vergessen Sie nicht, in Ihrem DNS-Zonen-Editor einen DNS-A-Eintrag für diese Subdomain zu erstellen. Wenn Sie keinen echten Domainnamen haben, empfehle ich, zu NameCheap zu gehen, um einen zu kaufen. Der Preis ist niedrig und sie bieten Whois-Datenschutz lebenslang kostenlos.

server {listen 80; hör zu [::]:80; server_name nextcloud.ihre-domain.com; # Header hinzufügen, um sicherheitsrelevante Header bereitzustellen add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag keine; add_header X-Download-Optionen noopen; add_header X-Permitted-Cross-Domain-Policies keine; add_header Referrer-Richtlinie no-referrer; #Ich habe festgestellt, dass dieser Header unter Ubuntu benötigt wird, aber nicht unter Arch Linux. add_header X-Frame-Optionen "SAMEORIGIN"; # Pfad zum Stammverzeichnis Ihres Installationsstammverzeichnisses /usr/share/nginx/nextcloud/; access_log /var/log/nginx/nextcloud.access; error_log /var/log/nginx/nextcloud.error; location =/robots.txt {alle zulassen; log_not_found aus; access_log off; } # Die folgenden 2 Regeln werden nur für die App user_webfinger benötigt. # Entkommentieren Sie es, wenn Sie vorhaben, diese App zu verwenden. #rewrite ^/.well-known/host-meta /public.php?service=host-meta last; #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json # last; location =/.well-known/carddav { return 301 $scheme://$host/remote.php/dav; } location =/.well-known/caldav { return 301 $scheme://$host/remote.php/dav; } location ~ /.well-known/acme-challenge {alle zulassen; } # maximale Upload-Größe festlegen client_max_body_size 512M; fastcgi_buffers 64 4K; # gzip deaktivieren, um das Entfernen des ETag-Headers zu vermeiden gzip off; # Entkommentieren Sie, wenn Ihr Server mit dem ngx_pagespeed-Modul gebaut wurde # Dieses Modul wird derzeit nicht unterstützt. #pagespeed aus; Fehlerseite 403 /core/templates/403.php; error_page 404 /core/templates/404.php; Ort / { umschreiben ^ /index.php; } location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {alle verweigern; } location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {alle verweigern; } location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34 ])\.php(?:$|/) {include fastcgi_params; fastcgi_split_path_info ^(.+\.php)(/.*)$; try_files $fastcgi_script_name =404; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; #Vermeiden Sie das zweimalige Senden der Sicherheitsheader fastcgi_param modHeadersAvailable true; fastcgi_param front_controller_active true; fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_intercept_errors on; fastcgi_request_buffering aus; } location ~ ^/(?:updater|ocs-provider)(?:$|/) { try_files $uri/ =404; indexindex.php; } # Cache-Control-Header für js- und CSS-Dateien hinzufügen # Stellen Sie sicher, dass er sich UNTERHALB des PHP-Blockspeicherorts befindet ~* \.(?:css|js)$ { try_files $uri /index.php$uri$is_args$args; add_header Cache-Control "public, max-age=7200"; # Header hinzufügen, um sicherheitsrelevante Header bereitzustellen (Es ist beabsichtigt, dass diese mit den oben genannten dupliziert werden) add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag keine; add_header X-Download-Optionen noopen; add_header X-Permitted-Cross-Domain-Policies keine; add_header Referrer-Richtlinie no-referrer; # Optional:Zugriff auf Assets nicht protokollieren access_log off; } Ort ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ { try_files $uri /index.php$uri$is_args$args; # Optional:Zugriff auf andere Assets nicht protokollieren access_log off; }}

Speichern und schließen Sie die Datei. Testen Sie die Nginx-Konfiguration und laden Sie dann Nginx neu, damit die Änderungen wirksam werden.

sudo nginx -tsudo systemctl reload nginx

Schritt 4:PHP-Module installieren und aktivieren

Führen Sie die folgenden Befehle aus, um PHP-Module zu installieren, die von NextCloud benötigt oder empfohlen werden.

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

Schritt 5:HTTPS aktivieren

Jetzt können Sie in Ihrem Browser auf den Nextcloud-Webinstallationsassistenten zugreifen, indem Sie den Domänennamen für Ihre Nextcloud-Installation eingeben.

nächstecloud.ihre-domain.com

Wenn die Webseite nicht geladen werden kann, müssen Sie wahrscheinlich Port 80 in der Firewall öffnen.

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Und auch Port 443.

sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT

Bevor wir sensible Informationen eingeben, sollten wir eine sichere HTTPS-Verbindung auf Nextcloud aktivieren. Wir können ein kostenloses TLS-Zertifikat von Let’s Encrypt erhalten. Installieren Sie den Let’s Encrypt-Client (certbot) aus dem Ubuntu 18.04-Repository.

sudo apt install certbot python3-certbot-nginx

Python-certbot-nginx ist das Nginx-Plugin. Führen Sie als Nächstes den folgenden Befehl aus, um ein kostenloses TLS-Zertifikat mit dem Nginx-Plugin zu erhalten.

sudo certbot --nginx --agree-tos --redirect --staple-ocsp --email your-email-address -d nextcloud.your-domain.com

Erklärung:

  • –nginx :Verwenden Sie den Nginx-Authentifikator und das Installationsprogramm
  • –stimme zu :Nutzungsbedingungen von Let’s Encrypt akzeptieren
  • –Weiterleitung :301-Weiterleitung hinzufügen.
  • –staple-ocsp :Aktiviert OCSP-Heften.
  • -d Flag folgt eine durch Kommas getrennte Liste von Domänennamen. Sie können bis zu 100 Domainnamen hinzufügen.
  • –E-Mail :E-Mail, die für die Registrierung und den Wiederherstellungskontakt verwendet wird.

Sie werden gefragt, ob Sie E-Mails von EFF (Electronic Frontier Foundation) erhalten möchten. Nachdem Sie J oder N ausgewählt haben, wird Ihr TLS-Zertifikat automatisch bezogen und für Sie konfiguriert, was durch die folgende Meldung angezeigt wird.

Ich habe festgestellt, dass Certbot den HSTS-Header nicht automatisch in die Nginx-Konfigurationsdatei für Nextcloud einfügen kann. Wenn Sie HSTS (HTTP Strict Transport Security) aktivieren möchten, bearbeiten Sie die Datei.

sudo nano /etc/nginx/conf.d/nextcloud.conf

Wir können dann die folgende Zeile im SSL-Serverblock hinzufügen, um den HSTS-Header zu aktivieren.

add_header Strict-Transport-Security "max-age=31536000" immer;

Außerdem können Sie das HTTP2-Protokoll aktivieren, indem Sie die Option http2 hinzufügen .

listen 443 ssl http2; # verwaltet von Certbot

Wie unten.

Speichern und schließen Sie die Datei. Senden Sie dann eine SMS mit Nginx-Konfigurationen.

sudo nginx -t

Wenn der Test erfolgreich ist, laden Sie Nginx neu, damit die Änderung wirksam wird.

sudo systemctl reload nginx

Die obige Konfiguration erhält beim SSL-Test eine A+-Punktzahl.

Schließen Sie die Installation in Ihrem Webbrowser ab

Jetzt können Sie über eine HTTPS-Verbindung auf den Nextcloud-Webinstallationsassistenten zugreifen. Um die Installation abzuschließen, müssen Sie ein Administratorkonto erstellen, den Pfad des Nextcloud-Datenordners eingeben und die zuvor erstellten Datenbankdetails eingeben. Sie können den Standard localhost verwenden als Host-Adresse, oder Sie können localhost:3306 eingeben , da MariaDB auf Port 3306 lauscht.

Im Datenordner werden die Dateien der Benutzer gespeichert. Aus Sicherheitsgründen ist es am besten, das Datenverzeichnis außerhalb des Nextcloud-Webstamms zu platzieren. Anstatt also Benutzerdateien unter /usr/share/nginx/nextcloud/data/ zu speichern , können wir es in /usr/share/nginx/nextcloud-data ändern . die mit folgendem Befehl erstellt werden kann:

sudo mkdir /usr/share/nginx/nextcloud-data

Stellen Sie dann sicher, dass der Nginx-Benutzer (www-data ) hat Schreibrechte für das Datenverzeichnis.

sudo chown www-data:www-data /usr/share/nginx/nextcloud-data -R

Sobald dies erledigt ist, sehen Sie die Weboberfläche von Nextcloud. Herzlichen Glückwunsch! Sie können es als Ihren privaten Cloud-Speicher verwenden.

So richten Sie die NextCloud-E-Mail-Benachrichtigung ein

Wenn Ihre NextCloud-Instanz von mehr als einer Person verwendet wird, ist es wichtig, dass Ihr NextCloud-Server Transaktions-E-Mails senden kann, z. B. E-Mails zum Zurücksetzen des Passworts. Zunächst sollten Sie eine E-Mail-Adresse für Ihr eigenes Konto festlegen. Gehen Sie zu Settings -> Personal Info und legen Sie eine E-Mail-Adresse für Ihr Konto fest.

Gehen Sie dann zu Einstellungen -> Grundeinstellungen . Sie finden die E-Mail-Server-Einstellungen. Es gibt zwei Sendemodi:sendmail und smtp . Sie können den sendmail wählen -Modus, wenn auf Ihrem NextCloud-Host ein SMTP-Server ausgeführt wird.

Wenn Sie einen SMTP-Server verwenden möchten, der auf einem anderen Host läuft, wählen Sie smtp Modus und geben Sie die Adresse des SMTP-Servers und die Anmeldedaten wie unten ein. Wählen Sie STARTTLS für die Verschlüsselung.

Wie Sie einen E-Mail-Server einrichten, erfahren Sie im folgenden Tutorial:

  • So richten Sie mit iRedMail ganz einfach einen voll funktionsfähigen Mailserver unter Ubuntu 18.04 ein

So verschieben Sie das Datenverzeichnis

Falls Sie das NextCloud-Datenverzeichnis verschieben müssen, gibt es 4 Schritte, um dies zu erreichen. Zuerst müssen Sie den cp verwenden Befehl, um das Datenverzeichnis in das neue Verzeichnis zu kopieren. Der Einhängepunkt meiner externen Festplatte ist beispielsweise /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731 . Ich erstelle das neue Datenverzeichnis auf der externen Festplatte.

sudo mkdir /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/

Dann kopiere ich das ursprüngliche Datenverzeichnis in das neue Datenverzeichnis. -R Flag bedeutet, dass der Kopiervorgang rekursiv ist.

sudo cp /usr/share/nginx/nextcloud-data/* /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/ -R

Sie müssen auch die .ocdata kopieren Datei.

sudo cp /usr/share/nginx/nextcloud-data/.ocdata /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/

Als nächstes müssen Sie www-data festlegen (Nginx-Benutzer) als Besitzer.

sudo chown www-data:www-data /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/ -R

Zuletzt müssen Sie die config.php bearbeiten Datei.

sudo nano /usr/share/nginx/nextcloud/config/config.php

Suchen Sie die folgende Zeile und ändern Sie den Wert von datadirectory .

'datadirectory' => '/usr/share/nginx/nextcloud-data',

Speichern und schließen Sie die Datei. Laden Sie die NextCloud-Webseite neu und Sie sind fertig.

PHP-Speicherlimit erhöhen

Das standardmäßige PHP-Speicherlimit beträgt 128 MB. NextCloud empfiehlt 512 MB für eine bessere Leistung. Um das PHP-Speicherlimit zu ändern, bearbeiten Sie die php.ini Datei.

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

Finden Sie die folgende Zeile. (Zeile 406)

memory_limit =128M

Ändern Sie den Wert.

Speicherlimit =512 MB

Speichern und schließen Sie die Datei. Alternativ können Sie den folgenden Befehl ausführen, um den Wert zu ändern, ohne die Datei manuell zu öffnen.

sudo sed -i 's/memory_limit =128M/memory_limit =512M/g' /etc/php/7.2/fpm/php.ini

Laden Sie dann PHP-FPM neu Dienst, damit die Änderungen wirksam werden.

sudo systemctl reload php7.2-fpm

Einrichten von PHP zum ordnungsgemäßen Abfragen von Systemumgebungsvariablen

Bearbeiten Sie die www.conf Datei.

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

Suchen Sie die folgende Zeile (Zeile 381).

;clear_env =nein

Entfernen Sie das Semikolon, um diese Zeile zu entkommentieren.

clear_env =nein

Speichern und schließen Sie die Datei. Alternativ können Sie den folgenden Befehl ausführen, um diese Zeile zu entkommentieren, ohne die Datei manuell zu öffnen.

sudo sed -i 's/;clear_env =no/clear_env =no/g' /etc/php/7.2/fpm/pool.d/www.conf

Laden Sie dann PHP-FPM neu Dienst, damit die Änderungen wirksam werden.

sudo systemctl reload php7.2-fpm

Erhöhen Sie die Größenbeschränkung für Upload-Dateien

Die von Nginx festgelegte standardmäßige maximale Upload-Dateigröße beträgt 1 MB. Um das Hochladen großer Dateien auf Ihren NextCloud-Server zu ermöglichen, bearbeiten Sie die Nginx-Konfigurationsdatei für NextCloud.

sudo nano /etc/nginx/conf.d/nextcloud.conf

Wir haben in dieser Datei bereits die maximale Dateigröße festgelegt, wie durch

angegeben
client_max_body_size 512M;

Sie können es ändern, wenn Sie möchten, z. B. 1G.

client_max_body_size 1024M;

Speichern und schließen Sie die Datei. Laden Sie dann Nginx neu, damit die Änderungen wirksam werden.

sudo systemctl reload nginx

PHP legt auch eine Begrenzung der Upload-Dateigröße fest. Die standardmäßige maximale Dateigröße zum Hochladen beträgt 2 MB. Um die Upload-Größenbeschränkung zu erhöhen, bearbeiten Sie die PHP-Konfigurationsdatei.

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

Suchen Sie die folgende Zeile (Zeile 827).

upload_max_filesize =2M

Ändern Sie den Wert wie folgt:

upload_max_filesize =1024M

Speichern und schließen Sie die Datei. Alternativ können Sie den folgenden Befehl ausführen, um den Wert zu ändern, ohne die Datei manuell zu öffnen.

sudo sed -i 's/upload_max_filesize =2M/upload_max_filesize =1024M/g' /etc/php/7.2/fpm/php.ini

Starten Sie dann PHP-FPM neu.

sudo systemctl restart php7.2-fpm

Redis-Cache für NextCloud konfigurieren

Wenn Sie zu Ihren NextCloud-Einstellungen gehen -> Übersicht Seite wird möglicherweise die folgende Warnung angezeigt:

Es wurde kein Speicher-Cache konfiguriert. Um Ihre Leistung zu verbessern, konfigurieren Sie bitte einen Memcache, falls verfügbar.

Wir werden das Speicher-Caching für nextCloud mithilfe von Redis aktivieren. Führen Sie den folgenden Befehl aus, um den Redis-Server aus dem Ubuntu-Repository zu installieren.

sudo apt install redis-server

Sie können die Version überprüfen mit:

redis-server -v

Beispielausgabe:

Redis-Server v=4.0.9 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=9435c3c2879311f3

Jetzt können wir prüfen, ob der Redis-Server läuft.

systemctl status redis

Hinweis:Wenn der obige Befehl nicht sofort beendet wurde, können Sie die Q-Taste drücken, um die Kontrolle über das Terminal zurückzugewinnen.

Aus dem obigen Screenshot können wir sehen, dass es läuft und der Autostart aktiviert ist. Wenn es aus irgendeinem Grund nicht läuft, führen Sie den folgenden Befehl aus:

sudo systemctl start redis-server

Und wenn der automatische Start beim Booten nicht aktiviert ist, können Sie ihn mit dem folgenden Befehl aktivieren:

sudo systemctl enable redis-server

Um Redis als Cache für nextCloud zu konfigurieren, müssen wir die PHP-Erweiterung für die Schnittstelle zu Redis installieren.

sudo apt install php-redis

Überprüfen Sie, ob die Erweiterung aktiviert ist.

php --ri redis

Wir können sehen, dass die Redis-Erweiterung aktiviert ist. Wenn es nicht aktiviert ist, führen Sie den folgenden Befehl aus:

sudo phpenmod redis

Bearbeiten Sie als Nächstes die nextCloud-Konfigurationsdatei.

sudo nano /usr/share/nginx/nextcloud/config/config.php

Fügen Sie die folgenden Zeilen über dem ); hinzu Linie.

'memcache.distributed' => '\OC\Memcache\Redis','memcache.local' => '\OC\Memcache\Redis','memcache.locking' => '\OC\Memcache\Redis' ,'redis' => array(     'host' => 'localhost',     'port' => 6379,     ),

Speichern und schließen Sie die Datei. Starten Sie dann Nginx und PHP-FPM neu.

sudo systemctl restart nginx php7.2-fpm

Gehen Sie jetzt erneut zur NextCloud-Admin-Seite, die Warnung zum Zwischenspeichern des Speichers sollte verschwunden sein.

So aktivieren Sie 4-Byte-Zeichen in MariaDB, um Emojis anzuzeigen

Wenn Sie die folgende Meldung in den NextCloud-Einstellungen sehen -> Übersicht Seite, dann müssen Sie 4-Byte-Zeichen in MariaDB aktivieren.

MySQL wird als Datenbank verwendet, unterstützt aber keine 4-Byte-Zeichen. Um beispielsweise 4-Byte-Zeichen (wie Emojis) ohne Probleme in Dateinamen oder Kommentaren verarbeiten zu können, wird empfohlen, die 4-Byte-Unterstützung in MySQL zu aktivieren.

Zunächst empfehle ich, den MariaDB-Server auf die neueste stabile Version zu aktualisieren, indem Sie die folgenden Befehle ausführen.

sudo apt-get install software-properties-commonsudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8sudo add-apt-repository 'deb [arch=amd64,arm64 ,ppc64el] http://mirror.lstn.net/mariadb/repo/10.4/ubuntu bionic main'sudo apt updatesudo apt install mariadb-server

Melden Sie sich dann bei der MariaDB-Konsole an.

sudo mysql -u root

Ändere den Zeichensatz und die Sortierung der nextcloud Datenbank.

ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Verlassen Sie MariaDB.

Beenden;

Wechseln Sie in das Installationsverzeichnis von NextCloud.

cd /usr/share/nginx/nextcloud/

Aktivieren Sie mysql.utf8mb4 in der config.php Datei.

sudo -u www-data php occ config:system:set mysql.utf8mb4 --type boolean --value="true"

Reparieren Sie dann die MariaDB-Sortierung.

sudo -u www-data php occ maintenance:repair

Jetzt sollte die Warnung in den NextCloud Einstellungen verschwunden sein -> Übersicht Seite und Sie können Emojis in Ihren Dateinamen, Kalenderereignissen und Kommentaren verwenden.

So installieren Sie den NextCloud-Client auf Ubuntu 18.04 Desktop

Das NextCloud-Team stellt einen offiziellen PPA bereit. Führen Sie die folgenden Befehle auf dem Ubuntu 18.04-Desktop aus, um den Client zu installieren.

sudo add-apt-repository ppa:nextcloud-devs/clientsudo apt install nextcloud-client

Beachten Sie, dass Sie sudo apt update nicht ausführen müssen mehr in Ubuntu 18.04 beim Hinzufügen von PPA. Es wird automatisch ausgeführt 🙂

NextCloud-Client auf Ubuntu 18.04

Tipps zur Fehlerbehebung

Wenn Fehler auftreten, können Sie eine der folgenden Protokolldateien überprüfen, um herauszufinden, was falsch ist.

  • Nginx-Fehlerprotokoll:/var/log/nginx/error.log
  • Nginx-Fehlerprotokoll für den virtuellen Nextcloud-Host:/var/log/nginx/nextcloud.error
  • Nextcloud-Anwendungsprotokoll:/usr/share/nginx/nextcloud/data/nextcloud.log

Zum Beispiel hatte ich einmal einen „Internal Server Error ” auf meiner Nextcloud-Instanz und die /var/log/nginx/nextcloud.error Datei hat mir das gesagt

FastCGI sendete in stderr:"PHP message:PHP Fatal error:Uncaught OC\HintException:[0]:Memcache \OC\Memcache\Redis not available for local cache (Ist das passende PHP-Modul installiert und aktiviert?) 

Da ich das ppa:ondrej/php-PPA auf meinem Ubuntu-Server verwendet habe, stellte sich heraus, dass ich auch php7.2-redis installieren muss zusätzlich zu php-redis Paket.

Upgrade von Nextcloud

Es ist wichtig, Ihren Nextcloud-Server mit den neuesten Sicherheits- und Fehlerbehebungen auf dem neuesten Stand zu halten. Lesen Sie das folgende Tutorial, um zu erfahren, wie Sie Nextcloud aktualisieren.

  • 2 Möglichkeiten zum Upgrade von Nextcloud [Befehlszeile und GUI]

Ubuntu
  1. So installieren Sie den HTTP-Git-Server mit Nginx unter Ubuntu 16.04

  2. So installieren Sie WordPress mit LEMP Stack auf CentOS 8

  3. So installieren Sie LEMP unter Ubuntu 16.04

  4. So installieren Sie WordPress mit einem LEMP-Stack auf Ubuntu 18.04

  5. Installieren Sie phpMyAdmin auf Ubuntu 20.04 mit Nginx

Installieren Sie NextCloud auf Ubuntu 20.04 mit Apache (LAMP Stack)

Installieren Sie NextCloud auf Ubuntu 20.04 mit Nginx (LEMP Stack)

So installieren Sie Nextcloud 13 auf Ubuntu 16.04 mit Nginx

So installieren Sie LEMP Stack (Nginx, MariaDB, PHP7.2) auf Ubuntu 18.04 LTS

So installieren Sie den LEMP-Stack auf Ubuntu 20.04 Server/Desktop

So installieren Sie den LEMP-Stack mit PhpMyAdmin in Ubuntu 20.04