WiseCP module for Jabali Panel
Last updated
The Jabali Panel server module for WiseCP creates, suspends, upgrades and terminates hosting accounts on Jabali Panel. It also shows disk and bandwidth usage and adds a Log in to Jabali Panel button for clients and staff. It signs every request with an automation token, so WiseCP never stores a panel admin password. Billing integrations covers how the API, scopes and ports work.
Requirements
- WiseCP 3.x
- PHP 7.4 or newer with the
curlandjsonextensions - The WiseCP server can reach the panel on
8443, or on443with the port 443 option turned on - An automation token with
read:status,read:users,read:packages,write:usersandwrite:domains, plusdelete:usersfor termination. See Create an automation token.
1. Install the module
Download the latest jabali-wisecp-<version>.zip from the repository’s releases and unzip it into WiseCP’s server modules folder:
unzip jabali-wisecp-v1.0.4.zip -d /var/www/wisecp/coremio/modules/Servers/
Replace /var/www/wisecp with your WiseCP directory and the version with the one you downloaded. The zip creates coremio/modules/Servers/Jabali/. The folder must be named exactly Jabali, with the main class in Jabali.php.
2. Add the server
In WiseCP admin, go to Services → Hosting Management → Servers → Add Server:
| Field | Value |
|---|---|
| Module | Jabali Panel |
| Name | The panel hostname, e.g. panel.example.com |
| Username | The automation token’s ID |
| Password | The automation token’s secret |
| Port | 8443, or 443 if the panel admin turned on Also serve the API on port 443 |
Use the connection check button. WiseCP also checks the connection when you save, so a wrong hostname or token is rejected at once.
3. Map products to packages
On each hosting product, open the module settings and choose the panel’s hosting package:
- Service Plan: a dropdown of the panel’s packages. It needs the
read:packagesscope. - Jabali Package ID: or paste the package ID (a 26-character ULID) here.
The package is applied when the account is created and on upgrade or downgrade.
What the module does
| WiseCP action | What happens on the panel |
|---|---|
| Create | Creates the account on the product’s package and creates the order’s domain |
| Suspend / Unsuspend | Suspends or reactivates the account |
| Terminate | Deletes the account and its domains (needs delete:users) |
| Change password | Sets the customer’s panel password |
| Upgrade / Downgrade | Moves the account to the new product’s package |
| Disk and bandwidth usage | Shows usage against quota on the service |
| Log in to Jabali Panel | Opens the panel with a single-use login link, from the client area or the admin service page |
Client area. Clients see Log in to Jabali Panel for one-click login and Open Jabali Panel, which opens the panel’s sign-in page.
Admin service page. Shows Panel Username and Jabali User ID. Edit the user ID to link a service to an account that already exists on the panel.
Usernames. The module uses the username from the order. If there is none, it builds one from the first label of the domain: letters and digits only, leading digits removed, padded to at least 3 characters and cut to 16. Dashes are removed and the name is lowercased.
Passwords. The panel needs at least 10 characters. If the order has no password, the module generates one.
FTP details. Jabali Panel has no plain FTP. The FTP details WiseCP records at creation point at the panel’s SFTP service on port 22.
Troubleshooting
Module calls are logged in Tools → Logs → Module Logs, under Servers/Jabali.
| Symptom | Fix |
|---|---|
| Server won’t save | Wrong token ID or secret, panel unreachable on that port, or clock skew. Sync both servers with NTP. |
Create fails with scope_denied | The token lacks write:domains or write:users. See scopes. |
| No packages in Service Plan | The token lacks read:packages. Add it, or fill in Jabali Package ID. |
| ”Jabali requires passwords of at least 10 characters.” | Use a password of 10 characters or more. |
| ”The panel accepted the request but returned no user ID” | The panel is older than the billing endpoints. Upgrade the panel. |
More causes are in Billing integrations: Troubleshooting.