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

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

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

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. Wer sich Sorgen um die Privatsphäre macht, kann auf NextCloud ausweichen, die man auf seinem privaten Heimserver oder auf einem Virtual Private Server (VPS) installieren kann. 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 Client-Geräten verschlüsselt werden, bevor sie auf den Server hochgeladen werden. Selbst wenn jemand Ihren Server stiehlt, kann er Ihre Dateien nicht lesen.
  • Kann in eine Online-Office-Suite (Collobora Online, 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 (wie Kalender-App, Kontakte-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 LAMP-Stack auf Ubuntu 20.04 installieren . Wenn Sie dies noch nicht getan haben, sehen Sie sich bitte das folgende Tutorial an.

  • So installieren Sie LAMP Stack (Apache, MariaDB, PHP7.4-FPM) unter Ubuntu 20.04

Sie können NextCloud auf Ihrem Heimserver oder einem VPS (Virtual Private Server) installieren. Sie benötigen auch einen Domänennamen, damit Sie später HTTPS aktivieren können, um den HTTP-Verkehr zu verschlüsseln. Ich habe meinen Domainnamen bei NameCheap registriert, weil der Preis niedrig ist und Whois-Datenschutz lebenslang kostenlos ist. Nextcloud kann ohne Domainnamen installiert werden, aber es macht wirklich keinen Sinn, wenn Sie die HTTP-Verbindung nicht verschlüsseln, um Schnüffeln vorzubeugen. Ich empfehle den Kauf eines Domainnamens, wenn Sie wirklich an Serversoftware basteln und sie voll ausschöpfen möchten.

Lassen Sie uns jetzt NextCloud installieren.

Schritt 1:Laden Sie NextCloud auf Ubuntu 20.04 herunter

Melden Sie sich bei Ihrem Ubuntu 20.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 21.0.1. Möglicherweise müssen Sie die Versionsnummer ändern. Gehen Sie zu https://nextcloud.com/install und klicken Sie auf download for server 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-21.0.1.zip

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

Entpacken Sie das Archiv nach dem Herunterladen mit unzip .

sudo apt install unzipsudo unzip nextcloud-21.0.1.zip -d /var/www/

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

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

Schritt 2:Erstellen Sie eine Datenbank und einen Benutzer für Nextcloud im MariaDB-Datenbankserver

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

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 einen virtuellen Apache-Host für Nextcloud

Erstellen Sie eine nextcloud.conf Datei in /etc/apache2/sites-available/ Verzeichnis, mit einem Befehlszeilen-Texteditor wie Nano.

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

Kopieren Sie den folgenden Text und fügen Sie ihn 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.

 DocumentRoot „/var/www/nextcloud“ ServerName nextcloud.example.com ErrorLog ${APACHE_LOG_DIR}/nextcloud.error CustomLog ${APACHE_LOG_DIR}/nextcloud.access kombiniert  Erfordert alle erteilten Optionen FollowSymlinks MultiViews AllowOverride All  Dav off  SetEnv HOME /var/www/nextcloud SetEnv HTTP_HOME /var/www/nextcloud Satisfy Any 

Speichern und schließen Sie die Datei. (Um eine Datei im Nano-Texteditor zu speichern, drücken Sie Ctrl+O , und drücken Sie dann Enter bestätigen. Drücken Sie zum Beenden Ctrl+X .)

Aktivieren Sie dann diesen virtuellen Host.

sudo a2ensite nextcloud.conf

Führen Sie den folgenden Befehl aus, um die erforderlichen Apache-Module zu aktivieren.

sudo a2enmod rewrite headers env dir mime setenvif ssl

Testen Sie dann die Apache-Konfiguration.

sudo apache2ctl -t

Wenn die Syntax in Ordnung ist, laden Sie Apache neu, damit die Änderungen wirksam werden.

sudo systemctl reset apache2

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 imagemagick php-imagick libapache2-mod-php7.4 php7.4-common php7.4-mysql php7.4-fpm php7.4-gd php7.4-json php7.4-curl php7.4 -zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-bcmath php7.4-gmp

Laden Sie Apache neu, um diese Module zu verwenden.

sudo systemctl apache2 neu laden

Schritt 5:HTTPS aktivieren

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

nächstecloud.example.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 20.04-Repository.

sudo apt install certbot python3-certbot-apache

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

sudo certbot --apache --agree-tos --redirect --staple-ocsp --email [email protected] -d nextcloud.example.com

Wo:

  • –apache2 :Apache Authenticator und Installer verwenden
  • –stimme zu :Nutzungsbedingungen von Let’s Encrypt akzeptieren
  • –Weiterleitung :Erzwingen Sie HTTPS, indem Sie eine 301-Weiterleitung hinzufügen.
  • –staple-ocsp :OCSP-Heften aktivieren.
  • –E-Mail :E-Mail, die für die Registrierung und den Wiederherstellungskontakt verwendet wird.
  • -d Flag folgt eine durch Kommas getrennte Liste von Domänennamen. Sie können bis zu 100 Domainnamen hinzufügen.

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 Apache-Konfigurationsdatei für Nextcloud einfügen kann. Wenn Sie HSTS (HTTP Strict Transport Security) aktivieren möchten, bearbeiten Sie die Datei.

sudo nano /etc/apache2/sites-enabled/nextcloud-le-ssl.conf

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

Header setzt immer Strict-Transport-Security "max-age=31536000"

Wie unten.

Speichern und schließen Sie die Datei. Geben Sie dann Apache-Konfigurationen per SMS ein.

sudo apache2ctl -t

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

sudo systemctl apache2 neu laden

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

Schritt 6:Beenden Sie die Installation in Ihrem Webbrowser

Jetzt können Sie über eine HTTPS-Verbindung auf den Nextcloud-Webinstallationsassistenten zugreifen.

https://nextcloud.example.com

Um die Installation abzuschließen, müssen Sie ein Administratorkonto erstellen, den Pfad des Nextcloud-Datenordners eingeben und die Datenbankdetails eingeben, die Sie in Schritt 2 erstellt haben. 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-Webroot-Verzeichnisses zu platzieren. Anstatt also Benutzerdateien unter /var/www/nextcloud/data/ zu speichern , können wir es in /var/www/nextcloud-data ändern . die mit folgendem Befehl erstellt werden kann:

sudo mkdir /var/www/nextcloud-data

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

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

Klicken Sie auf Finish Setup klicken, 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. Hinweis dass ich dringend empfehle, den iRedMail-Mailserver auf einem frischen, sauberen Betriebssystem auszuführen. Die Installation von iRedMail auf einem Betriebssystem mit anderen Webanwendungen kann fehlschlagen und wahrscheinlich vorhandene Anwendungen beschädigen.

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

So setzen Sie das Nextcloud-Benutzerpasswort über die Befehlszeile zurück

Wenn Sie das Passwort Ihres Administratorkontos verloren und keine E-Mail-Zustellung in Nextcloud eingerichtet haben, müssen Sie das Passwort zurücksetzen, indem Sie den folgenden Befehl auf Ihrem Server ausführen. Ersetzen Sie nextcloud_username mit Ihrem echten Benutzernamen.

sudo -u www-data php /var/www/nextcloud/occ user:resetpassword nextcloud_username 

Es gibt auch andere Befehle, die Sie möglicherweise nützlich finden. Verfügbare Befehle auflisten mit:

sudo -u www-data php /var/www/nextcloud/occ

oder

sudo -u www-data php /var/www/nextcloud/console.php

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 /var/www/nextcloud-data/* /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/ -R

Sie müssen auch die .ocdata kopieren Datei.

sudo cp /var/www/nextcloud-data/.ocdata /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/

Als nächstes müssen Sie www-data festlegen (Apache-Benutzer) als Eigentümer.

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 /var/www/nextcloud/config/config.php

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

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

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

Schritt 7:Erhöhen Sie das PHP-Speicherlimit

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.4/apache2/php.ini

Finden Sie die folgende Zeile. (Zeile 409)

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.4/apache2/php.ini

Laden Sie dann Apache neu, damit die Änderungen wirksam werden.

sudo systemctl apache2 neu laden

Wenn Ihr Server die /etc/php7.4/fpm/php.ini hat -Datei, das heißt, auf Ihrem Server läuft auch PHP-FPM. Ich empfehle, das memory_limit zu ändern auch in PHP-FPM.

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

Suchen Sie das memory_limit Parameter und ändern Sie den Wert. Laden Sie nach dem Speichern der Datei PHP-FPM neu, damit die Änderung wirksam wird.

sudo systemctl reload php7.4-fpm

Schritt 8: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=5.0.7 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=636cde3b5c7a3923

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

Möglicherweise müssen Sie Apache auch neu laden, wenn die Redis-Erweiterung immer noch nicht aktiviert ist.

sudo systemctl apache2 neu laden

Bearbeiten Sie als Nächstes die nextCloud-Konfigurationsdatei.

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

Fügen Sie die folgenden Zeilen über der Endung ); 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 Apache und PHP-FPM neu.

sudo systemctl reset apache2 php7.4-fpm

Gehen Sie nun zu den NextCloud-Einstellungen -> Übersicht Seite erneut aufrufen und die Webseite aktualisieren, sollte die Warnung zum Zwischenspeichern des Speichers verschwunden sein.

Fehlende Indizes hinzufügen

Wenn Sie die folgende Meldung in den NextCloud-Einstellungen sehen -> Übersicht Seite,

Der Datenbank fehlen einige Indizes. Da das Hinzufügen von Indizes bei großen Tabellen einige Zeit in Anspruch nehmen konnte, wurden sie nicht automatisch hinzugefügt.

Dann müssen Sie diese Indizes manuell hinzufügen. Wechseln Sie in das Nextcloud-Webroot-Verzeichnis.

cd /var/www/nextcloud/

Führen Sie den folgenden Befehl aus, um Indizes zur Nextcloud-Datenbank hinzuzufügen.

sudo -u www-data php occ db:add-missing-indices

Wenn Sie jetzt die NextCloud-Einstellungen aktualisieren -> Übersicht Seite sollte die Warnung vor fehlenden Indexen verschwunden sein.

Umwandlung in Big Int

Wenn Sie die folgende Meldung in den NextCloud-Einstellungen sehen -> Übersicht Seite,

Bei einigen Spalten in der Datenbank fehlt die Konvertierung in big int. Da das Ändern von Spaltentypen bei großen Tabellen einige Zeit in Anspruch nehmen kann, wurden sie nicht automatisch geändert.

Dann müssen Sie den Spaltentyp manuell ändern. Wechseln Sie in das Nextcloud-Webroot-Verzeichnis.

cd /var/www/nextcloud/

Versetzen Sie Ihre Nextcloud in den Wartungsmodus, um Benutzer daran zu hindern, sich anzumelden und Änderungen vorzunehmen.

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

Führen Sie dann den folgenden Befehl aus, um den Spaltentyp zu ändern.

sudo -u www-data php occ db:convert-filecache-bigint

Wenn dies erledigt ist, schalten Sie den Wartungsmodus aus.

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

Wenn Sie jetzt die NextCloud-Einstellungen aktualisieren -> Übersicht Seite sollte die Warnung vor Big Int verschwunden sein.

So installieren Sie den NextCloud-Client auf Ubuntu 20.04 Desktop

Führen Sie die folgenden Befehle auf dem Ubuntu 20.04-Desktop aus, um den Client aus dem Standard-Repository zu installieren.

sudo apt install nextcloud-client

NextCloud-Client auf Ubuntu 20.04

Client-Software für macOS, Windows, Android und iOS finden Sie auf der Download-Seite von Nextcloud.

So aktivieren Sie OnlyOffice/Collabora Online

Standardmäßig wird Nextcloud mit Unterstützung für OnlyOffice geliefert, einer Online-Office-Suite, mit der Sie Ihre doc-, ppt- und xls-Dateien direkt von NextCloud aus bearbeiten können. Wir müssen nur eine App installieren, um diese Funktion zu nutzen. Gehen Sie zu Nextcloud Apps -> Office & Text . Suchen und aktivieren Sie den community document server App.

Wenn Sie jetzt in Nextcloud auf die Schaltfläche „Hinzufügen“ (+) klicken, können Sie Word-, Tabellenkalkulations- und Präsentationsdokumente direkt von Ihrem Nextcloud-Server aus erstellen.

Ich fand jedoch, dass diese App nicht sehr zuverlässig ist. Und die Community-Edition erlaubt höchstens 20 Benutzer. Sie müssen eine Enterprise Edition erwerben, wenn Sie mehr als 20 Benutzer haben. Es gibt eine andere auf LibreOffice basierende Open-Source-Online-Office-Suite namens Collabora Online, die die gleiche Funktionalität hat, aber ohne die Begrenzung der Anzahl der Benutzer. Sie können den folgenden Artikel lesen, um es mit Nextcloud zu integrieren.

  • Integrieren Sie Collabora Online mit Nextcloud auf Ubuntu mit Docker

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

Wenn Sie das Apache PHP-Modul zum Ausführen von PHP-Skripten verwenden, gibt es keine Größenbeschränkung für Upload-Dateien. Wenn Sie PHP-FPM zum Ausführen von PHP-Skripts verwenden, müssen Sie die Dateigrößenbeschränkung ändern. Die standardmäßige maximale Dateigröße für das Hochladen in PHP-FPM beträgt 2 MB. Um die Upload-Größenbeschränkung zu erhöhen, bearbeiten Sie die PHP-Konfigurationsdatei.

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

Suchen Sie die folgende Zeile (Zeile 846).

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.4/fpm/php.ini

Starten Sie dann PHP-FPM neu.

sudo systemctl restart php7.4-fpm

HTTP/2-Protokoll aktivieren

Das HTTP/2-Protokoll kann die Ladegeschwindigkeit von Seiten erheblich verbessern. Sie können die folgende Anleitung lesen, um das HTTP/2-Protokoll auf Apache zu aktivieren.

  • Aktivieren des HTTP/2-Protokolls mit Apache unter Ubuntu 20.04

Lokalen DNS-Eintrag hinzufügen

Es wird empfohlen, die Datei /etc/hosts zu bearbeiten Datei auf Ihrem Nextcloud-Server und fügen Sie den folgenden Eintrag hinzu, damit Nextcloud selbst nicht das öffentliche DNS abfragen muss, was die Gesamtstabilität verbessern kann. Wenn Ihr Nextcloud-Server die Datei nextcloud.example.com nicht auflösen kann hostname, dann kann es zu einem 504-Gateway-Timeout kommen Fehler.

127.0.0.1 lokaler Host nextcloud.example.com

Eine IP-Adresse in /etc/hosts Datei kann mehrere Hostnamen haben, wenn Sie also andere Anwendungen auf derselben Box installiert haben, können Sie auch andere Hostnamen oder Subdomains in derselben Zeile wie folgt hinzufügen:

127.0.0.1 localhost focus ubuntu nextcloud.example.com collabora.example.com

Verwenden von Cron zum Ausführen von Hintergrundjobs

Standardmäßig verwendet Nextcloud AJAX, um bei jedem Laden einer Seite eine Aufgabe auszuführen. Sie können den effizienteren Cron-Dienst des Systems verwenden, um Hintergrundjobs auszuführen. Gehen Sie zu den Nextcloud-Einstellungen -> Grundeinstellungen und wählen Sie Cron .

Bearbeiten Sie als Nächstes die www-data Crontab-Datei des Benutzers.

sudo -u www-data crontab -e

Fügen Sie dieser Datei die folgende Zeile hinzu, damit der Cron-Job alle 5 Minuten ausgeführt wird.

*/5 * * * * php7.4 -f /var/www/nextcloud/cron.php

Speichern und schließen Sie die Datei.

Tipps zur Fehlerbehebung

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

  • Apache-Fehlerprotokoll:/var/log/apache2/error.log
  • Apache-Fehlerprotokoll für den virtuellen Nextcloud-Host:/var/log/apache2/nextcloud.error
  • Nextcloud-Anwendungsprotokoll:/var/www/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.4-redis installieren muss zusätzlich zu php-redis Paket.

Wenn Sie die folgende Fehlermeldung in der nextcloud.log sehen Datei, können Sie sie ignorieren.

Konnte keinen Host in https:///data/htaccesstest.txt erkennen

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 LAMP-Stack unter Ubuntu 18.04

  2. So installieren Sie Jenkins Automation Server mit Apache unter Ubuntu 16.04

  3. So installieren Sie WordPress mit LAMP Stack auf Ubuntu 16.04

  4. So installieren Sie WordPress mit LAMP Stack auf Ubuntu 18.04

  5. So installieren Sie WordPress mit LAMP Stack auf Ubuntu 20.04

So installieren Sie den LAMP-Stack unter Ubuntu 20.04

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

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 LAMP Stack (Apache, MariaDB, PHP7.1) unter Ubuntu 17.10

So installieren Sie LAMP Stack auf Ubuntu 20.04 Server/Desktop