Hello again.
I have just found a work-around on a blog. Sorry it is in french. It does not seem to work for me on an OVH web shared hosting. But maybe, this could give another idea to someone.
Regards
Pascal
Bonus : mot de passe de mise à jour
Lorsque vous utilisez l’outil de mise à jour intégré, via l’interface web, il est fort probable qu’il vous demande un mot de passe. Qui n’est pas le votre. Il demande la version en clair de ce qui correspond à updater.secret
contenu dans votre fichier de configuration serveur. Et évidemment, puisque c’est un hash, ce n’est pas réversible.
La seule solution est donc de générer un nouveau updater.secret et de le remplacer dans config.php, en notant au passage la valeur en clair !
Pour ce faire, créez un fichier PHP vierge quelque part sur votre mutu, et placez-y le contenu suivant :
<?php $password = trim(shell_exec("openssl rand -base64 48"));if(strlen($password) === 64) {$hash = password_hash($password, PASSWORD_DEFAULT) . "\n"; echo "Insert as updater.secret: ".$hash; echo "The plaintext value is: ".$password."\n";}else{echo "Could not execute OpenSSL.\n";}; ?>
Accédez à ce fichier depuis votre navigateur, notez les deux valeurs renvoyées, et c’est tout bon, vous pourrez mettre à jour après remplacement du hash et validation de sa valeur en clair !
Si malgré tout cela ne fonctionne toujours pas, j’ai une solution de contournement à proposer, certes pas optimale, mais efficace.
Après des recherches, il semble que le serveur Apache chez OVH n’honore pas la CSP ( Content Security Policy ) intégrée à Nextcloud, et conserve la sienne, visiblement trop restrictive. Après moult essais, voici une CSP permettant à votre navigateur d’exécuter le script qui indique à l’Updater que vous êtes connecté, et administrateur de la plateforme. Si cette CSP est absente, l’information « cet utilisateur est connecté en tant qu’administrateur et peut donc procéder à la mise à jour » n’arrive pas à l’Updater, ce qui déclenche l’apparition de ce joli message parlant d’updater.secret.
Bref, trêve de babillages, action. Ouvrez votre .htaccess et dans le bloc des headers ajoutez :
Header always set Content-Security-Policy "script-src 'self' 'unsafe-eval' 'unsafe-inline';"
Cette CSP est très (trop) permissive, et je vous conseille de commenter la ligne en question entre deux mises à jour. M’enfin, faute de mieux… Qui sait, ça résoudra peut-être d’autres de vos problèmes !