Sblocca in modo sicuro la modalità di manutenzione di Nextcloud con OCC

Se Nextcloud continua a mostrare "modalità di manutenzione" dopo un aggiornamento o un'attività di manutenzione, verifica innanzitutto se l'aggiornamento del database è stato completato. Se occ statusil risultato è positivo needsDbUpgrade: false, eseguilo occ maintenance:mode --offcome utente del server web nell'installazione Nextcloud corretta; se invece il risultato è negativo true, termina occ upgradeprima di riaprire il sito.

Disabilitare il flag ripristina gli accessi, ma non risolve un aggiornamento non riuscito. L'obiettivo è riportare l'istanza online con il flag di manutenzione e lo stato dell'aggiornamento verificati.

1. Verifica l'istanza prima di modificarne lo stato

Connettiti all'host o al container che gestisce l'URL Nextcloud interessato. Per un'installazione manuale su Linux, spostati nella directory di Nextcloud (spesso /var/www/nextcloud) e controlla lo stato come utente HTTP:

cd /var/www/nextcloud
sudo -E -u www-data php occ status

Cerca maintenancee needsDbUpgrade. Uno stato tipico in cui è possibile disabilitare la modalità in sicurezza è maintenance: truecon needsDbUpgrade: false. Se la manutenzione è già impostata su false, il browser potrebbe mostrare una pagina obsoleta o connettersi a un backend diverso. Se needsDbUpgradeè impostato su true, non disattivare ancora la modalità di manutenzione.

Terminale illustrativo che mostra lo stato occ con manutenzione attiva e needsDbUpgrade disattivato
L'esempio di stato mostra la manutenzione abilitata anche in assenza di aggiornamenti del database in sospeso, condizione in cui normalmente è opportuno disabilitare la modalità di manutenzione.

Nextcloud richiede che OCC venga eseguito come utente HTTP in modo che la proprietà dei file rimanga coerente. Su Debian o Ubuntu, di solito si tratta di www-data; altre distribuzioni potrebbero utilizzare apache, httpo wwwrun. Verifica l'account di servizio della tua installazione prima di sostituire l'utente in un comando. La documentazione corrente di Nextcloud OCC elenca le differenze tra gli utenti e il comando di stato.

2. Disabilitare la modalità di manutenzione con OCC

Per installare un archivio o un pacchetto, eseguire il comando dalla directory contenente lo occscript corretto:

sudo -E -u www-data php occ maintenance:mode --off

Il comando dovrebbe segnalare che la modalità di manutenzione è disabilitata. L' --offopzione modifica lo stato di manutenzione; non esegue migrazioni, non corregge i permessi né annulla una sostituzione di file interrotta.

Esempio di comando da terminale: sudo -E -u www-data php occ maintenance:mode --off
Questo è il comando OCC per un'installazione standard quando l'aggiornamento è completato e il comando è in esecuzione sulla directory Nextcloud attiva.

Utilizza il wrapper corrispondente alla tua installazione. Per l'immagine Docker ufficiale di Nextcloud, la documentazione del progetto include sia docker execesempi di Docker Compose che di installazione. Sostituisci il nome del container o del servizio di esempio con il tuo:

# Docker Compose; "app" is an example service name
docker compose exec --user www-data app php occ maintenance:mode --off

# Docker; replace CONTAINER_ID with the Nextcloud container
docker exec -it --user www-data CONTAINER_ID php occ maintenance:mode --off
Esempio di comando Docker Compose per disabilitare la modalità di manutenzione di Nextcloud come www-data
In Docker Compose, esegui OCC all'interno del servizio Nextcloud come www-data; usa il nome del tuo servizio Compose al posto del nome di esempio app.

Per Nextcloud Snap, usa il suo wrapper OCC lato host anziché accedere alle directory interne dello snap:

sudo nextcloud.occ maintenance:mode --off

Il progetto Snap segnala che /snap/bin/nextcloud.occpotrebbe essere necessario se tale directory non è presente nel PATH della shell. Consultare le istruzioni per la modalità di manutenzione di Snap . Il file README dell'immagine Docker ufficiale di Nextcloud documenta il modello di comando del container.

3. Se un aggiornamento è ancora in sospeso, completalo prima

Quando vengono visualizzati i report di stato needsDbUpgrade: true, Nextcloud segnala che la migrazione del codice e del database non sono sincronizzate. Questo accade comunemente dopo che un aggiornamento ha sostituito il codice, ma la fase di migrazione non è stata completata. In tale stato, potrebbe essere disponibile un set limitato di comandi OCC e la modalità di manutenzione potrebbe essere lasciata attiva intenzionalmente per impedire agli utenti di accedere durante l'aggiornamento.

Utilizza il percorso di aggiornamento per il tuo tipo di installazione e rivedi l'errore dell'aggiornamento prima di procedere. Per un'installazione standard basata su archivio, dopo aver verificato che la versione del codice Nextcloud desiderata sia presente e aver effettuato un backup aggiornato del database e dei file/configurazioni, se non ne hai già uno, esegui:

sudo -E -u www-data php occ upgrade

Attendere il completamento del comando e la risoluzione di eventuali errori segnalati. Non attivare e disattivare ripetutamente la modalità di manutenzione per aggirare un errore di migrazione. La documentazione di aggiornamento di Nextcloud spiega che la migrazione del database segue la sostituzione del codice del server e raccomanda di eseguire un backup recente prima dell'aggiornamento. Docker, Snap e i pacchetti gestiti possono avere procedure di aggiornamento proprie; utilizzare tali istruzioni se differiscono dall'esempio basato su archivio.

Una volta completato correttamente l'aggiornamento e quando lo stato non segnala più un aggiornamento del database in sospeso, eseguire il maintenance:mode --offcomando appropriato indicato sopra. Evitare di modificare config.phpo utilizzare un aggiornamento diretto del database come scorciatoia. Se OCC non riesce a scrivere l'impostazione, verificare di aver selezionato l'installazione e l'utente HTTP corretti e controllare eventuali criteri di configurazione di sola lettura o errori di autorizzazione del file system prima di modificare le autorizzazioni.

4. Verifica la bandiera e il sito live

Eseguire nuovamente il controllo dello stato utilizzando lo stesso percorso di installazione, lo stesso contenitore e lo stesso utente:

sudo -E -u www-data php occ status

Conferma entrambi maintenance: falsee needsDbUpgrade: false. In Docker o Snap, ripeti il ​​controllo attraverso lo stesso wrapper utilizzato per disabilitare il flag. Il comando Nextcloud status documenta questi campi; la sua forma leggibile dalla macchina è occ status --output=json_pretty.

Output illustrativo dello stato occ che mostra maintenance false e needsDbUpgrade false
La verifica positiva mostra che la modalità di manutenzione è disattivata e non sono in corso aggiornamenti del database; questo esempio non proviene da un server di produzione.

Quindi ricarica il sito in una nuova scheda del browser e prova ad accedere normalmente e a visualizzare l'elenco dei file. Nextcloud segnala che gli utenti che avevano effettuato l'accesso prima della modalità di manutenzione potrebbero dover aggiornare il browser dopo che il server torna online. Se OCC segnala che la modalità di manutenzione è falsa ma il sito mostra ancora la pagina di manutenzione, verifica che il nome host o il bilanciatore di carico puntino alla stessa istanza che hai modificato; con più container o nodi, un altro backend potrebbe essere ancora in modalità di manutenzione.

Una soluzione efficace non si limita quindi a una semplice risposta "disabilitato": lo stato di OCC deve mostrare entrambi i flag come "clear" e l'URL pubblico previsto deve servire l'istanza funzionante. Se il flag di aggiornamento rimane "true" o il comando di migrazione fallisce, impedire l'accesso agli utenti e risolvere l'errore di aggiornamento prima di riaprire Nextcloud.

Lascia un commento

Portare a termine le chiamate Nextcloud Talk quando Direct Media non funziona

Portare a termine le chiamate Nextcloud Talk quando Direct Media non funziona

Configurare e verificare la raggiungibilità di un relay TURN per Nextcloud Talk quando firewall o NAT restrittivi bloccano i flussi multimediali diretti delle chiamate.

Risolvi gli avvisi di integrità di Nextcloud ripristinando i file corretti

Utilizza il report sui file non validi per identificare il codice Nextcloud modificato, mancante o in eccesso, ripristinare in modo sicuro i file attendibili e verificarne il risultato.

Collega Gmail o Microsoft 365 a Nextcloud Mail tramite OAuth2

Configura OAuth2 per Nextcloud Mail con Gmail o Microsoft 365, verifica la ricezione e l'invio e risolvi i problemi più comuni relativi al consenso e al protocollo SMTP.

Sblocca in modo sicuro la modalità di manutenzione di Nextcloud con OCC

Sblocca in modo sicuro la modalità di manutenzione di Nextcloud con OCC

Utilizza OCC per ripristinare l'accesso a Nextcloud, verificare lo stato della migrazione del database e scegliere il comando corretto per le installazioni di archivio, Docker o Snap.

Configura l'accesso LDAP e Active Directory di Nextcloud.

Collega Nextcloud a LDAP o Active Directory, limita l'accesso con filtri per utenti e gruppi e verifica l'autenticazione sicura prima del lancio.

Richiedere l'autenticazione a due fattori per gli utenti di Nextcloud

Abilita un provider di autenticazione a due fattori supportato, prepara il ripristino dell'account, quindi richiedi l'autenticazione a due fattori per tutti gli utenti o per gruppi Nextcloud selezionati.

Proteggi i documenti Collabora CODE a riposo con la crittografia dell'archiviazione.

Proteggi i file modificati in Collabora CODE crittografando il livello di archiviazione, proteggendo i dati temporanei e verificando la crittografia e il ripristino.

Ottieni Collabora CODE in esecuzione su ARM64 con l'immagine corretta

Ottieni Collabora CODE in esecuzione su ARM64 con l'immagine corretta

Controlla l'architettura del tuo host, verifica che il tag CODE pubblichi ARM64, rimuovi le impostazioni forzate AMD64 e distingui gli errori dell'immagine da quelli relativi ai permessi o alla memoria.

Connetti Collabora Online a ownCloud Infinite Scale

Configura la connessione WOPI tra Collabora Online e ownCloud Infinite Scale, imposta gli URL di servizio corretti e verifica che le modifiche ai documenti vengano salvate.

Esportazione di file a blocchi in Collabora CODE tramite WOPI

Impedisci l'esportazione dei documenti in Collabora Online CODE impostando l'autorizzazione WOPI DisableExport, quindi verifica che l'host e l'editor la applichino.