Blog ·
Webhosting verkopen met ISPConfig
ISPConfig stuurt web, mail en DNS over meerdere servers aan vanuit één installatie, met klanten en limieten ingebouwd. Wat de remote API wel en niet geeft.
Door Provibr
De meeste controlepanelen beheren één server. ISPConfig beheert een vloot: één installatie die vóór aparte web-, mail-, DNS- en databasemachines staat, met de sites en mailboxen verdeeld over die machines en één interface over het geheel. Het doet dat al heel lang, het is open source, en het kost niets.
Het is ook het paneel in deze categorie met het meest complete idee van wat een klant is. ISPConfig heeft klanten, resellers, limieten en templates als eersteklas objecten, en dat is meer dan de meeste concurrenten kunnen zeggen. Wat het niet heeft (en dat is precies waarom een pagina als deze bestaat) is enig begrip van een klant die jou betaalt.
Wat ISPConfig je al geeft
Drie dingen, en het zijn ongebruikelijk goede.
Klanten, niet alleen accounts. Een ISPConfig-klant is een persoon of een bedrijf dat dingen bezit: websites, mailboxen, DNS-zones, databases. Dat is de vorm die een hostingproduct werkelijk heeft, en je hoeft hem niet zelf te verzinnen.
Limieten, en templates om ze toe te passen. Elke klant draagt limieten: hoeveel webdomeinen, hoeveel mailboxen, hoeveel databases, hoeveel ruimte. Met klanttemplates definieer je een set limieten één keer en pas je ze op veel klanten toe, en dat is precies een productcatalogus onder een andere naam. Een limiet van -1 betekent onbeperkt, wat handig is om te weten voordat je een template leest en concludeert dat er iets stuk is.
Resellers. ISPConfig begrijpt dat een klant zelf klanten kan hebben. Verkoop je aan bureaus die aan hun eigen klanten verkopen, dan bestaat die hiërarchie in het paneel in plaats van in een spreadsheet die je ernaast bijhoudt.
Samen dekken die drie de onderdelen die de meeste panelen je zelf laten bouwen.
Het ongebruikelijke deel: één paneel, meerdere machines
Dit is wat ISPConfig echt onderscheidt van DirectAdmin, cPanel, CloudPanel en de rest.
Eén ISPConfig-installatie kan aparte webservers, een aparte mailserver, aparte DNS-servers en een aparte databaseserver aansturen, ingericht als multiserver-opstelling, met spiegeling beschikbaar voor de onderdelen die redundantie nodig hebben. Voeg je een website toe, dan schrijft ISPConfig hem naar de machine die hem hoort te dragen.
Voor een hoster volgen daar twee dingen uit. Het goede: groeien betekent een machine achter het paneel bijzetten, niet een tweede paneel neerzetten en je klanten verdelen over twee systemen die niets van elkaar weten. Het punt om op te plannen: jouw idee van "een server" en het idee van ISPConfig van "een server" zijn niet langer hetzelfde. Een account hangt niet meer aan een bak die je kunt aanwijzen, en dat is prima, maar elke inventaris die je boven ISPConfig bijhoudt moet overweg kunnen met een klant wiens website op de ene machine staat en wiens mailboxen op een andere.
De remote API, en de twee dingen die je erover moet weten
Automatisering van ISPConfig loopt via de remote API, beschikbaar in een SOAP- en een JSON-variant. Twee eigenschappen bepalen alles wat je erop bouwt.
Hij werkt met sessies, niet met tokens. Je roept login aan met de naam en het wachtwoord van een remote gebruiker, krijgt een session_id terug, en stuurt die met elke volgende aanroep mee. De sessie is beperkt geldig. Dat is een andere levenscyclus dan de bearer-tokens die de meeste moderne panelen uitdelen: je client moet een sessie vasthouden, opmerken wanneer die verlopen is, en opnieuw inloggen. En dat mag hij niet blind herhalend doen, want een inloglus tegen verkeerde gegevens is hoe je jezelf ergens buitensluit.
Rechten gaan per functie, en ze worden gecontroleerd. Je maakt in het paneel een remote gebruiker aan (System, dan Add Remote User) en vinkt de soorten aanroepen aan die hij mag doen. ISPConfig controleert dat recht bij elke aanroep die binnenkomt.
Die tweede eigenschap is echt waardevol en het is de moeite waard om hem goed te gebruiken. Het betekent dat het credential in je automatisering niet alles hoeft te kunnen wat ISPConfig kan. Geef het de functies die je provisioning daadwerkelijk aanroept en niets daarbuiten, en een fout in je eigen code kan de delen van het paneel die je nooit wilde aanraken niet bereiken. Erg weinig panelen in deze klasse laten je die grens überhaupt trekken.
De functies zelf lezen zoals je zou hopen. Klanten maak je met client_add. Websites zijn sites_web_domain_add, sites_web_domain_update, sites_web_domain_get en sites_web_domain_delete. En cruciaal voor alles wat commercieel is: er is sites_web_domain_set_status, een echte, ondersteunde manier om een website aan en uit te zetten, en dat is het ene werkwoord waar hostingfacturatie om draait en dat verschillende concurrerende panelen simpelweg niet hebben.
Wat het nog steeds niet doet
Alles hierboven is infrastructuur. Niets ervan is handel.
ISPConfig neemt geen bestelling aan, neemt geen betaling aan, maakt geen factuur, maant er niet op aan, en besluit op dag eenendertig niet dat deze klant gestopt is met betalen en uit moet. Het heeft de hendel, set_status, maar niets dat bepaalt wanneer je eraan trekt. Er is geen catalogus met prijzen, geen aanmeldstroom, geen aanmaanschema, en geen overzicht dat vertelt wat je vloot je kost tegenover wat hij oplevert.
Dat is geen kritiek. Een controlepaneel dat ook een facturatiesysteem probeerde te zijn zou in allebei slechter zijn. Maar het betekent wel dat het interessante werk bij ISPConfig-hosting verkopen volledig in de laag erboven zit, en die laag is dezelfde die je voor elk ander paneel nodig zou hebben:
- Een bestelformulier en een catalogus, met plannen die op klanttemplates aansluiten.
- Een betaling die provisioning aanzet binnen seconden.
- Een aanmaningspad (te laat, gewaarschuwd, opgeschort, hersteld) dat bij de juiste stap aan
set_statushangt. - Capaciteit die je kunt zien, zodat je weet hoeveel accounts je over al die machines draagt en wat ze kosten.
- Een activiteitenlog, zodat "wie heeft die limiet gewijzigd" een antwoord heeft.
- Een rechtenmodel voor je eigen mensen, zodat support kan handelen zonder een klant te kunnen verwijderen.
Waar Provibr past
Ondersteuning voor ISPConfig is live. Een agent in je eigen netwerk praat met de remote-API van het paneel, zodat er niets van je paneel aan het internet hoeft te hangen en er geen poorten open hoeven. Een klant met een website en een pakket aanmaken, opschorten, hervatten, van pakket wisselen en verwijderen werkt allemaal, accounts die er al stonden kun je importeren, en schijf en verkeer komen in de grafieken. Daaromheen zit de laag hierboven: plannen en capaciteit met een staffelprijs, een rechtenmodel voor je team, een activiteitenlog, en een REST-API en WHMCS-module zodat het platform waarmee je al factureert het kan aansturen.
De inloggegevens in de kluis van de agent mogen veel smaller zijn dan een beheerder, want ISPConfig geeft zijn remote-rechten per functie: de remote-gebruiker kan precies op de aanroepen worden gezet die Provibr doet en op niets daarbuiten. Op welke van je machines ISPConfig een site zet blijft de keuze van ISPConfig, de accounthandelingen zijn hoe dan ook dezelfde, en elk account telt als één webserver in je capaciteit, ongeacht welke machine hem uiteindelijk draait.
Wat de integratie niet doet is aan accounts komen die je er niet mee hebt aangemaakt: die blijven met rust tot je ze importeert, en jij kiest welke. Nog één praktische noot over de verbinding zelf: een verse ISPConfig-installatie is zelfondertekend, dus de TLS-vingerafdruk van het paneel pin je het beste vast als je de integratie toevoegt.
Wat het niet zal doen
Accounts beheren is niet het paneel beheren. ISPConfig installeren, bijwerken, er servers achter zetten, mailrouting configureren en DNS verzorgen: dat blijft bij jou, in ISPConfig, waar het hoort. Een klant die zijn eigen mailbox bewerkt doet dat zonder dat iets erboven het weet of erom geeft.
Je hoeft niet op één paneel te standaardiseren om één overzicht te houden. Provibr draait vandaag zijn controlepanelen, hypervisors en gamepanelen naast elkaar, met één inventaris, één rechtenmodel en één activiteitenlog. Een open multiserver-paneel voor de klanten die mail en DNS erbij willen, iets anders voor wie om cPanel vraagt, en één plek waar je ze allebei ziet.