Nextcloud ist eine kostenlose Open-Source-Software, mit der Sie Datei-Hosting-Dienste wie Dropbox, Google Drive oder Mega.nz erstellen können. Es wurde vom ursprünglichen owncloud-Entwickler Frank Karlitschek erstellt. 2016 gabelt er die Owncloud project und erstellt ein neues Projekt mit dem Namen „Nextcloud ".
Zu diesem Zeitpunkt ist die Nextcloud Projekt wächst schnell und wird mehr als nur Datei-Hosting-Software. Mit der Unterstützung vieler Plugins wird Nextcloud zu einer solchen Collaboration-Software. Sie können Plugins für Projektmanagement, Videokonferenzen, gemeinsame Bearbeitung, Notizen, E-Mail-Client usw. installieren.
In dieser Anleitung erfahren Sie, wie Sie Nextcloud auf Rocky Linux 8.4 installieren. Sie installieren Nextcloud unter dem LAMP-Stack (Linux, Apache2/httpd, MySQL/MariaDB und PHP).
Voraussetzungen
- Ein Rocky Linux-Server. Stellen Sie sicher, dass alle Pakete auf die neueste Version aktualisiert sind.
- Ein Benutzer mit Root-Rechten. Dieser Benutzer erhält die Root-Rechte durch den Befehl sudo.
Installieren von Apache/Httpd-Webserver
Zunächst installieren Sie den Apache- oder httpd-Webserver auf dem Rocky Linux-Server.
1. Führen Sie den folgenden dnf-Befehl aus, um den httpd-Webserver zu installieren.
sudo dnf install httpd
Geben Sie "j ein " und drücken Sie "Enter ", um httpd-Pakete zu bestätigen und zu installieren.
2. Wenn die Installation abgeschlossen ist, aktivieren und starten Sie den httpd-Dienst mit dem folgenden Befehl.
sudo systemctl enable httpd
sudo systemctl start httpd
Die "systemctl enable " Der Befehl ermöglicht es dem Dienst, bei jedem Start zu starten.
3. Führen Sie danach den folgenden Befehl aus, um den httpd-Dienst zu überprüfen.
sudo systemctl status httpd
Und Sie erhalten ein ähnliches Ergebnis wie unten.
Wie auf dem oberen Screenshot zu sehen ist, ist httpd aktiv und wird ausgeführt.
Installation von PHP auf Rocky Linux
Aktuell benötigt Nextcloud für die Installation PHP 7.4 oder höher. Jetzt installieren Sie PHP 7.4 aus dem Remi-Repository.
1. Führen Sie den folgenden Befehl aus, um das epel- und remi-Repository hinzuzufügen
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf install https://rpms.remirepo.net/enterprise/ remi-release-8.rpm
Geben Sie "j ein " und drücken Sie "Enter ", um das epel- und remi-Repository hinzuzufügen.
Wenn die Installation abgeschlossen ist, überprüfen Sie das epel- und Remi-Repository mit dem folgenden Befehl.
sudo dnf repolist
Sie sehen das epel- und remi-Repository in der Repository-Liste.
2. Setzen Sie als Nächstes das Standard-Repository-Modul PHP zurück. Aktivieren Sie dann das Modul für PHP 7.4 aus dem Remi-Repository.
Führen Sie den folgenden Befehl aus, um das standardmäßige PHP-Modul-Repository zurückzusetzen.
sudo dnf module reset php
Geben Sie dabei "y ein " und drücken Sie "Enter ", um das GPG-Schlüsselremi-Repository hinzuzufügen.
Führen Sie danach den folgenden Befehl aus, um das PHP-Modul aus dem Remi-Repository zu aktivieren.
sudo dnf module enable php:remi-7.4
Geben Sie "j ein " zur Bestätigung und drücken Sie "Enter ", um fortzufahren. Jetzt können Sie PHP und alle Erweiterungen für die WordPress-Installation installieren.
3. Führen Sie den folgenden Befehl aus, um PHP mit einigen notwendigen Erweiterungen zu installieren.
sudo dnf install php php-ctype php-curl php-gd php-iconv php-json php-libxml php-mbstring php-openssl php-posix php-session php-xml php-zip php-zlib php-pdo php -mysqlnd php-intl php-bcmath php-gmp php-imagick php-apcu
4. Bearbeiten Sie nach Abschluss der PHP-Installation die Konfiguration „php.ini " Nano-Editor verwenden.
nano /etc/php.ini
Ändern Sie den Standardwert mit der folgenden Konfiguration.
file_uploads =Ein
allow_url_fopen =Ein
memory_limit =512M
upload_max_filesize =500M
post_max_size =600M
max_execution_time =300
display_errors =Off
date.timezone =Europa/Amsterdam
Drücken Sie "Strg+x " und geben Sie "Y ein ", um die Konfiguration zu speichern und zu beenden.
Die wichtige Konfiguration, die Sie kennen müssen:
- Für die Nextcloud-Produktion benötigen Sie das "memory_limit " mehr als 512 MB.
- Die Datei "upload_max_filesize " Mit der Option können Sie die maximale Größe für den Upload auf Ihren Nextcloud-Server festlegen.
- Die Datei "post_max_size " Option muss höher sein als "upload_max_filesize " Option.
- Die Datei "date.timezone " muss mit der lokalen Systemzeit übereinstimmen "/etc/localtime ".
- Erhöhen Sie die "max_execution_time " abhängig von Ihrer Serverauslastung.
5. Als nächstes ändern Sie das Arbeitsverzeichnis in „/etc/php.d/ " und bearbeiten Sie die Konfiguration "10-opcache.ini " Nano-Editor verwenden.
cd /etc/php.d/
nano 10-opcache.ini
Fügen Sie die folgende Konfiguration hinzu, um das PHP-Opecache-Plugin zu aktivieren.
opcache.enable =1
opcache.interned_strings_buffer =8
opcache.max_accelerated_files =10000
opcache.memory_consumption =128
opcache.save_comments =1
opcache. revalidate_freq =1
Drücken Sie "Strg+x " und geben Sie "Y ein ", um die Konfiguration zu speichern und zu beenden.
6. Um eine neue PHP-Konfiguration anzuwenden, starten Sie den httpd-Dienst mit dem folgenden Befehl neu.
sudo systemctl restart httpd
Installieren und Konfigurieren von MariaDB
In dieser Phase installieren Sie den mariadb-Datenbankserver, sichern die mariadb-Bereitstellung und erstellen eine neue Datenbank und einen neuen Benutzer für Nextcloud.
1. Um den Mariadb-Datenbankserver zu installieren, führen Sie den folgenden Befehl aus.
sudo dnf install mariadb mariadb-server
Warten Sie auf die Mariadb-Installation.
2. Sobald die Installation abgeschlossen ist, aktivieren und starten Sie den mariadb-Dienst mit dem folgenden Befehl.
sudo systemctl enable mariadb
sudo systemctl start mariadb
4. Die Mariadb ist aktiv und wird ausgeführt. Führen Sie den folgenden Befehl aus, um den Mariadb-Dienst zu überprüfen.
sudo systemctl status mariadb
Wenn der mariadb-Dienst läuft, erhalten Sie eine ähnliche Ausgabe wie unten.
5. Als nächstes müssen Sie Ihre mariadb-Bereitstellung sichern, indem Sie das Root-Passwort für mariadb einrichten und einige Standardkonfigurationen entfernen. Dazu können Sie das Kommandozeilentool 'mysql_secure_installation verwenden ', die in der Standardinstallation von Mariadb enthalten ist.
Führen Sie die "mysql_secure_installation " Befehl unten.
mysql_secure_installation
Zuerst werden Sie aufgefordert, das Mariadb-Root-Passwort einzurichten.
Geben Sie Ihr starkes Mariadb-Root-Passwort ein und wiederholen Sie es, und drücken Sie dann "Enter " um fortzufahren.
Das Festlegen des Root-Passworts stellt sicher, dass sich niemand ohne die entsprechende Autorisierung beim MariaDB
Root-Benutzer anmelden kann.
Root-Passwort festlegen? [Y/n] Y
Neues Passwort:
Neues Passwort erneut eingeben:
Passwort erfolgreich aktualisiert!
Berechtigungstabellen werden neu geladen..
... Erfolgreich!
Geben Sie nun „Y ein " und drücken Sie "Enter ", um den standardmäßigen anonymen Benutzer vom Mariadb-Server zu entfernen.
Standardmäßig hat eine MariaDB-Installation einen anonymen Benutzer, sodass sich jeder
bei MariaDB anmelden kann, ohne dass ein Benutzerkonto für ihn erstellt werden muss
. Dies ist nur zum Testen gedacht und um die Installation
etwas reibungsloser zu gestalten. Sie sollten sie entfernen, bevor Sie in eine
Produktionsumgebung wechseln.
Anonyme Benutzer entfernen? [Y/n] Y
... Erfolgreich!
Deaktivieren Sie danach die Remote-Anmeldung für den Standardbenutzer 'root '. Geben Sie "J ein " und drücken Sie "Enter " um fortzufahren.
Normalerweise sollte root nur erlaubt sein, sich von 'localhost' aus zu verbinden. Dies
stellt sicher, dass niemand das Root-Passwort aus dem Netzwerk erraten kann.
Root-Anmeldung aus der Ferne verbieten? [Y/n] Y
... Erfolgreich!
Geben Sie "J ein " erneut, um die Standarddatenbank "test" zu entfernen " und drücken Sie "Enter ".
Standardmäßig enthält MariaDB eine Datenbank namens „test“, auf die jeder
zugreifen kann. Dies ist ebenfalls nur für Testzwecke gedacht und sollte entfernt werden,
bevor Sie in eine Produktionsumgebung wechseln.
Testdatenbank und Zugriff darauf entfernen? [Y/n] Y
- Testdatenbank wird gelöscht...
... Erfolg!
- Berechtigungen für Testdatenbank werden entfernt...
... Erfolg!Geben Sie als letztes „Y ein " erneut, um alle Tabellenberechtigungen neu zu laden und eine neue Konfiguration anzuwenden.
Durch das Neuladen der Berechtigungstabellen wird sichergestellt, dass alle bisher vorgenommenen Änderungen
sofort wirksam werden.
Berechtigungstabellen jetzt neu laden? [Y/n] Y
... Erfolgreich!Jetzt ist der Vorgang abgeschlossen und Sie sehen die folgende Ausgabe.
Aufräumen...
Fertig! Wenn Sie alle oben genannten Schritte ausgeführt haben, sollte Ihre MariaDB
Installation jetzt sicher sein.
Danke, dass Sie MariaDB verwenden!Datenbank für Nextcloud erstellen
1. Melden Sie sich mit dem folgenden mysql-Befehl bei der Mariadb-Shell an.
mysql -u root -p2. Führen Sie nun die folgende MySQL-Abfrage aus, um eine neue Datenbank „nextcloud_db“ zu erstellen.
DATENBANK ERSTELLEN netxcloud_db;3. Führen Sie die folgende Abfrage aus, um einen neuen Datenbankbenutzer "nextuser" anzulegen ". Ändern Sie das "strongpassword " mit Ihrem starken Passwort.
NUTZER ERSTELLEN [E-Mail-geschützt] IDENTIFIZIERT DURCH „StrongPassword“;4. Erlauben Sie dem Benutzer „nextuser ", um auf die Datei "nextcloud_db zuzugreifen und sie zu schreiben " mit der folgenden Abfrage.
GEWÄHREN SIE ALLE PRIVILEGIEN AUF netxcloud_db.* AN [email protected];5. Laden Sie nun alle Tabellenrechte neu, um die neue Datenbankkonfiguration anzuwenden.
FLUSH-RECHTE;Dann können Sie "quit" eingeben " und drücken Sie "Enter ", um die Mariadb-Shell zu verlassen.
Nextcloud-Quellcode herunterladen
1. Ändern Sie das Arbeitsverzeichnis in „/var/www " und laden Sie die neueste Version des Nextcloud-Quellcodes mit dem wget-Befehl wie unten beschrieben herunter.
cd /var/www/
wget https://download.nextcloud.com/server/releases/nextcloud-22.1.0.zip2. Extrahieren Sie den Nextcloud-Quellcode „nextcloud-xx.zip “ und Sie erhalten ein neues Verzeichnis „nextcloud ", und ändern Sie dann den Besitzer der "nextcloud " Verzeichnis nach "Apache " Benutzer.
nextcloud-22.1.0.zip entpacken
chown -R apache:apache nextcloudJetzt können Sie den virtuellen httpd-Host für Nextcloud konfigurieren.
Apache/Httpd mod_ssl-Modul aktivieren
Für dieses Tutorial installieren Sie Nextcloud und sichern es mit SSL von Letsencrypt. Sie müssen also mod_ssl für den httpd-Server auf Rocky Linux aktivieren.
1. Installieren Sie das Paket „mod_ssl " mit dem folgenden dnf-Befehl.
sudo dnf install mod_ssl mod_http22. Generieren Sie danach das Standard-SSL für localhost mit dem Befehl openssl unten. Wenn Sie jedoch bereits Zertifikate "/etc/pki/tls/private/localhost.key " und "/etc/pki/tls/certs/localhost.crt ", können Sie diese Phase überspringen.
openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crtSie können für alle Fragen einfach die Eingabetaste drücken, da dieses Zertifikat nur für localhost verwendet wird, nicht für den WordPress-Domänennamen.
3. Führen Sie nun den folgenden Befehl aus, um die mod_ssl sicherzustellen ist auf dem httpd-Webserver verfügbar.
apachectl -M | grep sslWenn Sie die Ausgabe wie "ssl ", dann ist mod_ssl aktiviert. Andernfalls erhalten Sie eine leere Ausgabe.
Generieren von SSL Letsencrypt mit Certbot
In dieser Phase installieren Sie das Cerbot-Tool und generieren die SSL-Zertifikate für die WordPress-Installation. Sie generieren SSL-Letsencrypts mit dem Webroot-Plugin.
1. Führen Sie den folgenden Befehl aus, um das certbot-Tool zum Generieren von SSL Letsencrypt zu installieren.
sudo dnf install certbotWarten Sie auf den Installationsvorgang.
2. Sobald die Installation abgeschlossen ist, erstellen Sie mit den folgenden Befehlen ein neues Verzeichnis für die letsencrypt-Autorisierung.
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp apache /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt3. Als nächstes ändern Sie das Arbeitsverzeichnis in „/etc/httpd/conf.d/ " und erstellen Sie eine neue Konfiguration "well-known.conf " Nano-Editor verwenden.
cd /etc/httpd/conf.d/
nano well-known.confFügen Sie die folgenden Konfigurationen hinzu.
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
AllowOverride None
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONSDrücken Sie "Strg+x " und geben Sie "y ein " zum Speichern und Beenden.
4. Führen Sie nun die folgenden Befehle aus, um die httpd-Konfiguration zu überprüfen und den httpd-Dienst neu zu starten.
apachectl configtest
sudo systemctl reset httpdWenn Sie keinen Fehler haben, können Sie SSL Letsencrypt mit dem Webroot-Plugin generieren.
5. Stellen Sie vor dem Generieren von SSL Letsencrypt sicher, dass Ihr Domänenname in die Server-IP-Adresse aufgelöst wird. Danach können Sie SSL Letsencrypt mit dem Webroot-Plugin generieren, indem Sie den Befehl certbot unten ausführen. Ändern Sie außerdem die E-Mail-Adresse und den Domänennamen in Ihre eigenen.
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d files.domain.com -dWenn der Vorgang abgeschlossen ist, sind Ihre SSL-Zertifikate unter „/etc/letsencrypt/live/files.domain.com/ verfügbar " Verzeichnis.
Einrichten des virtuellen Apache-Hosts für Nextcloud
In diesem Schritt fügen Sie eine neue virtuelle Apache/httpd-Hostkonfiguration für Nextcloud hinzu.
1. Ändern Sie das Arbeitsverzeichnis in „/etc/httpd/conf.d " und erstellen Sie eine neue Konfiguration "nextcloud.conf " Nano-Editor verwenden.
cd /etc/httpd/conf.d/
nano nextcloud.confÄndern Sie den Detail-Domänennamen und das SSL-Pfadverzeichnis in Ihre eigenen und fügen Sie die Konfiguration in die "nextcloud.conf ein " Datei.
ServerName files.domain.com
ServerAlias www.files.domain.com
# Automatische Umleitung von HTTP zu HTTPS
Umleitung permanent / https://files.domain.com/
Servername files.domain.com
ServerAlias www .files.domain.com
DocumentRoot /var/www/nextcloud/
Protokolle h2 http/1.1
# automatische Umleitung von www zu Nicht- www
Permanente Weiterleitung / https://files.domain.com/
# Protokolldateien
ErrorLog /var/log/httpd/files.domain.com-error.log
CustomLog /var/log/httpd/files.domain.com- access.log kombiniert
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/files.domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/files.domain .com/privkey.pem
# HSTS
Header immer Strict-Transport-Security "max-age=15552000; includeSubDomains"
Optionen +Symlinks folgen
AllowOverride All
Dav aus
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
Drücken Sie "Strg+x " und geben Sie "Y ein ", um die Konfiguration zu speichern und zu beenden.
3. Führen Sie als Nächstes den folgenden Befehl aus, um die httpd-Konfiguration zu überprüfen.
sudo apachectl configtestWenn Sie keinen Fehler erhalten, starten Sie den httpd-Dienst mit dem folgenden Befehl neu.
sudo systemctl restart httpdJetzt sind Sie bereit für die Installation von Nextcloud über den Webbrowser.
Installation von Nextcloud
Wenn alle zugehörigen Serverkonfigurationen abgeschlossen sind, können Sie mit dem Webbrowser auf Ihre Nextcloud-Installation zugreifen.
1. Öffnen Sie Ihren Webbrowser und geben Sie die URL-Adresse Ihrer Nextcloud-Installation ein.
http://files.domain.com
Jetzt werden Sie auf die sichere HTTPS-Verbindung umgeleitet und Sie erhalten die Seite wie folgt.
- Geben Sie im Abschnitt "Administratorkonto erstellen" einen neuen Benutzernamen und ein neues Passwort für Ihren Administrator ein.
- Belassen Sie den Abschnitt "Datenordner" jetzt als Standard.
- Wählen Sie im Abschnitt "Datenbank konfigurieren" "MySQL/MariaDB" und geben Sie Details zur Datenbankkonfiguration ein
- Außerdem können Sie empfohlene Apps installieren, indem Sie die Kontrollkästchen aktivieren. Oder deaktivieren Sie die Kontrollkästchenoption, wenn Sie dies nicht möchten.
Danach können Sie auf „Einrichtung abschließen“ klicken " Schaltfläche.
2. Nachdem der Installationsvorgang abgeschlossen ist, sehen Sie das standardmäßige Nextcloud-Dashboard wie unten gezeigt.
3. Klicken Sie nun auf das Menü „Dateien " und Sie sehen die Benutzer-Dashboard-Liste mit Dateien und Ordnern.
4. Um auf die Verwaltungsseite zuzugreifen, klicken Sie oben auf das Benutzerprofil und wählen Sie "Einstellungen". ".
Unter „Administrative " Abschnitt können Sie die Standard-Nextcloud-Konfiguration ändern.
5. Um neue Plugins oder Apps hinzuzufügen, können Sie oben auf das Benutzerprofil klicken und „Apps“ auswählen ".
Jetzt erhalten Sie die Seite wie folgt.
Wählen Sie die für Sie passende Plugin-Kategorie und klicken Sie dann auf die Schaltfläche „Herunterladen und aktivieren ". Klicken Sie danach auf "Aktivieren ", um die App oder das Plugin zu aktivieren.
Unten ist der Screenshot nach dem Aktivieren des Nextcloud Breeze Dark-Designs.
Nextcloud-Leistungsoptimierung
Nach der Installation von Nextcloud können Sie weitere Schritte unternehmen, um die Leistung von Nextcloud zu steigern, indem Sie den lokalen Speichercache aktivieren und einen Cronjob für Nextcloud selbst einrichten.
1. Im oberen Bereich der PHP-Installation haben Sie PHP bereits für das Caching eingerichtet. Um das Caching auf Nextcloud zu aktivieren, bearbeiten Sie die Nextcloud-Konfiguration „config.php“.
Ändern Sie das Arbeitsverzeichnis in "/var/www/nextcloud/config " und bearbeiten Sie die Konfiguration "config.php" Verwenden des Nano-Editors.
cd /var/www/nextcloud/config/
nano config.php
Fügen Sie die folgende Konfiguration innerhalb des 'Array ( .. ); hinzu ' Klammer wie unten
$CONFIG =Array (
....
....
....
# Zusätzliche Konfiguration
'memcache.local' => '\OC\Memcache\APCu',
);
Drücken Sie nun "Strg+x " und geben Sie "y ein ", um die Konfiguration zu speichern und zu beenden.
2. Ein Nextcloud-System muss einige Hintergrundaufgaben regelmäßig und ohne Benutzer-/Administratorinteraktion ausführen. Dazu können Sie den Cronjob für Taskplaner-Nextcloud-Aufgaben verwenden.
Unter Rocky Linux ist der standardmäßige httpd-Benutzer „apache ". Erstellen Sie einen neuen Cronjob für den Benutzer "Apache " mit dem folgenden Befehl.
crontab -u apache -e
Fügen Sie die folgende Konfiguration hinzu.
*/5 * * * * php -f /var/www/nextcloud/cron.php
Hinweis zur Konfiguration und zum Beenden.
Cronjob-Konfiguration, die Sie kennen müssen:
- Diese Cronjob-Konfiguration erlaubt dem Benutzer "apache ", um das PHP-Skript "/var/www/nextcloud/cron.php auszuführen " alle 5 Minuten .
Um die Cronjob-Konfiguration zu überprüfen, können Sie den folgenden Befehl ausführen.
crontab -u apache -l
Wenn Ihre Konfiguration erfolgreich ist, erhalten Sie die Konfiguration oben als Ausgabe. Andernfalls erhalten Sie ein leeres Ergebnis.
Schlussfolgerung
Glückwunsch! Sie haben Nextcloud erfolgreich auf Rocky Linux 8.4 installiert. Der Nextcloud-Server läuft unter dem LAMP Stack mit aktiviertem SSL. Außerdem läuft Ihre Nextcloud-Installation mit aktiviertem Speicher-Caching mit PHP APC- und Opcache-Erweiterungen.