Blog ·
Il modulo WHMCS per CyberPanel, e l’alternativa
Cosa può e non può fare un modulo WHMCS per CyberPanel, perché è la sua API a fissare il tetto. Limiti misurati e uno strato di provisioning.
Di Provibr
Se utilizza WHMCS e vuole vendere hosting OpenLiteSpeed, va alla ricerca di un modulo di provisioning per CyberPanel. Misurati il 21 agosto 2026, i risultati di quella ricerca sono un repository GitHub tenuto da una singola persona e una discussione su un forum della community.
Questa non è una critica al lavoro di nessuno. È la descrizione di un vuoto: un software che si colloca tra le Sue fatture e i siti dei Suoi clienti, e che la maggior parte degli hosting provider trova sotto forma di progetto secondario anziché di prodotto.
Questa pagina tratta di ciò che un modulo del genere può fare, di ciò che strutturalmente non può fare, e di come appare una forma di soluzione diversa. La prima parte è la più importante, perché il tetto non è il modulo: è l’API di CyberPanel.
Il tetto: ciò che l’API di CyberPanel consente
Misurato contro CyberPanel 3.0, non ripreso dalla documentazione. Qualsiasi modulo (quello su GitHub, uno che scrive Lei stesso, o quello descritto più sotto) è vincolato da tutti questi limiti.
Creare un sito risponde prima di conoscerne l’esito
createWebsite risponde in circa tre secondi con createWebSiteStatus: 1. Non è un verdetto; significa che il lavoro è cominciato. L’endpoint avvia un comando in background e restituisce subito il controllo. Il vero avanzamento vive in un file di stato che va sondato separatamente.
Misurato con dati volutamente errati:
| Caso | Risposta HTTP | Cosa è realmente accaduto |
|---|---|---|
| Dominio già esistente | createWebSiteStatus: 1 (successo) | This website already exists. [404] |
| Pacchetto sconosciuto | createWebSiteStatus: 1 (successo) | Package matching query does not exist. [404] |
| Dominio malformato | createWebSiteStatus: 0 | rifiutato immediatamente |
Solo la forma del dominio e dell’email viene convalidata a monte. Un modulo che si fida della prima risposta marcherà come attivo un ordine WHMCS per un sito che non è mai stato creato, e il cliente riceve credenziali di benvenuto per qualcosa che non esiste.
Sondare quel file di stato comporta altre due insidie. Leggere uno stato completato lo elimina, così un sondaggio di troppo trasforma una creazione terminata in un «ancora in corso» permanente. E la chiamata di stato si trova sulla parte dell’API di CyberPanel che rifiuta ogni amministratore che non si chiami letteralmente admin.
L’intera creazione dura circa cinquanta secondi, di cui all’incirca ventotto sono un tentativo SSL che CyberPanel compie incondizionatamente. L’API sovrascrive quel flag qualunque cosa invii. Qualsiasi modulo ha bisogno di un timeout che ne tenga conto.
Cambiare pacchetto cambia un campo nel database
changePackageAPI risponde in circa 270 millisecondi e il pannello mostra il nuovo nome. Misurato in seguito dall’interno del server, con un pacchetto che porta limiti diversi: la quota di disco era invariata (soft 0, hard 0) e la configurazione vhost portava ancora i limiti di memoria e di processi del vecchio pacchetto.
Nulla è stato applicato. Perciò un ordine di upgrade WHMCS può concludersi, essere fatturato e cambiare il nome nel pannello mentre i limiti reali del cliente sono esattamente quelli di prima. Nessun modulo può correggere questo: l’intera implementazione dell’endpoint è un aggiornamento di campo.
La sospensione non blocca l’account
CyberPanel sospende un sito riscrivendo il suo vhost verso una pagina di sospensione e riavviando il server web. L’utente unix non viene bloccato; FTP, posta e database continuano a funzionare. Se sospende per mancato pagamento, il Suo cliente dispone ancora della sua posta e del suo database. Può essere esattamente ciò che vuole, ma dovrebbe essere una decisione e non una sorpresa.
C’è anche un bordo più tagliente: l’implementazione è if state == "Suspend": … else: <resume>, senza alcuna convalida. Misurato: inviare "suspend" in minuscolo ha riattivato un sito sospeso e ha segnalato un successo. Qualsiasi modulo dovrebbe tenere quei due valori come costanti, mai comporli a partire da una variabile.
Non ci sono dati di utilizzo
La banda viene calcolata da CyberPanel e poi scartata prima di raggiungere qualsiasi elenco. L’uso del disco proviene da una cache posta sul record del sito, che è vuota su un sito nuovo, così il valore ricade a zero, e uno zero proveniente da una cache vuota è indistinguibile da un sito che non consuma nulla.
WHMCS dispone di un hook di raccolta dell’utilizzo che si aspetta cifre di disco e di banda. Su CyberPanel non c’è nulla di onesto da metterci: un modulo che lo riempie comunque riporta un valore predefinito, non una misurazione.
L’accesso alle API è disattivato, e l’ordine dei controlli ne nasconde il motivo
Su un CyberPanel nuovo l’API è disattivata, anche per l’amministratore principale, e il flag viene controllato prima della password. Così, con esso disattivato, una password corretta e una errata restituiscono lo stesso API Access Disabled. Il primo guasto di ogni modulo per questo pannello sembra un problema di credenziali e non lo è.
Cosa significa questo per un modulo
Nulla di quanto sopra è riparabile all’interno di un modulo WHMCS, perché nulla di ciò è un problema di modulo. Ciò che differisce da un modulo all’altro è quanto onestamente lo gestisce:
- Sonda lo stato di creazione, o si fida della prima risposta?
- Legge lo stato una sola volta registrando l’esito, o sonda finché non cancella il risultato per sbaglio?
- Le dice che un cambio pacchetto non ha applicato nulla?
- Lascia vuoto l’hook di utilizzo, o lo riempie di zeri che sembrano dati?
- Dice «l’accesso alle API è disattivato» invece di «credenziali non valide»?
Queste sono le domande da porre a qualsiasi modulo si stia valutando. Vi si risponde leggendo il codice, e pesano più della lista delle funzioni. Ce n’è una in più, che riguarda Lei e non il codice: chi lo manterrà tra diciotto mesi? Un modulo di provisioning si trova sul percorso critico di ogni ordine che accetta.
L’alternativa: uno strato di provisioning, non un modulo di pannello
Provibr si colloca tra il Suo sistema di fatturazione e la Sua infrastruttura. Non è un modulo WHMCS per CyberPanel; è una piattaforma di provisioning che parla a CyberPanel, e con cui WHMCS dialoga attraverso un solo modulo, qualunque cosa ci sia sotto.
La differenza pratica:
| Un modulo WHMCS per CyberPanel | Provibr | |
|---|---|---|
| Pannelli coperti | CyberPanel | Pannelli di controllo, hypervisor e pannelli di gioco, incluso CyberPanel |
| Integrazione WHMCS | questo modulo | un modulo per tutti |
| Fatturazione non WHMCS | scrivere un altro modulo | API REST |
| Raggiungibilità | WHMCS deve raggiungere il pannello | l’agente si connette verso l’esterno; nulla di esposto |
| Archiviazione delle credenziali | nel database WHMCS | nella cassaforte dell’agente sul proprio host |
| Esito della creazione | dipende dal modulo | sonda lo stato reale |
| Grafici di utilizzo su CyberPanel | non disponibili | nessuno, e lo dice |
| Cambio pacchetto su CyberPanel | non applica nulla | non applica nulla, e lo dice |
| Costo | gratuito | per account di hosting gestito, al mese |
| DNS, posta, database | pannello | pannello |
| Chi lo mantiene | variabile | un’azienda che lo vende |
Due righe meritano un approfondimento, perché sono quelle oneste.
Il costo. Il modulo è gratuito e Provibr no. Provibr fa pagare la capacità che si riserva (quanti account di hosting può eseguire contemporaneamente) a un prezzo unitario a scaglioni che cala man mano che il numero sale. Ciò che fa pagare ai Suoi clienti resta interamente Suo. Se ha dodici siti CyberPanel e nessun progetto di crescita, un modulo gratuito è la risposta giusta.
Gli stessi limiti, un’onestà diversa. Provibr non ripara il cambio pacchetto di CyberPanel, non inventa cifre di utilizzo e non blocca un account sospeso. Non può: sono proprietà del pannello. Ciò che fa è rifiutarsi di far credere il contrario.
Come si inserisce in WHMCS
Un modulo, installato come un semplice archivio zip in modules/servers/. In WHMCS aggiunge un server che punta a Provibr con una chiave API, poi fa puntare un prodotto WHMCS a un piano di hosting web Provibr. Un ordine pagato crea l’account, una sospensione lo sospende, una cessazione lo rimuove. Il Suo cliente mantiene un account, una fattura e un login.
La chiave API porta degli ambiti, e ciò che può realmente fare è l’intersezione di quegli ambiti e dei permessi del membro a cui appartiene, così una chiave può soltanto restringere l’accesso, mai ampliarlo. Ritiri un permesso a un collega e ogni sua chiave si restringe alla richiesta successiva, senza che nessuno revochi alcunché.
Se non utilizza WHMCS, le stesse operazioni sono disponibili tramite l’API REST: una chiave, un URL di base. Tutto ciò che tocca una macchina risponde «accettato» con un comando da seguire, perché la Sua infrastruttura è raggiungibile solo tramite l’agente all’interno della propria rete. Le letture rispondono immediatamente.
Quando il modulo è la scelta migliore
Per essere diretti: se CyberPanel è l’unico pannello che esegue, ha già WHMCS, il Suo volume è piccolo, e non La disturba leggere del PHP quando qualcosa si rompe, un modulo è meno macchinario e nessun costo mensile. I limiti in cima a questa pagina si applicano allo stesso modo a entrambe le opzioni.
L’argomento a favore di uno strato al di sopra comincia quando esegue più di un pannello, quando vuole togliere le credenziali dal Suo host WHMCS, quando qualcosa di diverso da WHMCS deve piazzare gli ordini, o quando vuole che il percorso di provisioning sia il prodotto di qualcuno anziché il fine settimana di qualcuno.
Provibr gestisce oggi i suoi pannelli di controllo, i suoi hypervisor e i suoi pannelli di gioco affiancati, in un unico inventario, sotto un unico modello di permessi, con un’unica traccia di attività. Non deve scegliere tra CyberPanel e tutto il resto.
Domande frequenti
Esiste un modulo CyberPanel ufficiale per WHMCS?
Misurato il 21 agosto 2026, quella ricerca restituiva un repository GitHub curato da una singola persona e una discussione di forum. È la descrizione di una lacuna, non una critica al lavoro di nessuno.
Perché il modulo segnala successo per un sito mai creato?
Perché createWebsite risponde prima di conoscere l’esito. Un dominio già esistente e un pacchetto sconosciuto tornano entrambi come createWebSiteStatus: 1, e questo significa che il lavoro è iniziato, non che sia riuscito. In anticipo viene validata solo la forma del dominio e dell’indirizzo e-mail.
Cambiare pacchetto su CyberPanel applica davvero qualcosa?
No. Misurato su CyberPanel 3.0, changePackageAPI risponde in circa 270 millisecondi e il pannello mostra il nome nuovo, mentre la quota disco e i limiti del vhost restano invariati. L’intera implementazione di quell’endpoint è un aggiornamento di campo, e nessun modulo può ripararlo.
Perché una password corretta dà «API Access Disabled»?
Perché su un CyberPanel appena installato l’API è spenta, anche per l’amministratore principale, e il flag viene controllato prima della password. Una password giusta e una sbagliata restituiscono la stessa risposta, quindi il primo fallimento di qualunque modulo per questo pannello sembra un problema di credenziali e non lo è.
Modulo o livello di provisioning?
Se CyberPanel è l’unico pannello in uso, WHMCS c’è già e il volume è piccolo, un modulo è meno macchinario e nessun costo mensile. Un livello superiore inizia a valere la pena quando i pannelli sono più di uno, quando le credenziali devono uscire dall’host WHMCS, o quando qualcosa di diverso da WHMCS deve inoltrare ordini.