Nextcloud Optimierungen für Synology Installation

Crashandy

Benutzer
Mitglied seit
14. Mai 2014
Beiträge
293
Punkte für Reaktionen
100
Punkte
43
Ich habe aber nichts verändert, bis auf die

/usr/local/etc/php80/cli/conf.d/user_settings.ini
Es wäre schön, wenn Du den Inhalt Deiner user-settings.ini hier mal postest. Ich habe bei mir den folgenden Inhalt eingefügt.

Code:
extension = apcu.so
extension = redis.so

[core]
memory_limit = 512M
upload_max_filesize = 512M
post_max_size = 512M

[apc]
apc.shm_size = 512M
apc.enable_cli = 1
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
618
Punkte für Reaktionen
74
Punkte
48
Ich habe mal einen Screenshot gemacht.
Ist identisch
 

Anhänge

  • EA7CD31C-217E-4A8A-913F-A5A30A07D110.jpeg
    EA7CD31C-217E-4A8A-913F-A5A30A07D110.jpeg
    91,3 KB · Aufrufe: 20
  • Like
Reaktionen: MattCB

MattCB

Benutzer
Mitglied seit
31. Jan 2012
Beiträge
382
Punkte für Reaktionen
71
Punkte
28
Welche Datei hast du da genau angepasst? Ebenfalls die unter

/usr/local/etc/php80/cli/conf.d/user_settings.ini

?
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
618
Punkte für Reaktionen
74
Punkte
48
Ja, die habe ich angepasst
 
  • Like
Reaktionen: MattCB

MattCB

Benutzer
Mitglied seit
31. Jan 2012
Beiträge
382
Punkte für Reaktionen
71
Punkte
28
Ich probiere auch gerade, die Nextcloud per Webserver ordentlich zum Laufen zu bekommen. Aber sobald ich redis aktiviere, erhalte ich beim Aufruf der Nextcloud-Seite ebenfalls einen "internal server error". Der redis-Container läuft ohne Fehler im Protokoll in der von Tuxnet angegebenen Version 6.0.16, wobei ich mich frage, warum ausgerechnet diese Version. ;-) Wie kann man denn den Redis-Server testen?

Meine Vermutung ist ja, dass das Redis-Modul für PHP nicht geladen wird und die Nextcloud deshalb nicht auf redis zugreifen kann. Wenn man Nextcloud manuell auf einem "normalen" Linux-Server installiert, muss man ja auch das Modul php-redis installieren. Oder passiert das mit der Angabe "extension = redis.so" in der user_settings.ini automatisch? In den PHP-Einstellungen der Diskstation (Webstation -> Skript-Spracheinstellungen) kann man unter "Erweiterungen" ja kein Redis auswählen.

Außerdem habe ich auch das Problem, dass ich occ nicht ausführen kann, da dann die Meldung kommt:

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

Obwohl apcu und auch apc.enable_cli = 1 aktiviert ist. Auch das Anhängen von "--define apc.enable_cli=1" an den php80-Befehl ändert daran nix.

Hier mal meine Configs. Falls noch mehr benötigt werden, einfach Bescheid geben. :) Ist mein erster Ausflug in Richtung Webserver und speziell Nextcloud.

config.php:

<?php
$CONFIG = array (
'instanceid' => '3333333333333',
'passwordsalt' => '33333333333333333333333333333333',
'secret' => '333333333333333333333333333333333333333333333333333',
'trusted_domains' =>
array (
0 => 'hierstehtdiedomain',
1 => 'hierstehtnocheinedomain',
),
'datadirectory' => '/volume1/storage/nextcloud_data/',
'dbtype' => 'mysql',
'version' => '25.0.0.18',
'overwrite.cli.url' => 'https://nocheinedomain',
'dbname' => 'datenbankname',
'dbhost' => 'localhost',
'dbport' => '',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => 'halteinuser',
'dbpassword' => 'strenggeheim',
'installed' => true,
'maintenance' => false,
'overwriteprotocol' => 'https',
'memcache.local' => '\OC\Memcache\APCu',
'memcache.local' => '\OC\\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\\Redis',
'filelocking.enabled' => true,
'memcache.locking' => '\OC\Memcache\Redis',
'redis' =>
array (
'host' => 'localhost',
'port' => '6379',
'timeout' => '0.0',
),
);

/usr/local/etc/php80/cli/conf.d/user_settings.ini

extension = apcu.so
extension = redis.so

[core]
memory_limit = 512M
upload_max_filesize = 20G
post_max_size = 20G

[apc]
apc.shm_size = 512M
apc.enable_cli = 1

Ich finde jedenfalls den Fehler momentan nicht.
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
618
Punkte für Reaktionen
74
Punkte
48
So, mal meine conf

Warum redis version 6.0.16 ? Weil ich das Image bereits heruntergeladen habe.
Zum testen hat diese Version gereicht, sollte aber auch die aktuelle Version laufen.


Code:
<?php
$CONFIG = array (
  'instanceid' => 'xxxxxxxxx',
  'passwordsalt' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'trusted_domains' =>
  array (
    0 => 'meinedomain',
    1 => '192.168.xx.xx',
  ),
  'trusted_proxies' =>
  array (
    0 => '192.168.xx.xx',
    1 => '192.168.xx.xx/xx',
    2 => '127.0.0.1',
    3 => '::1',
  ),
  'filesystem_check_changes' => 1,
  'datadirectory' => '/volume1/xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'dbtype' => 'mysql',
  'version' => '25.0.0.18',
  'overwrite.cli.url' => 'https://meinedomain',
  'overwriteprotocol' => 'https',
  'htaccess.RewriteBase' => '/',
  'overwritehost' => 'meinedomain',
  'sharing.interal_shares_accepted' => true,
  'dbname' => 'xxxx',
  'dbhost' => '127.0.0.1:3307',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'dbpassword' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'installed' => true,
  'default_phone_region' => 'DE',
  'default_language' => 'de',
  'force_language' => 'de',
  'default_locale' => 'de_DE',
  'force_locale' => 'de_DE',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'filelocking.enabled' => true,
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' =>
  array (
    'host' => 'localhost',
    'port' => '6379',
    'timeout' => '0.0',
  ),
  'activity_expire_days' => 90,
  'mail_smtpmode' => 'smtp',
  'mail_smtphost' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'mail_sendmailmode' => 'smtp',
  'mail_smtpsecure' => 'tls',
  'mail_smtpport' => '587',
  'mail_smtpauthtype' => 'LOGIN',
  'mail_smtpauth' => 1,
  'mail_from_address' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'mail_domain' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'mail_smtpname' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'mail_smtppassword' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'skeletondirectory' => '',
  'auth.webauthn.enabled' => false,
  'maintenance' => false,
  'trashbin_retention_obligation' => 'auto, 31',
  'theme' => '',
  'log_type' => 'file',
  'logtimezone' => 'Europe/Berlin',
  'loglevel' => 2,
  'logfile' => '/volume1/xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/nextcloud.log',
  'preview_max_x' => '512',
  'preview_max_y' => '512',
  'jpeg_quality' => '60',
  'data-fingerprint' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'updater.release.channel' => 'stable',
  'allow_local_remote_servers' => true,
  'app_install_overwrite' =>
  array (
  ),
  'twofactor_enforced' => 'false',
  'twofactor_enforced_groups' =>
  array (
  ),
  'twofactor_enforced_excluded_groups' =>
  array (
  ),
);
 
  • Like
Reaktionen: MattCB

gender

Benutzer
Mitglied seit
25. Mrz 2012
Beiträge
48
Punkte für Reaktionen
2
Punkte
8
Also ich habe jetzt auch nochmal alles abgeglichen: Docker-Einstellungen von Redis, user-settings von PHP8.0 sowie die config von Nextcloud.

Es bleibt dabei: sobald ich 'memcache.distributed' => '\\OC\\Memcache\\Redis', hinzufüge, kriege ich den Internal-Server-Error.

@MattCB
Bei mir läuft mein Wordpress, dass ebenfalls auf der Web.Station liegt, auf jeden Fall erfolreich mit meiner Redis-Docker-Version. Mit Redis ist (bei mir) also alles ok. Nur Nextcloud will nicht so recht....
 
  • Like
Reaktionen: Crashandy

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
618
Punkte für Reaktionen
74
Punkte
48
Hast du die Firwall der DS an ?
Deaktiviere die mal bitte zum test, nicht das die das was verhindert.
 

gender

Benutzer
Mitglied seit
25. Mrz 2012
Beiträge
48
Punkte für Reaktionen
2
Punkte
8
Hatte ich schon probiert. An der Firewall liegt es scheinbar nicht.
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
618
Punkte für Reaktionen
74
Punkte
48
Sooooo, ich habe mich mit dem Problem Redis noch einmal näher beschäftigt.
Ich habe den Fehler gefunden. ……. Es hat wirklich etwas Gefehlt :mad:

Bitte Installiert euch kurz php7.4.

Geht bitte in die Webstation und wählt in eurem Profil php 7.4 aus.

Anschließen per ssh folgende Datei erstellen

/usr/local/etc/php80/cli/conf.d/user_settings.ini

Code:
/usr/local/etc/php80/cli/conf.d/user_settings.ini

extension = apcu.so
extension = imagick.so
extension = redis.so

[core]
memory_limit = 512M
upload_max_filesize = 512M
post_max_size = 512M

[apc]
apc.shm_size = 512M
apc.enable_cli = 1

Jetzt noch schnell an das Ende von php-fpm.ini zwei kleine Zeilen

/volume1/@appstore/PHP8.0/misc/php-fpm.ini

Code:
[Redis]
extension = redis.so

Zurück zur Webstation und Profil zurück auf php 8.0 stellen.

Nun sollte Redis mit der NC laufen

Funktioniert bei mir mit der PHP Version 8.0.17-0101 nicht mit der neuen PHP Version 8.0.23-0102
 
  • Like
Reaktionen: plang.pl

gender

Benutzer
Mitglied seit
25. Mrz 2012
Beiträge
48
Punkte für Reaktionen
2
Punkte
8
@Tuxnet
Das mit der php-fpm.ini hat tatsächlich funktioniert.
Nextcloud läuft jetzt auch bei mir über Redis (habe es mit redis-cli monitor überprüft).

Also herzlichen Dank für die Unterstützung und das Ausprobieren!!! Super.
 
  • Like
Reaktionen: Tuxnet

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
618
Punkte für Reaktionen
74
Punkte
48
Konnte hier schon jemand das Problem mit Redis und PHP Version 8.0.23-0102 lösen ?
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
618
Punkte für Reaktionen
74
Punkte
48
Sol ich bin jetzt habe ich den Salat.

Bin auf die aktuelle PHP gegangen,
und jetzt funktioniert neben redis auch nichtmehr der apcu

ich bekomme immer folgende Fehlermeldung

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

Hat jemand eine Idee ?

EDIT :

Ein manuelles eintragen in die /volume1/@appstore/PHP8.0/usr/local/etc/php80/cli/php.ini hat leider auch nicht funktioniert.
 

Anhänge

  • CE111255-FC8E-44B6-9750-553A4E1F7969.jpeg
    CE111255-FC8E-44B6-9750-553A4E1F7969.jpeg
    160,8 KB · Aufrufe: 11
  • 4E4AE199-C228-4BC8-AAF8-33B2E2A63964.jpeg
    4E4AE199-C228-4BC8-AAF8-33B2E2A63964.jpeg
    88,2 KB · Aufrufe: 9
  • 16C02EDE-0F72-4238-96FF-4E513468E8EF.jpeg
    16C02EDE-0F72-4238-96FF-4E513468E8EF.jpeg
    132,7 KB · Aufrufe: 8
Zuletzt bearbeitet:

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
Apache 2.4.54-0125 und PHP 8.0.23-0102 aktualisiert. Läuft weiterhin mit redis 7.0.4-12.

Nextcloud (24.0.6) als customized portal - vHost (namensbasiert, 80/443).
php mit eigenem Profil (open_basedir, extensions, core Anpassungen).
cron via DSM Aufgabenplaner mit Referenzierung auf die korrekte PHP version und PHP-Profil.
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
618
Punkte für Reaktionen
74
Punkte
48
Also hängt bei mir was quer.
( oder an NC 25 ? )

Wie ist der Aufbau mit dem php Profil ?
Kannst du das bitte mal posten ?
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
Die Einstellungen sind alle in der GUI vorgenommen. Profil auf der Konsole identifiziert, hier der Inhalt.
/usr/syno/etc/packages/WebStation/php_profile/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/conf.d/user_settings.ini
Code:
zend_extension = opcache.so
extension = apcu.so
extension = bcmath.so
extension = bz2.so
extension = curl.so
extension = exif.so
extension = ftp.so
extension = gd.so
extension = gettext.so
extension = gmp.so
extension = iconv.so
extension = imagick.so
extension = imap.so
extension = intl.so
extension = ldap.so
extension = openssl.so
extension = pdo_mysql.so
extension = posix.so
extension = redis.so
extension = soap.so
extension = sockets.so
extension = sodium.so
extension = ssh2.so
extension = zip.so
extension = zlib.so

display_errors = Off
open_basedir = /var/services/web:/volume1/apps/nextcloud:/dev/urandom:/proc/meminfo:/proc/cpuinfo:/proc/uptime:/tmp
apc.enable_cli = 1
apc.shm_size = 512M
apc.ttl = 7200
max_execution_time = 3600
max_input_time = 3600
memory_limit = 2048M
mysqli.default_port = 3307
mysqli.default_socket = /run/mysqld/mysqld.sock
opcache.enable_cli = 1
opcache.file_cache = /volume1/web/.opcache
opcache.interned_strings_buffer = 64
opcache.max_accelerated_files = 30000
opcache.memory_consumption = 512
opcache.revalidate_freq = 1
output_buffering = 0
pdo_mysql.default_socket = /run/mysqld/mysqld.sock
post_max_size = 8G
upload_max_filesize = 8G
upload_tmp_dir = /volume1/apps/nextcloud/upload-tmp
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
618
Punkte für Reaktionen
74
Punkte
48
Ok, bei mir sieht die ein wenig anders aus :-(

Wie führst du den Cronjob über das Profil aus ?
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
Als "root" alle 5 Minuten
Code:
/bin/su http -s /bin/sh -c '/usr/local/bin/php80 -c /usr/syno/etc/packages/WebStation/php_profile/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/conf.d/user_settings.ini -f /var/services/web/nextcloud/cron.php'
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
618
Punkte für Reaktionen
74
Punkte
48
Schade :-(

Code:
/bin/su http -s /bin/sh -c '/usr/local/bin/php80 -c /usr/syno/etc/packages/WebStation/php_profile/xxxxxxxx-xxxxx-xxxxxx-xxx-xxxxxxxxxx/conf.d/user_settings.ini -f /var/services/web/cron.php'
OCP\HintException: [0]: Memcache \OC\Memcache\Redis not available for distributed cache (Is the matching PHP module installed and enabled?)
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
Unterschiede?
Redis "nativ" und NC 24 vs. Redis im Container und NC 25?
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat