Naar de inhoud

Documentatie

HestiaCP

HestiaCP is een opensource controlepaneel voor webhosting. Provibr praat met zijn eigen API via een access key en beheert de accounts erop: aanmaken, opschorten en hervatten, naar een ander pakket verplaatsen, en verwijderen.

De API aanzetten en de agent doorlaten

HestiaCP heeft een eigen API op poort 8083, dezelfde poort als het paneel. Vanaf versie 1.10 staat hij standaard aan; de instelling vind je onder Server settings, Security.

Het paneel houdt daarnaast een lijst bij van adressen die die API mogen gebruiken, en op een verse installatie is die lijst leeg, wat daar niemand betekent en niet iedereen. Zolang het publieke adres van de machine met je agent er niet op staat, wordt elke aanroep geweigerd terwijl je sleutel gewoon klopt.

Je zet hem in datzelfde scherm van het paneel, of vanuit een shell op de paneelhost:

shell
v-change-sys-config-value API_ALLOWED_IP '<agent-ip>'
Commando's en terminaluitvoer zijn overal Engels, in het paneel en op deze pagina's. Één tekst, één waarheid: wat je hier leest is letterlijk wat je host teruggeeft.

Een access key voor Provibr

Maak de sleutel onder Access keys, voor de gebruiker admin, en laat de permissielijst leeg:

shell
v-add-access-key admin "" "provibr-agent"
Commando's en terminaluitvoer zijn overal Engels, in het paneel en op deze pagina's. Één tekst, één waarheid: wat je hier leest is letterlijk wat je host teruggeeft.
Leeg betekent alle commando's, en dat accepteert HestiaCP alleen voor de admin. De meegeleverde billing-permissieset komt in de buurt, maar mist de twee commando's die je pakketten en de domeinen van een account lezen; met die set blijven allebei leeg. Een sleutel is los in te trekken, en daarom vraagt Provibr erom in plaats van om het wachtwoord van je paneel.
HestiaCP blokkeert een adres na vijf geweigerde aanmeldingen, en een commando buiten de permissies van een sleutel telt daarin mee. Daarna antwoordt het paneel helemaal niet meer: de koppeling faalt niet met een melding maar loopt in een timeout. Je heft de blokkade op het paneel op met v-delete-firewall-ban, gevolgd door het adres en het woord HESTIA.

Wat Provibr vraagt

Vier velden. De agent bewaart ze in zijn eigen vault op jouw host; Provibr kan ze niet teruglezen.

  • Het adres van het paneel inclusief poort, bijvoorbeeld https://panel.example.com:8083. Laat je de poort weg, dan vult Provibr 8083 aan.
  • Het sleutel-id: 20 tekens. Geen geheim: het paneel toont het zelf.
  • Het geheim: 40 tekens met letters, cijfers en leestekens.
  • De SHA-256-fingerprint van het certificaat, zolang het paneel het self-signed exemplaar gebruikt.
Kaal http wordt geweigerd. Poort 8083 spreekt uitsluitend TLS, dus een http-adres wijst nooit naar de API.

Het certificaat

Een verse HestiaCP presenteert een self-signed certificaat. Vul de fingerprint in en de agent vertrouwt precies dat ene certificaat in plaats van de controle uit te zetten. Je leest hem uit vanaf elke machine die het paneel kan bereiken:

shell
openssl s_client -connect <host>:8083 </dev/null 2>/dev/null | \
  openssl x509 -noout -fingerprint -sha256
Commando's en terminaluitvoer zijn overal Engels, in het paneel en op deze pagina's. Één tekst, één waarheid: wat je hier leest is letterlijk wat je host teruggeeft.

Geef je het paneel een Let's Encrypt-certificaat op zijn eigen hostnaam, dan valideert de keten vanzelf en mag het veld leeg blijven. Dat is daar ook de betere keuze: zo'n certificaat vernieuwt ongeveer elke negentig dagen, en een gepinde zou hier elke keer vervangen moeten worden. De verbindingstest vertelt je welke van de twee je hebt.

Pakketten

HestiaCP beschrijft in een pakket wat een account mag gebruiken: schijfruimte, bandbreedte, en hoeveel domeinen, databases en mailboxen. Provibr leest die lijst en verwijst naar een pakket bij naam; wat erin zit blijft van jou.

Een webhostingplan in Provibr wijst naar één pakket op één integratie. Dat is wat je klant bestelt, en de prijs bepaal je zelf.

Wat Provibr met een account doet

Vijf handelingen, allemaal aangewezen met de gebruikersnaam, dezelfde naam die Provibr als identiteit van die server bewaart.

  • Een account aanmaken, met een domein, een pakket en een contactadres.
  • Het opschorten en hervatten. Een opgeschort account telt niet mee voor je capaciteit.
  • Het naar een ander pakket verplaatsen.
  • Het verwijderen, met alles wat het paneel meeneemt.
Aanmaken kost bij HestiaCP twee aanroepen: één voor de gebruiker en één voor het domein, want er is geen commando dat allebei doet. Mislukt de tweede, bijvoorbeeld omdat het domein al van iemand anders is, dan verwijdert de agent de gebruiker die hij net aanmaakte en meldt hij de oorspronkelijke fout. Een geweigerd domein laat dus nooit een half account achter.

Schijfruimte en bandbreedte

Elke uitlezing van het paneel draagt de grens en het verbruik van elk account, in megabytes. Ze staan op de serverpagina en in de grafieken, zonder een tweede aanroep die achter de eerste aan kan lopen.

Provibr beheert op HestiaCP geen DNS, geen mailboxen en geen databases, en er is geen console. Die blijven in het paneel zelf, waar jij en je klanten ze blijven gebruiken.

Accounts die er al staan

Accounts die buiten Provibr om zijn gemaakt zijn te importeren op de integratiepagina: de agent somt op wat er op het paneel staat, en jij kiest welke daarvan een server in Provibr worden.

Een geïmporteerd account telt vanaf dat moment mee voor je capaciteit, net als elke andere webserver.

Wat dit niet doet

Provibr beheert accounts en niet het paneel: het installeert HestiaCP niet, werkt het niet bij, wijzigt geen serverinstellingen en raakt DNS, mail en databases niet aan. Een paneel met veel accounts uitlezen kost één extra aanroep per account voor de domeinen, want HestiaCP heeft geen commando dat ze allemaal tegelijk opsomt.