Săriți la conținut

Blog ·

Migrarea de la cPanel la DirectAdmin

Cea mai aleasă cale de plecare de la cPanel și ce nu se transferă: reguli pentru nume, cote, identificatorul din facturare și cinci capcane reale.

De Provibr

Aceasta este cea mai aleasă cale de plecare de la cPanel și se alege dintr-un singur motiv: licența încetează să crească odată cu numărul dumneavoastră de clienți. cPanel Premier percepe 0,49 $ pe cont pe lună peste 100 de conturi, începând cu 1 ianuarie 2026; DirectAdmin Standard costă 29 $ pe lună pentru conturi nelimitate, citit de pe directadmin.com pe 21 august 2026. La o mie de conturi pe un server, aceea înseamnă 510,99 $ față de 29 $.

Economia este ușor de calculat. Ce urmează este partea care nu este: ce trebuie să se întâmple de fapt, ce nu supraviețuiește mutării și locurile specifice unde un prim script de migrare face pe tăcute lucrul greșit.

Provibr acceptă ambele panouri, iar un client pe oricare dintre ele ne plătește la fel. Nu avem niciun motiv să vă convingem să faceți această mutare, doar să o facem corectă dacă o faceți.

Din ce constă de fapt o migrare

Patru lucruri, și doar în jurul primului există unelte bune.

  1. Datele. Fișiere, baze de date, e-mail, zone DNS. Aceasta este partea pentru care furnizorii scriu instrumente de conversie.
  2. Identitățile. Nume de utilizator, domenii, nume de pachete. Acestea trebuie să existe pe destinație și nu supraviețuiesc întotdeauna neschimbate.
  3. Automatizarea. Orice aprovizionează, suspendă și facturează conturile dumneavoastră este îndreptat către cPanel și trebuie îndreptat în altă parte, de obicei în timp ce ambele panouri sunt active.
  4. Valul de asistență. Tot ce se comporta într-un fel și acum se comportă în altul, sosind ca tichete în următoarele două săptămâni.

Nu v-am rulat migrarea datelor și nu vom descrie instrumentele de conversie ale nimănui ca și cum le-am fi testat. Punctele doi, trei și patru sunt ale noastre, pentru că am măsurat ambele panouri în timp ce construiam integrări față de ele.

Regula pentru numele de utilizator va redenumi unii dintre clienții dumneavoastră

Ambele panouri impun o formă a numelui de utilizator, iar acestea nu sunt aceeași formă. Coloana cPanel a fost măsurată creând conturi pe WHM 11.136 până când a refuzat; coloana DirectAdmin este regula pe care o impune propriul său API.

cPanel / WHMDirectAdmin
Șablon^[a-z][a-z0-9]{0,15}$^[a-z][a-z0-9]{2,15}$
Lungimede la 1 la 16de la 3 la 16
Trebuie să înceapă cuo literăo literă
Cratimărefuzatărefuzată
Liniuță de subliniererefuzatărefuzată
Majusculetransformate tăcut în minusculepăstrate sau refuzate, niciodată rescrise
Nume rezervateda, cu eroare proprie (root și altele)nemăsurat

Cea care îi prinde pe oameni este minimul. Un cont cPanel poate avea un caracter sau două; un cont DirectAdmin nu poate. Dacă aveți asemenea conturi (iar gazdele de lungă durată au de obicei câteva din zilele de început), au nevoie de un nume nou, ceea ce înseamnă că trebuie să anunțați clientul și să actualizați fiecare referință la vechiul nume.

Și există o capcană la ieșire. WHM acceptă un nume de utilizator cu majuscule, îl creează cu minuscule și raportează succes fără să menționeze schimbarea. Așa că acel cont despre care credeți că se numește MyClient s-a numit myclient pe server din ziua în care a fost creat. Orice inventar construiți pentru migrare trebuie citit de pe server, nu din propriile dumneavoastră evidențe, altfel o parte din el nu se va potrivi cu nimic.

Ceea ce stochează sistemul dumneavoastră de facturare este pe cale să nu mai indice nimic

Aceasta este partea care este subestimată, pentru că este invizibilă până la comutare.

Sistemul dumneavoastră de facturare, scripturile de aprovizionare, monitorizarea și instrumentele de asistență identifică toate un cont de găzduire prin ceva. Pe cPanel, acel ceva este numele de utilizator. După mutare este tot un nume de utilizator, dar dacă vreunul dintre ele a fost redenumit, referința este moartă, iar o referință moartă într-o rulare de somare nu aruncă o eroare. Nu suspendă nimic.

Înainte de a muta un singur cont, produceți o singură listă cu trei coloane: numele de utilizator cPanel, numele de utilizator DirectAdmin pe care îl va avea și identificatorul pe care îl deține sistemul dumneavoastră de facturare. Dacă acestea trei nu concordă pentru fiecare rând, migrarea nu este gata, indiferent cum a decurs transferul de date.

Cinci lucruri măsurate pe cele două API-uri care vor strica un prim script

Tot ce este aici a ieșit din scrierea de integrări față de servere în funcțiune, iar toate cinci produc rezultate greșite, nu erori.

Ambele panouri raportează eșecul cu HTTP 200. cPanel returnează result: 0 în interiorul unui obiect metadata; DirectAdmin returnează error=1 în corp. Un script care verifică codul de stare vede succes pentru fiecare eșec de ambele părți ale mutării. cPanel are și o a treia formă: un token greșit sau lipsă revine ca HTTP 403 cu un obiect cpanelresult și fără niciun metadata, așa că un parser care cunoaște doar metadata nu poate deosebi un token stricat de un server stricat.

Limita de disc "0" a cPanel înseamnă nelimitat, nu zero. La fel și șirurile "unlimited" și, pentru consum, "none". Un script de migrare care citește cota sursă ca număr și o scrie pe destinație va crea conturi fără niciun spațiu de disc pentru fiecare client nelimitat pe care îl aveți, și o va face fără un singur avertisment.

E-mailul de contact al cPanel poate fi șirul literal "*unknown*". La fel și câteva dintre câmpurile de rată a e-mailului. Copiați-l fără verificare și ați creat conturi a căror adresă de contact este un substituent, ceea ce descoperiți când prima notificare de suspendare nu ajunge nicăieri.

Căutarea de conturi a cPanel este o potrivire de subșir, nu una exactă. Cererea pentru provibrtest1 a returnat atât provibrtest1, cât și provibrtest12345. Dacă migrarea dumneavoastră verifică fiecare cont după mutare căutându-i numele în panoul sursă, puteți confirma contul greșit și marca drept migrat un client care nu era. Filtrați exact pe numele de utilizator dumneavoastră înșivă.

Un server cPanel fără conturi nu returnează o listă goală. Omite în întregime cheia de date. Un script care tratează o cheie lipsă ca pe un eșec va raporta ca eroare ultimul server pe care l-ați golit cu succes; un script care o tratează ca „niciun răspuns primit” este mai rău, pentru că pe un server activ aceea este diferența dintre „acest cont a dispărut” și „nu am putut spune”.

De partea DirectAdmin mai sunt încă două care merită cunoscute. Lista sa de consum întârzie cu aproximativ trei secunde față de creări și ștergeri, așa că un pas de verificare care rulează imediat după o creare nu vede nimic și concluzionează că nu s-a făcut contul; folosiți în schimb lista de conturi de referință. Iar textul de confirmare pentru reluarea unui cont scrie literalmente „have been suspended”, ceea ce contează tocmai în timpul unei comutări, când suspendarea pe un panou și reluarea pe celălalt sunt cele două jumătăți ale fiecărei mutări.

Ce nu se transferă

Dincolo de datele propriu-zise:

Ce se întâmplă
PacheteNeportabile. Le recreați manual pe DirectAdmin, iar limitele din ele rămân în grija dumneavoastră să le țineți sincronizate.
Domenii addon și parcatecPanel raportează per cont domeniile principale, addon, subdomeniile și parcate. DirectAdmin creează un cont cu un singur domeniu; restul se adaugă în panou ulterior. Orice automatizare trebuie să știe care este cel principal.
Contoare de lățime de bandăTotaluri lunare pe care serverul le resetează singur. Nu se mută, iar prima lună după o migrare se citește mic pe panoul nou și mare pe cel vechi.
Motive de suspendareTextul este reflectat înapoi pe cPanel și stocat per cont. Planificați să reconsemnați de ce este suspendat orice este suspendat în prezent.
Orice a apelat API-ul cPanelScripturi orientate spre client, hookuri, pluginuri terțe. Acestea nu au echivalente DirectAdmin în mod implicit.
Cote de disc care nu au fost niciodată impuseVedeți mai jos. Aceasta este un val de asistență, nu o problemă de date.

Capcana cotei și de ce lovește în prima săptămână

Un server cPanel impune cotele de disc doar atunci când sistemul de fișiere pe care locuiesc conturile are suport pentru cote. Fără el, WHM acceptă pachetul, acceptă cifra și nu impune nimic. Am măsurat exact asta pe un server WHM 11.136 în funcțiune: un cont mutat pe un pachet cu o cotă de 2 GB și-a raportat în continuare limita ca unlimited, iar cifrele de disc per cont au revenit goale. Nimic nu a eșuat și nimic nu a fost refuzat.

Dacă aceasta este starea flotei dumneavoastră, fiecare cont a fost efectiv pe disc nelimitat atâta timp cât asta a fost adevărat, iar unele dintre ele vor fi crescut cu mult peste ce le-ați vândut. Mutați-vă pe un panou care impune cota pe care ați configurat-o și toate lovesc peretele în aceeași săptămână.

Verificați asta înainte de a planifica migrarea, nu în timpul ei. Dacă acele cote nu sunt impuse, aveți de luat o decizie cu privire la conturile care sunt peste (măriți-le, contactați-le sau puneți-le un preț), iar aceasta este o decizie mult mai bună de luat în avans decât într-o coadă de tichete.

Testul de conexiune al Provibr raportează dacă acele cote sunt cu adevărat impuse pe un server cPanel, alături de versiune și de numărul de conturi, ceea ce este un mod ieftin de a afla. Este totodată motivul pentru care platforma citește limita de disc a unui cont din cont, nu din pachet: ce raportează contul este ce este în vigoare.

Faceți-o în cohorte și așteptați-vă la luni

Tiparul care funcționează este plictisitor și este singurul care funcționează.

Îndreptați mai întâi comenzile noi către DirectAdmin. Nimic nu trebuie mutat pentru asta, panoul de destinație este exersat în condiții reale, iar dumneavoastră îi învățați comportamentul pe conturi de care nimeni nu a depins de ani de zile.

Apoi mutați conturile cu cel mai prost raport licență-venit. Cele mai ieftine planuri ale dumneavoastră, ai căror clienți le pasă cel mai puțin de interfață.

Apoi tot restul, în loturi pe care le puteți susține. O dimensiune de lot la care o după-amiază proastă este recuperabilă, ceea ce pentru majoritatea gazdelor este mai mic decât planifică inițial.

Păstrați panoul vechi până când ultimul cont este de pe el și a trecut un ciclu complet de facturare. Luna de după o migrare este când contorul se resetează, facturile ies și neconcordanțele apar.

Lunile de la mijloc

Pentru tot acest răstimp rulați două panouri. Două autentificări, două moduri de a număra ce ați vândut, două locuri unde să vă uitați când sună un client și două seturi de automatizare care trebuie să fie de acord cu privire la cine este suspendat. Acea perioadă este costul real al mutării și este motivul pentru care multe gazde decid să migreze și apoi nu încep niciodată.

Provibr conectează ambele panouri la același cont. Un cont cPanel și un cont DirectAdmin apar în aceeași listă de servere, contează la aceeași capacitate și aterizează pe aceeași factură lunară, cu aceleași acțiuni de suspendare, reluare, reîmpachetare și ștergere în spatele lor. Agentul inițiază conexiunea spre exterior din propria dumneavoastră rețea, așa că niciunul dintre servere nu are nevoie de un port de intrare deschis și nimic nu este instalat pe vreunul. Conturile pe care nu le-ați creat prin Provibr sunt lăsate în pace până când le importați, așa că un panou care are deja patru sute de conturi pe el devine ceva ce adoptați, nu ceva ce reconstruiți.

Nu vă mută datele. Elimină motivul de a amâna mutarea lor.

De citit în continuare

Prețurile de listă cPanel pentru 2026 provin din relatările publice ale anunțului intrat în vigoare la 1 ianuarie 2026; prețurile DirectAdmin au fost citite de pe directadmin.com pe 21 august 2026. Fiecare comportament de API descris aici a fost măsurat față de servere cPanel și DirectAdmin în funcțiune, în timpul construirii integrărilor Provibr. Nu se face nicio afirmație despre instrumentele de conversie a datelor ale vreunui furnizor, pe care nu le-am testat.

Începeți cu o gazdă și un agent

Creați un cont, instalați agentul cu o singură comandă și conectați primul dumneavoastră host Proxmox. Perioada de probă durează 14 zile și nu cere date de plată.