Résoudre l'erreur 500 sur Nextcloud

Introduction



Suite à des problèmes avec ma VM Nextcloud installée sur proxmox, j'ai restauré un snapshot mais là, problème !
Voici le message qui apparait sur mon navigateur après m'être connecté :

Code TEXT :
 
Internal Server Error
The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.
 


Dans les logs de Nextcloud, je retrouve ceci :
Code TEXT :
 
Failed to open stream: No such file or directory... merged-template-prepend.js.deps
 


Causes


C'est un problème de cache. La base de données pointe vers des fichiers Javascript/CSS combinés qui n'existent plus sur le disque suite au retour en arrière.

La résolution étape par étape



  1. Vider le cache des fichiers JS/CSS (dans le dossier où se trouvent vos fichiers, vous devez avoir un dossier appdata_ocxxxxxxx)
    Code TEXT :
     
    cd appdata_ocxxxx/
    sudo rm -rf js/ css/
     
  2. Forcer le scan de Nextcloud
    Code TEXT :
     
    sudo -u www-data php occ files:scan-app-data
     
  3. Lancer la réparation automatique :
    Code TEXT :
     
    sudo -u www-data php occ maintenance:repair
     
  4. Redémarrer apache
    Code TEXT :
     
    sudo systemctl restart apache2
     



Conclusion


En cas d'erreur 500 persistante après une restauration, ne paniquez pas sur la base de données : vérifiez d'abord le dossier appdata. C'est souvent lui qui contient des résidus de cache devenus invalides !