Nextcloud-Netzwerkfestplattensicherheit und Dateikonfigurationsoptimierung

Ich musste kürzlich eine Netzwerkfestplatte erstellen, um Dateien zu speichern und zu veröffentlichen. Nach einiger Prüfung stellte ich fest, dass Nextcloud nicht schlecht und einfach zu installieren ist. Nach der Online-Installation von PHP, dem Einrichten des Benutzerkennworts und der Datenbankverbindung funktionierte alles einwandfrei. Besonders wichtig ist die WebDAV-Unterstützung, was sehr hilfreich ist. Nextcloud unterstützt Clients auf Mobiltelefonen und Computern und ist sowohl für Android als auch für Apple geeignet. Sie können auch andere Tools zur Dateiverwaltung für Netzwerkfestplatten herunterladen. Nach erfolgreicher Verbindung können Sie Dateien direkt lesen und verwenden.


Kürzlich musste ich eine Netzwerkfestplatte erstellen, um Dateien zu speichern und zu veröffentlichen. Nach der Überprüfung fand ichNicht schlecht, einfach zu installieren, die Online-Installation von PHP und die Einrichtung der Verbindung zur Benutzerkennwortdatenbank sind in Ordnung. Das Wichtigste ist, dass es WebDAV unterstützt, was eine gute Sache ist. Nextcloud unterstützt Mobiltelefone oder Computer auf dem Client und unterstützt sowohl Android als auch Apple. Sie können auch andere Tools zur Dateiverwaltung von Netzwerkfestplatten herunterladen. Nach erfolgreicher Verbindung können Sie die Datei direkt lesen und verwenden.
Nach der Installation der Cloud-Festplatte auf dem Server und nach dem Überprüfen der Übersicht werden zahlreiche Sicherheits- und Einstellungswarnungen angezeigt. Das ist eine weitere große Falle! Ich habe bei Google gesucht und festgestellt, dass es nicht viele Inhalte zu Nextcloud gibt!

PHP scheint fehlerhaft installiert zu sein und kann nicht auf Systemumgebungsvariablen zugreifen. Der Funktionstest getenv("PATH") hat einen Nullwert zurückgegeben. Bitte beachten Sie die PHP-Konfigurationshinweise in der Installationsanleitung ↗, um die PHP-Konfigurationsinformationen Ihres Servers zu überprüfen, insbesondere bei Verwendung von php-fpm.
Sie müssen am Ende der Datei php-fpm.conf eine Codezeile hinzufügen. php-fpm.conf befindet sich im Verzeichnis etc unter dem auf dem Server installierten PHP-Verzeichnis. Dies ist bei jedem anders. Suchen Sie Ihre eigene php-fpm.conf und bearbeiten Sie sie mit vi.

vi /usr/local/php/etc/php-fpm.conf

Kopieren Sie den folgenden Code an das Ende von php-fpm.conf.

env[PFAD] = /usr/local/bin:/usr/bin:/bin:/usr/local/php/bin
systemctl php-fpm neu laden

Starten Sie den PHP-Dienst neu, damit die Änderungen wirksam werden.
Ihr Webserver ist nicht richtig eingerichtet, um „/.well-known/caldav“ aufzulösen. Ihr Webserver ist nicht richtig eingerichtet, um „/.well-known/carddav“ aufzulösen.
Dies erfordert die Änderung der Konfigurationsdatei nginx.conf in nginx

vi /usr/local/nginx/conf/nginx.conf

Fügen Sie nach dem Öffnen der Datei zwei Codezeilen in server{} hinzu

/.well-known/carddav /remote.php/dav permanent umschreiben; /.well-known/caldav /remote.php/dav permanent umschreiben;

Ändern Sie unter Apache2x die Konfigurationsdatei httpd.conf und entfernen Sie die Nummer # vor LoadModule rewrite_module modules/mod_rewrite.so.
Ändern Sie „AllowOverride none“ in der Konfigurationsdatei in „AllowOverride all“
Der Speichercache ist nicht konfiguriert. Um die Benutzererfahrung zu verbessern, konfigurieren Sie den Speichercache so weit wie möglich.
Caching verbessert die Leistung durch die Speicherung von Daten, Code und anderen Objekten im Speicher. Eine Memcache-Konfiguration für Ihren Nextcloud-Server muss installiert und konfiguriert sein.
Ändern Sie zunächst Ihre MySQL-Konfiguration, bearbeiten Sie die Datei my.cnf und setzen Sie den Wert von innodb_buffer_pool_size auf 1 GB oder höher. Dies hängt von der Größe des Systemspeichers ab. Es wird generell empfohlen, den Wert auf 50%–70% des Serverspeichers einzustellen.
Setzen Sie innodb_io_capacity = 4000. Falls dieser Eintrag nicht verfügbar ist, kopieren Sie ihn und fügen Sie ihn in die Datei my.cnf ein. Speichern Sie und starten Sie den MySQL-Dienst neu.
Nextcloud empfiehlt Apcu, das mit Memcached verwendet werden kann. Aktivieren Sie die Apcu- und Memcached-Erweiterungen von PHP und fügen Sie anschließend Folgendes zur Datei config.php im Nextcloud-Netzwerkverzeichnis hinzu:
Die neuesten Erweiterungsdateien finden Sie inhttp://pecl.php.net/Die neueste Version ist 5.18
Installieren Sie die Apcu-Erweiterung:

wget http://pecl.php.net/get/apcu-5.1.18.tgz tar zxvf apcu-5.1.18.tgz cd apcu-5.1.18 phpize ./configure --with-php-config=/usr/local/php/bin/php-config make make install

Installieren Sie die Erweiterung in bin/php-config in Ihrem PHP-Installationsverzeichnis. Der Pfad sollte Ihrem eigenen Installationspfad entsprechen, da sonst ein Fehler auftritt.
Nach Abschluss der Installation gibt es ein Verzeichnis für apcu.so. Kopieren Sie den folgenden Code in die Datei php.ini und starten Sie den PHP-Dienst neu.

Erweiterung=/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/apcu.so apc.enabled= ein apc.shm_size= 64M apc.enable_cli = ein

Installieren Sie die Memcached-Erweiterung:
Für die Memcached-Erweiterung müssen insgesamt 4 Softwareprogramme kompiliert und installiert werden:

Installieren Sie zuerst libevent, von dem Memcached abhängt.
Installieren Sie dann die Memcached-Bibliothek.
Installieren Sie dann die Bibliothek libmemcached, von der das Memcached-Plug-in von PHP PECL abhängt.
Installieren Sie abschließend das Memcached-Plugin für PHP PECL.
Verstehen Sie die Bestellung nicht falsch!
Die Memcached-Erweiterung muss zuerst installiert werden und ist von libevent abhängig. Die neueste Version von libevent ist 2.1.11.
Installieren Sie die Libevent-Abhängigkeiten:

wget https://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stable.tar.gz tar -zxvf libevent-2.1.11-stable.tar.gz cd libevent-2.1.11-stable ./configure --prefix=/usr/local/libevent make make install

Herunterladen, entpacken, kompilieren und installieren in einem Rutsch. Dann installieren Sie den nächsten.
Installieren Sie die Memcached-Bibliothek. Beachten Sie, dass die Memcached-Bibliothek und die Memcached-Erweiterung zwei verschiedene Dinge sind. Verwechseln Sie sie nicht. Die neueste Version der Memcached-Bibliothek ist 1.6.0.
Installieren Sie die Memcached-Bibliothek:

wget http://www.memcached.org/files/memcached-1.6.0.tar.gz tar -zxvf memcached-1.6.0.tar.gz cd memcached-1.6.0 ./configure --prefix=/usr/local/memcached make make install

Installieren Sie die Bibliothek libmemcached:

wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz tar -zxvf libmemcached-1.0.18.tar.gz cd libmemcached-1.0.18 ./configure --prefix=/usr/local/libmemcached --with-memcached=/usr/local/memcached/bin/memcached make make install

Nachdem die oben genannten Abhängigkeitsbibliotheken installiert wurden, installieren Sie im nächsten Schritt die Memcached-Erweiterung. Gehen Sie zu http://pecl.php.net/ und suchen Sie nach Memcached. Die neueste Version ist 3.15.
Installieren Sie die Memcached-Erweiterung:

wget http://pecl.php.net/get/memcached-3.1.5.tgz tar -zxvf memcached-3.1.5.tgz cd memcached-3.1.5 phpize ./configure --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --enable-memcached --disable-memcached-sasl make -j4 make install

Nach erfolgreicher Installation lautet die Speicheradresse von memcached.so nach der Installation gemeinsam genutzter Erweiterungen:.
Kopieren Sie den folgenden Inhalt und fügen Sie ihn in die Datei php.ini ein. Die Vorgehensweise ist dieselbe wie bei der Installation der oben beschriebenen APCU-Erweiterung.

Erweiterung=/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/memcached.so

Starten Sie abschließend den PHP-Dienst neu, damit die geänderte Konfiguration wirksam wird.

systemctl php-fpm neu laden

Installieren Sie die Redis-Erweiterung:

wget http://pecl.php.net/get/redis-5.2.0.tgz tar -zxvf redis-5.2.0.tgz cd redis-5.2.0 phpize ./configure --with-php-config=/usr/local/php/bin/php-config

Kopieren Sie den folgenden Inhalt in die Datei php.ini, starten Sie den PHP-Dienst neu und aktivieren Sie die Redis-Erweiterung erfolgreich.

Erweiterung=/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/redis.so

Die Erweiterung wurde installiert. Ändern Sie anschließend die Nextcloud-Datei config.php.
Suchen Sie im Website-Verzeichnis nach „config“ und darin nach „config.php“. Bearbeiten Sie „config.php“.
Fügen Sie den folgenden Inhalt unter $CONFIG = Array (in config.php hinzu. Dies ist die Erweiterung, die apcu verwendet.

'memcache.local' = '\\OC\\Memcache\\APCu',

Das PHP-OPcache-Modul wird nicht geladen. Für eine bessere Leistung wird empfohlen, es zu aktivieren.
Was ist Opcache?
Der Vorgänger von Opcache ist Optimizer+, eine Closed-Source-, aber kostenlose PHP-Optimierungs- und Beschleunigungskomponente, die von Zend, dem offiziellen PHP-Hersteller, entwickelt wurde. Optimizer+ speichert die durch Vorkompilieren von PHP-Code generierten Opcode-Skriptdateien im gemeinsam genutzten Speicher zur späteren Verwendung. Dadurch entfällt der Zeitaufwand für das Lesen und erneute Kompilieren des Codes von der Festplatte. Gleichzeitig werden Codeoptimierungsmodi angewendet, um die Ausführung des Codes zu beschleunigen und so die Ausführung von PHP zu beschleunigen.
Wie installiere ich Opcache?
In PHP7 ist Opcache standardmäßig installiert, aber nicht aktiviert. Aktivieren wir es jetzt.
PHP7-Konfigurationsdatei bearbeiten
vim /usr/local/php/etc/php.ini
Geben Sie den Suchbefehl ein:/opcache
Suchen Sie das Feld [opcache]
Kopieren Sie den folgenden Code in die php.ini

zend_extension=opcache.so 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 opcache.optimization_level=1 opcache.force_restart_timeout=3600


Opcache wurde erfolgreich aktiviert.
Das PHP-Speicherlimit ist niedriger als der empfohlene Wert von 512 MB.
Bearbeiten Sie die Datei php.ini und ändern Sie memory_limit auf 512M

vi /usr/local/php/etc/php.ini Speicherlimit = 512 M

Ihr PHP unterstützt FreeType nicht, was dazu führt, dass Profilbilder und Einstellungsschnittstellen beschädigt werden.
Viele Leute denken, dass die Installation der GD-Bibliothek Freetype unterstützt. Freetype ist keine unabhängige PHP-Erweiterung, sondern gehört zur GD-Bibliothek.

wget https://download.savannah.gnu.org/releases/freetype/freetype-2.10.0.tar.gz tar -zxvf freetype-2.10.0.tar.gz cd freetype-2.10.0 ./configure --prefix=/usr/local/freetype make make install

Geben Sie das ext/gd-Verzeichnis der php7-Installationsdatei ein

./configure --with-php-config=/usr/local/php/bin/php-config --with-freetype=/usr/local/freetype make make install

Jetzt unterstützt die GD-Bibliothek bereits Freetype.
Die Datenbank hat einige Indizes verloren. Da das Hinzufügen von Indizes zu großen Tabellen zeitaufwändig ist, repariert das Programm diese nicht automatisch.
Dies kann durch die Ausführung von Befehlen im Website-Verzeichnis gelöst werden.
Verwenden Sie CD, um das Verzeichnis einzugeben, in dem die Website gespeichert ist. Wenn sich die Website beispielsweise unter wwwroot/nextcloud befindet,

cd /wwwroot/nextcloud sudo -u www php occ db:convert-filecache-bigint sudo -u www php occ db:add-missing-indices


Wenn das System die Verwendung von PHP-Befehlen nicht unterstützt, wird eine Fehlermeldung angezeigt: PHP: Befehl nicht gefunden
Überprüfen Sie zunächst die Systemvariablen mit echo $PATH. Falls usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/php/bin nicht existiert, fügen Sie es mit dem folgenden Befehl hinzu.

ln -s /usr/local/php/bin/php /usr/bin/php

In diesem Beispiel fehlen einige empfohlene PHP-Module. Wir empfehlen dringend, diese für eine bessere Leistung und Kompatibilität zu installieren.
Installieren Sie zuerst die ImageMagick-Quelle.

sudo yum -y install http://mirror.centos.org/centos/7/os/x86_64/Packages/ImageMagick-devel-6.7.8.9-18.el7.x86_64.rpm yum search ImageMagick-deve yum install ImageMagick-devel.x86_64

Installieren Sie imagick nach der Installation von ImageMagick-devel. Stellen Sie sicher, dass Sie ImageMagick-devel installieren, sonst schlägt die Installation fehl!
Laden Sie die neueste Version von pecl.php.net herunter. Die neueste stabile Version ist 3.4.4

wget http://pecl.php.net/get/imagick-3.4.4.tgz tar -zxvf imagick-3.4.4.tgz cd imagick-3.4.4 phpize ./configure --prefix=/usr/local/imagemagick --enable-shared make make install

Fügen Sie den folgenden Inhalt zur php.ini hinzu. Starten Sie den PHP-Dienst neu, damit die Erweiterung wirksam wird.

Erweiterung=/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/imagick.so

Das System weist darauf hin, dass die LDAP-Erweiterung installiert werden muss.
Installieren Sie openldap und openldap-devel mit yum und kopieren Sie die Dateien nach der Installation in das Verzeichnis /usr/lib/

yum installiere OpenLDAP yum installiere OpenLDAP-Entwicklung cp -frp /usr/lib64/libldap* /usr/lib/

Geben Sie das Verzeichnis der PHP-Installationsdateien ein

cd php-7.4.3/ext/ldap phpize ./configure --with-php-config=/usr/local/php/bin/php-config make make install

Fügen Sie dann die Datei php.ini hinzu

Erweiterung=/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/ldap.so
1/5 - (1 Stimme)

Das ist eine gute Idee

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