Module · Hosting panels

Virtualmin

Paid invoices create hosting accounts on your own Virtualmin server, unpaid ones suspend them. Customers see disk, bandwidth, mailboxes and databases in your portal.

What it does for you

  • A paid hosting order creates the account on the product's plan and emails the customer their login.
  • An unpaid renewal suspends the account; paying restores it. Accounts are never deleted automatically.
  • Customers manage mailboxes, databases and subdomains from their portal.

What you need

  • A Virtualmin server reachable from Teculiar over HTTPS (usually port 10000).
  • An admin login on it with access to the Virtualmin Remote API.
  • Hosting plans (and, optionally, templates) set up in Virtualmin for each package you sell.

Set it up

  1. 01
    Configure the module

    Go to Admin → Products → Modules and choose Configure on Virtualmin Hosting Panel.

  2. 02
    Add the server

    Give the connection a name, then enter the Virtualmin Server URL, the Admin Username and the Admin Password. The password is stored encrypted and shown as ******** afterwards.

  3. 03
    Self-signed certificate

    Tick Allow Self-Signed SSL Certificate only if your panel has no trusted certificate.

  4. 04
    Email host prefixes

    Optionally set Email host prefixes: each becomes a link on the customer's own domain in hosting emails.

  5. 05
    Pause between jobs

    Optionally set Minutes between server jobs if your server needs a pause between creating or suspending accounts.

  6. 06
    Choose it on each product

    On each hosting product (or its category), choose Virtualmin as the module, and the plan (and template) the account is created on. A product with no module is handled by hand.

  7. 07
    Show the panel in the embedded portal

    On by default. Turn it off to keep the hosting panel out of the portal you embed on another website; your own portal still shows it.

Events

  • service.provisioned
  • service.suspended
  • service.unsuspended

Good to know

  • When it is switched off, hosting orders are still billed, but no account is created, suspended or restored: each waits for you to handle it on the server. The hosting panel disappears from your customers' portal. Nothing is deleted; switching the module back on resumes automation.
  • Several servers: add one connection per server. A hosting account stays on the server it was created on; new accounts go to the default connection, unless the product names a server group. When every server in the group is full, a new order waits for you instead of overfilling one.
  • Test connection checks the login with a read-only call.