Naar de inhoud

Documentatie

Webmin en Virtualmin

Webmin is de controlepaneel-integratie voor servers waarop Virtualmin draait. Hij maakt en beheert webhostingaccounts op een machine die al staat. Er is geen besturingssysteem te installeren en geen machine te booten. Een account wordt aangemaakt, krijgt een plan, en wordt later opgeschort, op een ander plan gezet of verwijderd.

Webmin is het paneel, Virtualmin doet de hosting

Je kent het product als Webmin, en zo heet deze pagina ook. Wat Provibr werkelijk aanstuurt is Virtualmin: de module die van domeinen, plannen en quota weet. Kale Webmin beheert een Linux-machine en kent het begrip hostingaccount helemaal niet.

Op een server zonder de module is de remote-API er eenvoudigweg niet: hij antwoordt precies zoals een module die niet bestaat. Provibr kan dus niet terugvallen op kale Webmin, en doet ook niet alsof: de koppeling wordt met een reden geweigerd in plaats van half aangemaakt.

Wat je nodig hebt

De remote-API van Webmin spreekt HTTP Basic, dus het geheim is hier een wachtwoord en geen token. Dat is een eigenschap van Webmin en geen keuze van ons, en het is de reden dat de twee regels hieronder strenger zijn dan bij de andere controlepanelen.

  • Host: het adres van het paneel. Het moet https zijn, en poort 10000 wordt aangevuld als je hem weglaat.
  • Webmin-gebruiker: root werkt, maar een gebruiker die alleen de Virtualmin-module heeft is beter.
  • Wachtwoord: het wachtwoord van die gebruiker. Er valt niets af te bakenen, dus kies de gebruiker met zorg.
  • TLS-fingerprint: verplicht, want de installer van Webmin laat een self-signed certificaat achter.
Geef de Virtualmin-module aan een Webmin-gebruiker die je hiervoor hebt gemaakt. Die kan alles wat Virtualmin kan, en dat is veel, maar niet alles wat Webmin kan.

https en de fingerprint zijn allebei verplicht

De andere controlepaneel-koppelingen accepteren een kaal http-adres en vertellen je wat dat kost. Deze niet, en het verschil zit in het geheim: een DirectAdmin-loginsleutel is tot een handvol commando's te beperken, een Webmin-wachtwoord is helemaal niet te beperken.

Dat wachtwoord onversleuteld versturen, of naar een certificaat dat niemand heeft gecontroleerd, is geen afweging die wij namens jou maken. Dus http wordt geweigerd en het fingerprint-veld mag niet leeg blijven.

Lees de fingerprint uit vanaf elke machine die het paneel kan bereiken, en plak hem zoals je hem kreeg, met of zonder dubbelepunten, en het voorvoegsel dat je gereedschap afdrukt mag blijven staan.

shell
openssl s_client -connect <host>:10000 </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.

De remote-API

Provibr gebruikt de webinterface van Webmin niet. Hij belt de remote-API van de Virtualmin-module, die machineleesbare antwoorden geeft in plaats van pagina's. Op sommige installaties staat die route uit; je zet hem terug aan onder Webmin, Webmin Configuration, Advanced Options.

Antwoordt het paneel met een inlogpagina in plaats van met de API, dan zegt de agent dat met zoveel woorden. Meestal wijst het adres dan naar een pagina in plaats van naar het paneel, of staat de remote-API uit.

Instellingen

Die zijn er niet. Een Webmin-server bepaalt zelf waar een account komt te staan en welk adres het krijgt, dus er valt voor jou niets te kiezen. Het tabblad Instellingen bestaat wél, want daar stuur je ook inloggegevens opnieuw.

Plannen

Een Virtualmin-plan is de eigen beschrijving die het paneel van een account heeft: schijfquotum, maandelijks verkeer, hoeveel domeinen en mailboxen, welke functies aanstaan. Het is geen Provibr-plan en geen besturingssysteem. Het is een naam waarnaar we verwijzen, en de inhoud kan op jouw server veranderen zonder dat wij dat merken.

De integratiepagina kan de lijst met plannen ophalen inclusief wat erin zit, zodat je ziet wat je kiest in plaats van een naam uit je hoofd te typen.

Een webplan legt één Virtualmin-plan op één integratie vast en geeft het een eigen naam. Bestellen met een plan wint van een losse keuze, en die losse keuze blijft bestaan voor de gevallen die een plan niet dekt.

Hoe een account er in Provibr uitziet

Een hostingaccount is een gewone serverrij van het type webserver. Zijn identificatie is het interne nummer dat Virtualmin aan het domein geeft, en zijn domein, gebruiker, plan en functies komen bij elke poll mee.

  • Een account aanmaken vraagt een domein, een e-mailadres, een plan en een wachtwoord.
  • De unix-gebruiker wordt uit het domein afgeleid, dus koppeltekens zijn hier normaal, anders dan bij DirectAdmin, dat een eigen naamregel heeft.
  • Het wachtwoord wordt nergens vastgelegd. Alleen dát je er een meegaf staat er; de waarde reist apart.
  • Daarna kun je opschorten, hervatten, van plan wisselen en verwijderen. Er is geen console, want een hostingaccount heeft die niet.
De identificatie is het nummer en niet de naam, want Virtualmin kan een domein hernoemen. Een sleutel op naam zou bij de eerste keer dat iemand dat doet losraken van zijn rij.

Quota en verbruik

Schijfquotum en verkeer liften mee op de gewone poll, dus een account krijgt een verbruiksgrafiek zonder dat er iets extra's aan hoeft, mits de server ze kan meten.

Virtualmin rapporteert quota en verbruik alleen als de filesystem-quota aanstaan, en op een verse installatie staan die uit. Zolang niemand ze aanzet, zijn die velden er eenvoudigweg niet. Provibr toont dan niets in plaats van een nul: geen meting en geen verbruik zijn niet hetzelfde.

Bestaande accounts overnemen

Het tabblad Import toont de accounts op het paneel en laat je de accounts die je wilt in Provibr opnemen. Accounts die al bekend zijn staan er wel bij maar zijn niet opnieuw te selecteren, zodat je het hele beeld ziet en niet een gefilterd beeld.

Geïmporteerde accounts tellen net zo goed mee voor je capaciteit als accounts die je besteld hebt. Importeer je er meer dan je ruimte hebt, dan opent er een overschrijding, met de gebruikelijke respijtperiode.