CLI per esperti: recupero e catalogo delle utility
Scegli la utility in base al guasto identificato. Parti da diagnosi o anteprima, comprendi il perimetro e segui il recupero documentato. La presenza di un file PHP non lo rende un comando di manutenzione ordinaria.
Partire dalla diagnostica appropriata
Gli esempi partono da /var/www/html/obelisk e dal PHP CLI installato. Adatta i percorsi. Un controllo dei file riuscito non certifica SQL, AMI, HTTPS, audio o email. Leggi gli avvisi e confronta con le verifiche in Amministrazione.
Esaminare file e PHP CLI
Letture statiche: non esegue la configurazione, non collega servizi e non apre SQL. Codice 0 significa nessun errore, con possibili avvisi; 1 problemi; 2 argomenti non validi. Controlla questo PHP CLI, non Apache/FPM.
Comandosudo -u asterisk /usr/bin/php utility/check_installation.php --jsonVerificare il database applicativo
Usa la connessione salvata e verifica tabelle applicative e schema degli account senza modificare dati o schema. Non conferma l’aggiornamento degli import telefonici: controllali separatamente in Amministrazione.
Comandosudo -u asterisk /usr/bin/php utility/check_database.phpVerificare il profilo privilegiato aggiornamenti
Per problemi del profilo, questo controllo riservato a root diagnostica il profilo SQL amministrativo esistente. Non migra, non cambia eventi e non crea un backup dati. Credenziali mancanti richiedono il flusso di aggiornamento o il supporto, non modifiche manuali al profilo.
Comandosudo /usr/bin/php utility/schema_profile.php --check
Recuperare password o associazione 2FA amministrativa
Usa lo strumento interattivo ufficiale su Linux da un terminale SSH root autorizzato. Richiede database applicativo esistente e utilizzabile, account asterisk, POSIX e terminale che nasconda la password. Riduce i privilegi prima di aprire la configurazione. Non supporta pipe, richieste web o lavori non interattivi.
Aprire il recupero
Scegli en, es o it per le domande. Il recupero di un account esistente elenca gli amministratori; in alternativa può crearne uno nuovo con username unico. Non è il normale cambio password dei Team Leader.
Comandosudo /usr/bin/php utility/admin_recovery.php --lang=itScegliere cosa recuperare
Seleziona l’account, conferma la riattivazione se disabilitato e scegli se azzerarne l’associazione 2FA. Inserisci e conferma una password conforme oppure lascia vuoto per generarne una. Controlla il riepilogo prima della conferma finale. Non cancellare la chiave 2FA condivisa e non modificare altri utenti.
Accedere e completare la protezione
Conserva privatamente la password generata quando mostrata. Accedi con l’account recuperato; il cambio invalida la generazione delle sessioni precedenti di quell’account. La politica 2FA esistente resta valida: se obbligatoria e azzerata, completa una nuova associazione prima dell’accesso normale. Un nuovo amministratore ha 2FA opzionale: configura la politica desiderata. Verifica l’evento nel registro accessi.
Recuperare un blocco dovuto alla politica IP
Usalo solo se la causa è la politica di accesso dalla rete, per esempio dopo un cambio di IP pubblico dell’amministratore. Non azzera password o 2FA. Ripristina la politica ai valori predefiniti e ne svuota lo stato: non è una correzione generica del login.
Leggere l’aiuto
Senza --apply mostra le istruzioni e non azzera la politica.
Comandosudo -u asterisk /usr/bin/php utility/security_reset.php --helpApplicare soltanto il reset necessario
Dopo aver confermato la causa esegui una volta. Accedi, reimposta le restrizioni desiderate in Sicurezza e verifica security_policy_reset nel registro accessi.
Comandosudo -u asterisk /usr/bin/php utility/security_reset.php --apply
Recuperare un ripristino configurazioni interrotto
configuration_backup.php è un punto di recupero, non un comando CLI per creare backup o importare archivi arbitrari. Usa il giornale locale autenticato di un ripristino interrotto. Conserva marker e giornale. Eseguilo come asterisk, mai root. Conserva archivio e password di cifratura attraverso la normale procedura backup.
Riprendere il recupero autenticato
Leggi se il ripristino è concluso o annullato prima del commit, conservando la configurazione precedente. Se concluso segui l’istruzione di accesso con un amministratore ripristinato. Se fallisce conserva il marker e contatta il supporto: non cancellarlo per forzare l’accesso.
Comandosudo -u asterisk /usr/bin/php utility/configuration_backup.php --recover
Esaminare una riparazione storica circoscritta
Usala con il supporto per incoerenze diagnosticate nei dati derivati. Ripara numero/tempo di squillo degli episodi e ID mancanti di trasferimenti risposti supportati o chiamate in uscita. Non ricrea sorgenti assenti, non migra E.164 e non ripristina procedure SQL. Le date seguono il completamento del report, o la data CDR per le uscenti.
Esaminare il periodo concordato
Sostituisci le date di esempio. Esamina conteggi interessati e sorgenti mancanti. L’anteprima è predefinita; --preview esplicita l’intenzione.
Comandosudo -u asterisk /usr/bin/php utility/repair_report_data.php --from 2026-09-01 --to 2026-09-30 --previewApplicare in manutenzione pianificata
Dopo il backup usa la pausa ufficiale, verifica eventi SQL e cron sospesi e attendi i worker attivi. Soltanto dopo esegui la riparazione concordata. --maintenance-confirmed dichiara che lo hai fatto: non arresta le attività. Ricontrolla report e periodo, poi riprendi con il comando ufficiale. Non ampliare il periodo per tentativi.
Comandosudo -u asterisk /usr/bin/php utility/repair_report_data.php --from 2026-09-01 --to 2026-09-30 --apply --maintenance-confirmed
Catalogo: diagnostica, manutenzione e recupero
Usa solo l’operazione pertinente alla diagnosi. La sintassi proviene dagli strumenti installati: un’opzione apply non significa che vada eseguita periodicamente. Le anteprime descrivono modifiche concrete. Dopo l’applicazione ripeti la diagnostica pertinente e verifica la funzione interessata.
| Strumento / operazione | Scopo, effetti e limiti |
|---|---|
| check_installation.php / check_database.php / schema_profile.php | Diagnostiche in lettura descritte sopra: installazione statica, SQL applicativo e profilo privilegiato esistente. Verificano livelli distinti e non li riparano. |
| admin_recovery.php / security_reset.php / configuration_backup.php | Recuperi distinti per credenziali/2FA, politica di accesso e ripristino interrotto. Segui le procedure sopra: non sono intercambiabili. |
| repair_permissions.php --dry-run | Pianifica correzioni di proprietari/permessi conosciuti e storage configurato su Linux. Rivedi il piano. Applicare richiede root e --apply --maintenance-confirmed in manutenzione; non è chmod -R e non corregge privilegi SQL. |
| web_protection.php --dry-run | Esamina le regole Apache gestite. --apply come root le integra, conserva personalizzazioni e salva .htaccess.obelisk-*.bak identico prima delle modifiche. Verifica HTTPS e risorse protette; non configura il sito IIS. |
| geoip_update.php --status / --update | Controlla o scarica il database locale di geografia IP pubblici. --update richiede rete e scrittura e non è automatico. Esegui come asterisk e ricontrolla --status. Non aggiorna la geografia dei prefissi telefonici. |
| sync_trunks.php --sync | Importa le linee FreePBX locali nel catalogo report. Scrive il catalogo, non la configurazione telefonica PBX. Esegui come asterisk e controlla Linee in Database. Se la scoperta locale manca, segui il flusso indicato o il supporto. |
| clean.php --dry-run / recording_retention.php --dry-run | Anteprime delle cancellazioni per categoria o anzianità. Cancellare richiede --apply e interruttore amministrativo corrispondente. Verifica percorsi, criteri e backup. Possono usare storage/log applicativi: non sono la diagnostica statica. |
| repair_report_data.php | Manutenzione storica circoscritta, con anteprima e conferma esplicita descritte sopra. Non sospende attività e non recupera sorgenti telefoniche mancanti. |
| update.php --status | Consulta lo stato aggiornamento. Apply/check/rollback/prune devono usare comando, ID e hash esatti generati per il pacchetto in Amministrazione. --check registra un’osservazione datata. Prune elimina le copie di recupero e disabilita il rollback; il rollback SQL ripristina i dati precedenti. |
| retired_files.php --dry-run | Esamina solo codice ritirato riconosciuto e invariato. --apply root richiede anche --plan-hash esatto. Conserva file modificati/in uso, impostazioni, dati e backup. Dopo un’interruzione genera una nuova anteprima: non sostituirlo con cancellazioni ricorsive. |
Strumenti per installer e supporto
I file seguenti spiegano l’inventario: non sono una lista da eseguire. Usa installer, aggiornamento coordinato o riparazione concordata con il supporto. Non eseguire classi interne, fixture di test o costruttori di pacchetti come manutenzione cliente.
| Strumento / operazione | Scopo, effetti e limiti |
|---|---|
| provision_database.php --connection-stdin | Provisioning dello schema riservato all’installer, con credenziali SQL amministrative via stdin. Crea oggetti. Non è diagnostica e non va usato per reinizializzare un’installazione attiva. |
| initialize_installation.php [--admin-stdin] | Valori iniziali/primo amministratore, normalmente coordinati dall’installer. Conserva account e impostazioni esistenti ma può inizializzare dati mancanti. Non recupera password. |
| provision_routine_guard.php --interactive | Provisioning/recupero del controllo privilegi routine MySQL con amministratore SQL, secondo guida. Chiede server, schema e account runtime separati; niente password negli argomenti. MariaDB non lo richiede. Usalo per il problema diagnosticato, non per ripristinare procedure. |
| queue_number_settings.php | Aggiornamento E.164 una tantum per installazioni precedenti, con anteprima e requisiti socket SQL-root locale. Già incluso nelle nuove installazioni. Imposta la politica in Amministrazione: non rilanciarlo per cambiare normalizzazione. |
| upgrade_phone_geography.php | Migrazione/import dei prefissi. Anteprima predefinita; --apply richiede privilegi e backup del catalogo. Può cambiare righe standard/schema e conserva quelle personalizzate. Possono cambiare classificazioni. È distinto da GeoIP e segue il piano supportato. |
| upgrade_report_indexes.php | Aggiornamento additivo degli indici con anteprima predefinita; richiede ALTER se mancano. Conserva record e indici utilizzabili, ma DDL può attendere o durare su grandi tabelle. Usa la procedura approvata, non ottimizzazioni speculative. |
| upgrade_import_sql.php | Riferimento storico di test escluso dal runtime attualmente distribuito. Non è una utility amministrativa supportata. Non copiarla da vecchie fonti e non sostituire con essa schema e aggiornamenti versionati. |
Comprendere l’integrazione nei file custom FreePBX
Obelisk usa l’installazione FreePBX esistente e la sua reale cartella /etc/asterisk. L’installer controlla le configurazioni custom prima di applicare modifiche. Conserva il contenuto estraneo a Obelisk e si ferma se trova una definizione Obelisk sconosciuta o in conflitto, senza svuotare il file.
Conserva una copia dei file custom originali prima dell’installazione o della manutenzione PBX. Se un controllo si ferma, esamina il file indicato e risolvi con l’amministratore PBX il duplicato, blocco modificato o direttiva include segnalati. Non eliminare tutto il file e non aggiungere un altro contesto di ascolto. Una direttiva include può richiedere una revisione manuale anche se è legittima.
| File in /etc/asterisk | Intervento dell’installer |
|---|---|
| queues_custom_general.conf | Imposta log_membername_as_agent = yes per le identità degli eventi di coda, conservando le altre impostazioni e i commenti. |
| extensions_custom.conf | Aggiunge o riusa il contesto verificato custom-obelisk-spy per la supervisione via AMI. I nuovi blocchi sono delimitati da BEGIN/END OBELISK MANAGED SPY CONTEXT. Non includere questo contesto in from-internal. |
| manager_custom.conf | Aggiunge un account AMI locale dedicato e delimitato solo scegliendo Create. Le opzioni account esistente o configurazione manuale non creano quell’account. Un account in conflitto o un blocco gestito modificato viene conservato e segnalato. |