Tengo un contenedor Docker Apache2 y en /var/www/html/nextcloud
una ruta montada, con los archivos de Nextcloud. Sin embargo, cuando intento ejecutar el cronjob ( /var/www/html/nextcloud/cron.php
) de Nextcloud con este comando:
docker exec -u www-data webserver php /var/www/html/nextcloud/cron.php
Siempre me sale el error:
OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)
Y sí, está habilitado.
Configuración del servidor virtual Apache:
<VirtualHost *:80>
ServerName cloud.domain.de
Redirect / https://cloud.domain.de/
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "/var/www/html/nextcloud"
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>
SSLEngine on
SSLCertificateFile "/etc/letsencrypt/live/cloud.domain.de/cert.pem"
SSLCertificateKeyFile "/etc/letsencrypt/live/cloud.domain.de/privkey.pem"
SSLCertificateChainFile "/etc/letsencrypt/live/cloud.domain.de/chain.pem"
</VirtualHost>
y con eso la nube corre bien; Sólo el cronjob no se está ejecutando.
ElConfiguración de Nextcloud:
<?php
$CONFIG = array (
'htaccess.RewriteBase' => '/',
'memcache.local' => '\\OC\\Memcache\\APCu',
'apps_paths' =>
array (
0 =>
array (
'path' => '/var/www/html/nextcloud/apps',
'url' => '/apps',
'writable' => false,
),
1 =>
array (
'path' => '/var/www/html/nextcloud/custom_apps',
'url' => '/custom_apps',
'writable' => true,
),
),
'instanceid' => 'oc0lur3krx8v',
'passwordsalt' => 'dZemkG1vxBvlOJWKbM2qfby4+zQnHf',
'secret' => '7kv+ZkKR7CLhFckepPJCpxI4eWZWO9EOEW3qzgpg8TIhLsE9',
'trusted_domains' =>
array (
0 => 'IP:99',
1 => 'cloud.domain.de',
),
'datadirectory' => '/var/www/html/nextcloud/data',
'dbtype' => 'mysql',
'version' => '23.0.0.10',
'overwrite.cli.url' => 'http://IP',
'dbname' => 'nextcloud',
'dbhost' => 'IP',
'dbport' => '',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => 'nextcloud',
'dbpassword' => '9*oh5VM7h2yHj-(Q',
'installed' => true,
'default_phone_region' => 'DE',
'updater.secret' => '$2y$10$YZw2sSl8ssbt1SOokyC9kOAtui2gmabmhKCmeVzlBTU1rGqVRisFm',
'loglevel' => 2,
'maintenance' => false,
'app_install_overwrite' =>
array (
0 => 'occweb',
),
);
Ya he almacenado en Memcached el contenedor nuevo y escrito en la configuración para siempre, pero todo no trae nada, ¿alguien encuentra el error?
INFORMACIÓN:
IP
es un marcador de posición para la dirección IP del servidor.
domain.de
es un marcador de posición para el nombre de dominio porque no quiero publicar el dominio (no es obligatorio).
Respuesta1
Intente configurar apc.enable_cli=1
una /etc/php/8.0/mods-available/apcu.ini
ruta equivalente según la configuración de PHP o del sistema operativo.
Algunos usuarios experimentaron el mismo problema y lo solucionaron aplicando el cambio anterior: https://github.com/nextcloud/server/issues/27781#issuecomment-873515055
Además, como se indica en el Manual de administración de Nextcloud (Configuración de Nextcloud -> Almacenamiento en caché de memoria -> APCu), APCu está deshabilitado de forma predeterminada en CLI: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/caching_configuration.html#id1
APCu está deshabilitado de forma predeterminada en CLI, lo que podría causar problemas con los trabajos cron de nextcloud. Asegúrese de configurar
apc.enable_cli
en1
suphp.ini
archivo de configuración o agregarlo--define apc.enable_cli=1
a la llamada del trabajo cron.