Come appare il messaggio
Internal Server Error. The server encountered an internal error and was unable to complete your request. Request ID: aB3xYz9QkLmN0pRsCause frequenti
- Database non raggiungibile, password cambiata o tabelle bloccate.
- Directory dati o config.php non scrivibili per l'utente del web server.
- Aggiornamento incompleto: codice e schema del database non coincidono.
- Estensione PHP mancante o incompatibile dopo un aggiornamento di PHP.
- Un'app difettosa dopo un suo aggiornamento.
Verifica
- Controlla lo stato di base di Nextcloud
sudo -u www-data php /var/www/nextcloud/occ status - Trova la voce di log del Request ID
grep 'aB3xYz9QkLmN0pRs' /var/www/nextcloud/data/nextcloud.log | jq -r '.message, .exception.Message? // empty' - Mostra le ultime voci di nextcloud.log in forma leggibile
tail -n 20 /var/www/nextcloud/data/nextcloud.log | jq -r '[.time, .app, .message] | @tsv' - Controlla gli errori a livello di web server
tail -n 20 /var/log/nginx/error.log
Soluzione
- Leggi il messaggio del Request ID: di solito indica app, file o errore SQL.
- Con un aggiornamento incompleto esegui
occ upgradee poiocc maintenance:repair. - Disattiva l'app difettosa:
occ app:disable nomeapp. - Correggi il proprietario:
chown -R www-data:www-data /var/www/nextcloud(controlla a parte la directory dati se sta altrove). - Prova la connessione al database con i valori del config.php.
Domande frequenti
Dov'è nextcloud.log se non è nella directory dati?
Il percorso è in config.php alla voce logfile. Con log_type => syslog o systemd trovi le voci con journalctl.
E se il log resta vuoto?
Allora la richiesta fallisce prima di Nextcloud, di solito in PHP-FPM o nginx. Guarda i loro log e porta loglevel a 0 per un po'.