AdminBolt 1.8.2: Billing Modules for Blesta and Upmind, a Redis Instance per Account and Support Tickets in the Client Panel

·AdminBolt team·10 min read

AdminBolt 1.8.2 connects the panel to two more billing platforms and to the helpdesk you already run. It also puts a Redis instance in the hosting plan, so object caching is a plan feature you sell. Around those three there is a System Updates page that covers every package set on the server, an editor for Apache include files, ModSecurity rule vendors, remote mail routing, mail restores out of an account backup and a choice of MariaDB series.

Billing modules for Blesta and Upmind

1.8.2 adds provisioning modules for Blesta and Upmind beside the WHMCS one. The billing system creates the account on the panel, suspends and unsuspends it, changes its plan and terminates it, following the order it manages. In the billing system's client area the customer sees the account's disk and bandwidth usage and a button that logs them straight into the panel, with no second password to remember.

A module connects with an administrator API key or with a reseller API key. With a reseller key the accounts land under that reseller, so a reseller who runs their own billing can sell from it without asking you for anything.

Under the modules, the administrator and reseller APIs were made ready for this kind of work. An account can be looked up by exact username or by domain. A plan can be named rather than numbered. Usage answers with plain numbers. The modules use that same API, so a billing platform we do not cover yet can be wired up by whoever runs it.

A Redis instance per account

Under Databases > Redis an account can run a Redis instance of its own for object caching. The page reports its memory, its keys and its uptime. It can restart or flush the instance. The connection details are there to copy, for LiteSpeed Cache, for Redis Object Cache and for your own PHP code.

The instance belongs to that account alone and answers only to it. How much memory it may use comes from the hosting plan, where 0 means no Redis at all, so a plan with Redis is a plan you can price differently. For WordPress there is a one-click connect that installs the cache plugin and points it at the instance, with a disconnect that undoes it.

The server keeps a budget of its own. General Settings > Redis instances sets how much memory all account instances may take together and how many may exist, with a line showing what is reserved today. An account can turn Redis on while it fits both. A suspended account's instance stays down until you unsuspend it.

A server can be provisioned on either MariaDB series, the 10.11 line or the newer long-term 11.4 one. Database Settings names the series that is running and how long it is supported, then offers the in-place upgrade when a newer supported series exists. The upgrade is followed on the page and recorded once the server reports the new series. There is no downgrade.

Support tickets from the client panel

Settings > Support Tickets connects the panel to your helpdesk. Freshdesk, WHMCS and Zendesk are supported. Once connected, the client's Support group gains Submit a Ticket. The customer writes the ticket in the panel and reads the whole conversation there: the thread, the status your helpdesk gives it, unread markers, a reply box and their earlier tickets beside it. Replies from your staff come back into the panel on their own, so nobody copies anything between two systems. A ticket reopened on either side picks up where it left off.

A reseller connects a helpdesk of their own, inherits the panel-wide one or turns tickets off for their clients.

For the administrator there is Settings > Ticket Submissions, which lists every submission with its provider and its status, so an integration that stops working is visible to the administrator.

System Updates, one page per package set

System Updates has a tab for each set of packages the server can install. AdminBolt's own components have one. The distribution's packages have another, with the security updates marked and a note when the machine is due a reboot. On a converted server there is a third for the CloudLinux packages (CloudLinux Only), which appears as soon as the conversion finishes.

The tabs are built the same way, in the same order: a status line, the switch for nightly updates, the counts, the package table and the button that installs. Each tab counts what is outstanding behind it, so the page tells you where the work is before you open anything.

A panel update fills the page with progress while it runs. It reports the phase it is in and a ticking clock. The whole log is on screen. The page stays with the run from start to finish. A run counts as complete only when the server is out of maintenance mode and usable again. The distribution and CloudLinux installs show live progress and the log as they go. When a step fails and the page cannot explain why, it links to the execution logs. The sidebar and the header stay put throughout, so there is a way off the screen.

Unattended updates

Each tab carries a switch for unattended updates. Turned on, AdminBolt installs new versions of that package set every night. For the panel's own updates every administrator gets the outcome of each run in their notifications. The distribution tab can be narrowed to security updates only. The CloudLinux tab runs on its own schedule, separate from the distribution one.

Every one of those switches is off by default. A server nobody opts in stays as it was.

There is also an administrator REST API for the panel and CloudLinux updates. It checks for updates, starts a run, follows the progress, reads the log and the changelog, then turns the nightly run on or off. Anyone who manages servers from their own tooling can run updates without a browser.

Apache include files

Settings > Web Server > Apache Includes holds custom Apache directives that survive a configuration rebuild. An include applies to the whole server, to one domain, to every domain of an account or to a single port. A directive that cannot be applied is refused with the reason, so the mistake is on your screen and nothing on the server changes. The include you save is live immediately. Delete the account and its includes go with it, so a later account under the same username starts clean.

Beside it, Web Server > ModSecurity Vendors handles rule sets. You install one from an archive URL, then enable, disable, update or remove it. A vendor that fails keeps its error on its own row. The Rules tab lists every vendor's rules under its name. The OWASP Core Rule Set that AdminBolt installs is the system vendor: you can switch it off, you cannot delete it. Both ModSecurity screens describe what the web server is enforcing, so a change that did not go through says so.

Email routing and mail restores

Email Routing, under Emails, marks a domain as remote. Mail sent from this server to that domain then follows its MX record to wherever the mailboxes are hosted, which is the setup for a customer who keeps the website with you and the mailboxes with a large provider. Marking a domain remote stops local delivery and mailbox logins in one step and leaves the domain out of SpamExperts. The MX records themselves stay yours to set. Switch the domain back to local when the mail belongs here again.

The client Backups page restores mail out of an account backup. A mailbox that was deleted comes back with a password you choose. A single mail folder comes back into a new folder named after the snapshot date, so nothing is overwritten and the customer can pick individual messages out of it. Restore the same folder twice and each restore gets its own destination. The restored mailbox opens straight away. When a restore cannot run, the page says so before you press the button.

Accounts

An account's primary domain can be changed from the account's View page in the admin panel. The domain, its DNS zone and the account record move together. A domain already serving HTTPS keeps its certificate, so the site answers on the new name over both HTTP and HTTPS. A primary domain carrying mail is refused up front, because the change does not move mailboxes, forwarders, autoresponders, catch-alls, domain forwarders or mailing lists. Clients cannot rename their own primary domain. Renaming a secondary domain works as it always has.

Deleting an account keeps its backups. The repository stays under the old username, marked Account deleted, with two actions. Restore to new account recreates the account and puts the snapshot back. Delete backups removes the repository with its history. Reuse a username and the new account gets a repository of its own, adopting the old one only when it belonged to the same owner.

A hosting plan decides whether clients see the Global Configuration tab on a domain, the one holding the per-domain PHP memory limit, execution time and upload size. Withheld, the tab is gone from the client's domain form and the client API refuses those fields. A plain PHP version change still goes through. Administrators always see the tab. Every plan you already have keeps it.

Every domain also carries a PHP memory ceiling sized against the server's own RAM. One site cannot ask for more memory than the machine has. The client reads the same number in the domain's own PHP settings.

Smaller changes

Settings > System > Server Time is a page for the clock: the server time, the hardware clock in UTC, the synchronisation state and the offset from network time. Pick a timezone, switch synchronisation on or off or step the clock now. When the screen cannot read the machine it says so.

A cron job that produces output can mail it to the account owner, to an address you name or nowhere at all. Clients set it on Cron Jobs; administrators set the same for the panel's own root cron jobs.

Firewall rules can block. A rule carries its own action: accept, drop or reject. A block rule wins over an accept rule for the same port. Leave the destination port empty and the rule covers every port for that address. A rule that would match everything asks you to confirm it first. The bans tab gains Ban IP address. The addresses you exempt from bans stay exempt.

AutoSSL obeys the per-account switch on Hosting Accounts > SSL, on an AutoSSL tab beside Certificates and Issuance History. A domain created before its DNS was ready gets its certificate soon after it points at the server.

Repeated failed mail logins are blocked. Every host of a suspended account serves the suspension page. An account whose home directory cannot be measured keeps its last known disk usage, marked stale. The release also improves administrator password changes, reseller usage charts and limits, client login sessions, account statistics refresh and web log cleanup.

Upgrading

Upgrades run from the panel. Open System, then System Updates, check for updates and start 1.8.2 from there. The panel shows a maintenance page while it updates itself. New installs are one command:

curl -sSL https://get.adminbolt.com/install.sh | bash

Questions and feedback: Discord or the community forum.

← Back to BlogMore in Releases