GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie Nextcloud unter Debian 11

Nextcloud ist eine Open-Source-Software zum Erstellen öffentlicher und privater Dateispeicher. Damit können Sie Ihre selbst gehosteten Dienste wie Dropbox, Google Drive oder Mega.nz erstellen. Ursprünglich wurde es vom ursprünglichen owncloud-Entwickler Frank Karlitschek erstellt. 2016 gabelt er das Owncloud-Projekt und erstellt ein neues Projekt mit dem neuen Namen „Nextcloud“

Zu diesem Zeitpunkt wächst das Nextcloud-Projekt schnell und wird mehr als eine Datei-Hosting-Software, es ist eher eine Plattform für die Dateisynchronisierung und die Zusammenarbeit von Inhalten. Unterstützt durch viele Plugins wird Nextcloud zu einer so leistungsstarken 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 dem neuesten Debian 11 Bullseye installieren. Sie installieren Nextcloud unter dem LAMP-Stack (Linux, Apache2/httpd, MySQL/MariaDB und PHP).

Voraussetzungen

  • Ein Debian 11-Server. Stellen Sie sicher, dass alle Pakete auf die neueste Version aktualisiert sind.
  • Ein Root-Benutzer oder ein Benutzer mit Root-Rechten. Dieser Benutzer wird verwendet, um neue Pakete zu installieren und Systemkonfigurationen zu bearbeiten.

Root- und Update-Repositories abrufen

Führen Sie zuerst den folgenden Befehl aus, um die Root-Rechte zu erhalten.

1. Wenn Sie 'sudo haben ' installiert ist, führen Sie den folgenden sudo-Befehl aus.

sudo su

Geben Sie nun das Login-Passwort für Ihren Benutzer ein.

2. Wenn Sie das sudo-Paket nicht haben, führen Sie das 'su aus ' Befehl wie unten

so

Geben Sie nun Ihre root ein Passwort und drücken Sie 'Enter '.

3. Aktualisieren Sie danach alle Ihre Debian-Repositories mit dem folgenden apt-Befehl.

apt-Update

Apache-Webserver installieren

Nach dem Aktualisieren der Debian-Repositories installieren Sie einen Apache-Webserver und aktivieren einige Apache-Module für Nextcloud.

1. Führen Sie den folgenden apt-Befehl aus, um den Apache-Webserver zu installieren.

apt install apache2

Geben Sie 'y ein ' und drücken Sie 'Enter ' um die Installation fortzusetzen.

2. Wenn die Installation abgeschlossen ist, überprüfen Sie den Apache-Dienst mit dem folgenden Befehl.

systemctl is-enabled apache2
systemctl status apache2

Sie sehen die Ausgabe 'enabled ', was bedeutet, dass der Apache-Dienst automatisch beim Systemstart gestartet wird. Und der aktuelle Status des Apache-Dienstes ist „aktiv (wird ausgeführt) '.

3. Aktivieren Sie als Nächstes die Apache-Module „ssl, rewrite und headers“, indem Sie den folgenden a2enmod-Befehl ausführen.

a2enmod ssl rewrite headers

Unten sehen Sie die Ausgabe, die Sie erhalten.

4. Führen Sie danach den folgenden Befehl aus, um den Apache-Dienst neu zu starten.

systemctl startet Apache2 neu

Neue Apache-Module werden angewendet, überprüfen Sie diese Module mit dem Befehl apachectl unten.

apachectl -M | egrep "ssl|rewrite|headers"

Sie werden eine ähnliche Ausgabe wie unten sehen.

Installieren und Konfigurieren von PHP

Für diesen Leitfaden stellen Sie Nextcloud mit der neuesten stabilen Version von PHP 8.0 bereit.

Standardmäßig stellt das Debian-Repository Pakete für PHP 8.0 bereit. Nextcloud erfordert jedoch einige zusätzliche PHP-Pakete, die aus einem Drittanbieter-Repository installiert werden können. Und Sie werden Ihrem Debian-System ein neues Repository hinzufügen.

1. Führen Sie den folgenden Befehl aus, um ein PHP-Repository für das Debian-System hinzuzufügen.

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main"\
| sudo tee /etc/apt/sources.list.d/sury-php.list

Laden Sie den GPG-Schlüssel in die Datei „/etc/apt/trusted.gpg.d herunter ' Verzeichnis.

curl -o /etc/apt/trusted.gpg.d/sury-php8.gpg https://packages.sury.org/php/apt.gpg

Führen Sie nun den Befehl „apt update“ erneut aus, um alle Repositories zu aktualisieren.

apt-Update

2. Installieren Sie PHP-Pakete und zusätzliche PHP-Module für Nextcloud mit dem folgenden apt-Befehl.

apt install -y php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu

Führen Sie danach den apt-Befehl erneut aus, um einige zusätzliche Pakete zu installieren.

apt install -y libmagickcore-dev

Die Datei „libmagickcore-dev '-Pakete werden vom php-imagick für die SVG-Bildverarbeitung auf Nextcloud benötigt.

3. Wenn die Installation aller Pakete abgeschlossen ist, ändern Sie das Arbeitsverzeichnis in „/etc/php/8.0/apache2 ' und bearbeiten Sie die Konfiguration 'php.ini ' mit nano.

cd /etc/php/8.0/apache2/
nano php.ini

Ändern Sie für die grundlegende nextcloud-Bereitstellung die Standardoptionen mithilfe 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
output_buffering =Aus

Entkommentieren Sie die 'zend_extension=opcache ' Option zum Laden der Opcache-Erweiterung.

zend_extension=opcache

Wechseln Sie zum Abschnitt „[opcache]“ und fügen Sie die folgende Konfiguration hinzu.

[opcache]
...
....
.....
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

Speichern Sie die Konfiguration durch Drücken von 'Strg+x ' und geben Sie 'y ein ' und drücken Sie dann 'Enter ' zum Beenden.

4. Starten Sie nun den Apache-Dienst neu, um neue Änderungen mit dem folgenden Befehl zu übernehmen.

systemctl startet Apache2 neu

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.

apt install mariadb-server mariadb-client

Geben Sie 'y ein ', um Mariadb-Pakete zu bestätigen und zu installieren.

2. Überprüfen Sie nach Abschluss der Installation den Mariadb-Dienst mit dem folgenden Befehl.

systemctl is-enabled mariadb
systemctl status mariadb

Der mariadb-Dienst ist aktiv und wird ausgeführt, und er ist so aktiviert, dass er beim Systemstart automatisch gestartet wird.

3. 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 Befehlszeilentool 'mysql_secure_installation' verwenden, das 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 einzugeben. Drücken Sie einfach 'Enter ' um fortzufahren.

Aktuelles Passwort für root eingeben (Eingabe für keins):
OK, Passwort erfolgreich verwendet, weiter geht's...

Geben Sie 'Y ein ', um den 'unix_socket zu aktivieren ' Authentifizierung für den Benutzer 'root '.

Zur unix_socket-Authentifizierung wechseln [J/n] J
Aktiviert erfolgreich!
Berechtigungstabellen werden neu geladen..
 ... Erfolgreich!

Geben Sie Ihr starkes Mariadb-Root-Passwort ein und wiederholen Sie es, und drücken Sie dann "Enter " um fortzufahren.

Das Root-Passwort ändern? [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 und Benutzer für Nextcloud erstellen

1. Melden Sie sich mit dem folgenden mysql-Befehl bei der Mariadb-Shell an.

mysql -u root -p

2. Führen Sie nun die folgende MySQL-Abfrage aus, um eine neue Datenbank „nextcloud_db“ zu erstellen ".

DATENBANK ERSTELLEN nextcloud_db;

3. Führen Sie die folgende Abfrage aus, um einen neuen Datenbankbenutzer "nextclouduser" anzulegen ". Ändern Sie das "strongpassword " mit Ihrem starken Passwort.

NUTZER ERSTELLEN [E-Mail-geschützt] IDENTIFIZIERT DURCH „StrongPassword“;

4. Erlauben Sie dem Benutzer „nextclouduser ", um auf die Datei "nextcloud_db zuzugreifen und sie zu schreiben " mit der folgenden Abfrage.

GEWÄHREN SIE ALLE PRIVILEGIEN AUF nextcloud_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/
curl -o nextcloud.zip https://download.nextcloud.com/server/releases/nextcloud-22.1.1.zip

2. Installieren Sie nun das entpackte Paket mit dem folgenden Befehl.

apt install unzip

3. Extrahieren Sie als Nächstes den Nextcloud-Quellcode „nextcloud.zip " und Sie erhalten ein neues Verzeichnis "nextcloud", ändern Sie dann den Besitzer der "nextcloud " Verzeichnis nach "www-data " Benutzer.

nextcloud-22.1.0.zip entpacken
chown -R www-data:www-data nextcloud

Jetzt können Sie SSL Letsencrypt generieren und den virtuellen Apache-Host für Nextcloud konfigurieren.

Generieren von SSL Letsencrypt

In dieser Phase installieren Sie das certbot-Tool und generieren die SSL-Zertifikate für die Nextcloud-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.

apt install certbot

Geben Sie 'y ein ' und drücken Sie 'Enter ' um die Installation fortzusetzen.

2. Sobald die Installation abgeschlossen ist, erstellen Sie mit den folgenden Befehlen ein neues Verzeichnis für die letsencrypt-Autorisierung.

mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt

3. Als nächstes ändern Sie das Arbeitsverzeichnis in „/etc/apache2/conf-available/ " und erstellen Sie eine neue Konfiguration "well-known.conf " mit nano.

cd /etc/apache2/conf-available/
nano well-known.conf

Kopieren Sie die folgende Konfiguration und fügen Sie sie ein.

Alias ​​/.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"

    AllowOverride None
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS

Drücken Sie "Strg+x " und geben Sie "y ein " und drücken Sie 'Enter ' um die Konfiguration zu speichern und zu beenden.

Aktivieren Sie nun die neue Konfiguration, indem Sie einen Symlink der 'well-known.conf erstellen '-Datei in das Verzeichnis 'conf-enabled' mit dem 'ln ' Befehl unten.

ln -s /etc/apache2/conf-available/well-known.conf /etc/apache2/conf-enabled/

4. Führen Sie nun die folgenden Befehle aus, um die Apache-Konfiguration zu überprüfen und den Apache-Dienst neu zu starten.

apachectl configtest
systemctl reset apache2

Wenn 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-name.io

Wenn der Vorgang abgeschlossen ist, sind Ihre SSL-Zertifikate unter „/etc/letsencrypt/live/files.domain-name.io/ verfügbar " Verzeichnis.

Apache Virtual Host für Nextcloud einrichten

In diesem Schritt fügen Sie eine neue virtuelle Apache/httpd-Hostkonfiguration für Nextcloud hinzu.

1. Ändern Sie das Arbeitsverzeichnis in „/etc/apache2/sites-available/ " und erstellen Sie eine neue Konfiguration "nextcloud.conf " mit nano.

cd /etc/apache2/sites-available/
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-name.io
    ServerAlias ​​www.files.domain-name.io

    # HTTP automatisch auf HTTPS umleiten
    Permanent umleiten / https://files.domain-name.io/



    Servername files.domain-name .io
    ServerAlias ​​www.files.domain-name.io
 
    DocumentRoot /var/www/nextcloud/

    Protokolle h2 http/1.1

    # Automatische Umleitung von www zu Nicht-www
   
        Umleitung permanent / https://files. domain-name.io/
   


    # Protokolldateien
    ErrorLog /var/log/apache2/files.domain-name.io-error.log
    CustomLog /var/log/apache2/files.domain-name.io-access.log kombiniert

    SSLEngine On
    SSLCertificateFile /etc/letsencrypt/live/files.domain-name. io/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/files.domain-name.io/privkey.pem

    # HSTS
   
        Header immer auf 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 , und drücken Sie dann die Eingabetaste ' um die Konfiguration zu speichern und zu beenden.

2. Aktivieren Sie nun die 'nextcloud.conf ' Konfiguration des virtuellen Hosts durch Ausführen des folgenden Befehls.

a2ensite nextcloud.conf

3. Überprüfen Sie nun die neue Apache-Konfiguration und vergewissern Sie sich, dass kein Fehler vorliegt, und starten Sie dann den Apache-Dienst neu.

apachectl configtest
systemctl reset apache2

Nextcloud-Installation

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.

https://files.domain-name.io

Erstellen Sie Ihren ersten und Admin-Benutzer für Nextcloud und das Datenverzeichnis ist für den Benutzer 'www-data schreibbar '.

2. Scrollen Sie die Seite nach unten, geben Sie den Namen der Datenbank, den Benutzer und das Passwort ein. Für die Option 'Empfohlene Apps installieren ', deaktivieren um die Installation zu beschleunigen. Klicken Sie dann auf 'Einrichtung abschließen ' Schaltfläche, um Nextcloud zu installieren.

3. Wenn die Installation erfolgreich war, sehen Sie das Nextcloud-Dashboard wie unten gezeigt.

4. Klicken Sie nun oben rechts auf das Benutzersymbol und dann auf das Menü „Einstellungen“. '. In der 'Verwaltung Klicken Sie im Abschnitt auf „Übersicht“. '.

  • Im Abschnitt „Sicherheits- und Einrichtungswarnungen“ finden Sie einige Empfehlungen, die Sie je nach Ihrer Installationsumgebung befolgen müssen.
  • Im Abschnitt "Versionen" sehen Sie den aktuellen Zweig Ihrer Nextcloud-Installation.

5. Klicken Sie anschließend auf das Menü „System“. ' ganz unten in der 'Verwaltung ' Abschnitt.

Sie sehen Details zu Ihrer Umgebung, Systemauslastung, Speicherplatzstatus, Speicherstatus, Netzwerkstatus usw.

6. Wie bereits erwähnt, ist die Nextcloud mehr als nur eine Dateisynchronisierung geworden. Mit der Unterstützung zusätzlicher Apps/Plug-ins wird es zu einem Kollaborationsanzug.

Klicken Sie oben rechts beim Profilsymbol auf das Menü „Apps“. ', und Sie werden den nextcloud Apps Store wie unten sehen.

Wählen Sie die Apps aus, die Sie installieren möchten, und klicken Sie dann auf die Schaltfläche „Herunterladen und aktivieren ' um neue Apps zu installieren.

7. Unten sehen Sie die Standardansicht des Nextcloud-Benutzer-Dashboards. Sie können die Funktionalität Ihres Dashboards erweitern, indem Sie zusätzliche Plugins installieren.

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 " Nano-Editor verwenden.

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 ", und drücken Sie dann 'Enter ' 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.

Auf dem Debian-Linux-System läuft die Standard-Apache-Installation unter dem Benutzer „www-data ". Erstellen Sie einen neuen Cronjob für den Benutzer "www-data " mit dem folgenden Befehl.

crontab -u www-data -e

Wenn Sie mehrere Editoren auf Ihrem System haben, wählen Sie den Editor als Ihre bequeme Verwendung. Für diese Anleitung verwenden wir einen Nano-Editor.

Fügen Sie die folgende Konfiguration hinzu.

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

Speichern Sie die Konfiguration und beenden Sie.

Cronjob-Konfiguration, die Sie kennen müssen:

  • Diese Cronjob-Konfiguration erlaubt dem Benutzer "www-data ", 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 www-data -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 Debian 11 Bullseye 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.


Debian
  1. So installieren Sie R unter Debian 9

  2. So installieren Sie R unter Debian 10

  3. So installieren Sie Nextcloud auf Debian 9

  4. So installieren Sie Java 17 in Debian 11

  5. So installieren Sie NextCloud 13 auf Debian 9

So installieren Sie Nextcloud unter Debian 8

So installieren Sie Go unter Debian 10

So installieren Sie Nextcloud unter Debian 11

So installieren Sie Tomcat 9 auf Debian 11

So installieren Sie Apache unter Debian 11

So installieren Sie Go unter Debian