Nextcloud 23 - Sicherheitswarnungen

System: Debian 11.1 (lÀuft als Proxmox lxc-Container)
Webserver: nginx
php: php8.0 fpm
Datenbank: mariaDB 10
nextcloud-Version: Nextcloud Hub II (23.0.0)

Hallo,

hoffe, dass ich alle Angaben angegeben habe, die benötigt werden.

Beim Aufruf der Sicherheits- und Einrichtungswarnungen werden eine Reihe von Warnungen anzeigt:

  • PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv(“PATH”) liefert nur eine leere Antwort zurĂŒck. Bitte schaue in der Installationsdokumentation :arrow_upper_right: auf Hinweise zur PHP-Konfiguration, sowie die PHP-Konfiguration Deines Servers, insbesondere dann, wenn Du PHP-FPM einsetzt.

  • FĂŒr Deine Installation ist keine Standard-Telefonregion festgelegt. Dies ist erforderlich, um Telefonnummern in den Profileinstellungen ohne LĂ€ndercode ĂŒberprĂŒfen zu können. Um Nummern ohne LĂ€ndercode zuzulassen, fĂŒge bitte “default_phone_region” mit dem entsprechenden ISO 3166-1-Code :arrow_upper_right: der gewĂŒnschten Region hinzu.

  • Es wurde kein PHP Memory Cache konfiguriert. Konfiguriere zur Erhöhung der LeistungsfĂ€higkeit, soweit verfĂŒgbar, einen Memory Cache. Weitere Informationen findest Du in unserer Dokumentation :arrow_upper_right:.

  • Dieser Installation fehlen einige empfohlene PHP-Module. FĂŒr bessere Leistung und bessere KompatibilitĂ€t wird dringend empfohlen, diese zu installieren.
    imagick

Zum Punkt PATH:
Im phpInfo ist die Variable PATH ausgefĂŒllt.
Getestet wurde es mit diesem Terminal-Befehl:

$ sudo -u www-data php -c /etc/php/8.0/fpm/php.ini -r "phpinfo();" | grep -e ^PATH
PATH => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Punkt “Standard-Telefonregion”:
Im Profil kann keine Telefonnummer eingetragen werden, begonnene Eingaben werden nach wenigen Sekunden wieder entfernt. Das Verhalten ist un abhĂ€ngig von der Art der Eingabe “+49 
” oder nur Vorwahl und Telefonnummer.

Punkt “PHP Memory Cache”:
Es wurde das Paket memcached und php-memcached installiert.

Nach einem Neustart des php8.0-fpm Services wird dennoch in phpinfo kein memcache aufgelistet:

$ sudo -u www-data php -c /etc/php/8.0/fpm/php.ini -r "phpinfo();" | grep -i memcache

Dieser Befehl liefert keine Ausgabe, weil “memcache” nicht in phpinfo gelistet wird.

Punkt “Fehlendes imagick”:
Auf dem System ist das Paket “php-imagick” installiert worden.

Dennoch wird “Imagick” in phpInfo nicht gelistet:

$ sudo -u www-data php -c /etc/php/8.0/fpm/php.ini -r "phpinfo();" | grep -i imagick

Dieser Befehl liefert keine Ausgabe.

Kann mir jemand einen Hinweis geben, wie die Ursachen eingegrenzt werden können?

bitte in der config.php eintragen

mĂŒsstest du das - glaube ich - in der php.ini eintragen

das ist nicht notwendig, ganz im Gegenteil
 s. dazu diverse Diskussionen hier im Forum. Bitte nach imagick od. dgl. suchen

Vielen Dank. Nach der Angabe der Landeskennung “+49” wird die Warnung ausgeblendet.

1 Like

Was ist damit gemeint? Was muss in der php.ini eingetragen werden?

na der PATH

aber ich habe da nur oberflÀchliches Wissen. Bin aber sicher, hier wird der ein oder andere durchaus mit seinem Wissen aushelfen
 :wink:

Der Wartungs-Befehl 

$ sudo -u www-data php -c /etc/php/7.4/fpm/php.ini $path/occ maintenance:repair

 hat u.a. die Config.php neu geschrieben.

In dieser Datei ist nun auch die Angabe “default_phone_region” ĂŒbertragen worden.

Da bei PHP 8.0 kein memcache Modul vorhanden ist, wurde alles wieder auf PHP 7.4 umgestellt. In PHP 8.1 wĂŒrde memcache wieder vorhanden sein. Jedoch unterstĂŒtzt die aktuelle Nextcloud-Version 23 noch nicht PHP 8.1.

In phpinfo wird mecache und APCu bereits als aktiv angegeben.
In der config.php ist die memcached-Function aktiviert worden:

'memcache.distributed' => '\OC\Memcache\Memcached',

Dennoch wird beim AusfĂŒhren des Wartungsbefehls 


sudo -u www-data php -c /etc/php/7.4/fpm/php.ini nextcloud/occ maintenance:repair


 ein Fehler ausgegeben:

OCP\HintException: [0]: Memcache \OC\Memcache\Memcached not available for distributed cache (Is the matching PHP module installed and enabled?)

Es wurde hierbei strikt nach der Dokumentation auf der Webseite https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/caching_configuration.html vorgegangen.

Wenn die Angabe 


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


 in der Config.php eingetragen wird, schlÀgt der Wartungs-Befehl auch hier fehl:

OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)

Zur Info: Nach jeder vorgenommenen Änderung wurde der php-Service und nginx neu gestartet.

Lösung:
Auf dem System waren noch weitere PHP Versionen installiert: 8.0 und 8.1
Die Angabe “Scan this dir for additional .ini files” hat nicht auf den korrekten Pfad von PHP7.4 verwiesen sondern auf den Pfad von PHP8.0. Nah der Deinstallation aller Module von PHP8.0* wurde auf den Pfad von PHP8.1 verwiesen. Erst nach der Deinstallation von PHP8.1 wurde auf den richtigen Pfad von PHP7.4 verwiesen.

Erst nach dieser Änderung hat memcache ist der Wartungs-Befehl “occ maintenance:repair” fehlerfrei durchgelaufen.

Die Warnung nach der leeren PATH Angabe bleibt hingegen bestehen.
Anhand einer Testdatei kann bestĂ€tigt werden, dass der Befehl ‘getenv(“PATH”)’ einen Leerstring zurĂŒckliefert. In phpinfo wird hingegen die korrekte Angabe zurĂŒck geliefert.

Auf der Webseite getenv("PATH") still returning 0 - #5 by Cristobal_Ortiz-Orti wird u.a. angegeben, dass man in eine Datei nextcloud.conf die fehlenden Angaben eintragen solle. Eine Datei nextcloud.conf existiert jedoch nicht.