Obelisk
IT
Capitolo 41 di 41
Amministrazione e manutenzione

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.

Documentazione Obelisk

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.

  1. 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.

    Comando
    sudo -u asterisk /usr/bin/php utility/check_installation.php --json
  2. Verificare 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.

    Comando
    sudo -u asterisk /usr/bin/php utility/check_database.php
  3. Verificare 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.

    Comando
    sudo /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.

  1. 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.

    Comando
    sudo /usr/bin/php utility/admin_recovery.php --lang=it
  2. Scegliere 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.

  3. 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.

  1. Leggere l’aiuto

    Senza --apply mostra le istruzioni e non azzera la politica.

    Comando
    sudo -u asterisk /usr/bin/php utility/security_reset.php --help
  2. Applicare 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.

    Comando
    sudo -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.

  1. 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.

    Comando
    sudo -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.

  1. Esaminare il periodo concordato

    Sostituisci le date di esempio. Esamina conteggi interessati e sorgenti mancanti. L’anteprima è predefinita; --preview esplicita l’intenzione.

    Comando
    sudo -u asterisk /usr/bin/php utility/repair_report_data.php --from 2026-09-01 --to 2026-09-30 --preview
  2. Applicare 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.

    Comando
    sudo -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 / operazioneScopo, effetti e limiti
check_installation.php / check_database.php / schema_profile.phpDiagnostiche 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.phpRecuperi distinti per credenziali/2FA, politica di accesso e ripristino interrotto. Segui le procedure sopra: non sono intercambiabili.
repair_permissions.php --dry-runPianifica 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-runEsamina 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 / --updateControlla 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 --syncImporta 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-runAnteprime 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.phpManutenzione storica circoscritta, con anteprima e conferma esplicita descritte sopra. Non sospende attività e non recupera sorgenti telefoniche mancanti.
update.php --statusConsulta 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-runEsamina 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 / operazioneScopo, effetti e limiti
provision_database.php --connection-stdinProvisioning 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 --interactiveProvisioning/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.phpAggiornamento 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.phpMigrazione/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.phpAggiornamento 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.phpRiferimento 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/asteriskIntervento dell’installer
queues_custom_general.confImposta log_membername_as_agent = yes per le identità degli eventi di coda, conservando le altre impostazioni e i commenti.
extensions_custom.confAggiunge 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.confAggiunge 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.

Richiedi la demo

Tutta l’esperienza Obelisk. Raccontaci del tuo contact center.

Caricamento del modulo…