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 curl and json extensions
  • The WiseCP server can reach the panel on 8443, or on 443 with the port 443 option turned on
  • An automation token with read:status, read:users, read:packages, write:users and write:domains, plus delete:users for 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:

FieldValue
ModuleJabali Panel
NameThe panel hostname, e.g. panel.example.com
UsernameThe automation token’s ID
PasswordThe automation token’s secret
Port8443, 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:packages scope.
  • 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 actionWhat happens on the panel
CreateCreates the account on the product’s package and creates the order’s domain
Suspend / UnsuspendSuspends or reactivates the account
TerminateDeletes the account and its domains (needs delete:users)
Change passwordSets the customer’s panel password
Upgrade / DowngradeMoves the account to the new product’s package
Disk and bandwidth usageShows usage against quota on the service
Log in to Jabali PanelOpens 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.

SymptomFix
Server won’t saveWrong token ID or secret, panel unreachable on that port, or clock skew. Sync both servers with NTP.
Create fails with scope_deniedThe token lacks write:domains or write:users. See scopes.
No packages in Service PlanThe 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.

Frequently asked questions

Is there a WiseCP module for Jabali Panel?
Yes. The free Jabali Panel server module for WiseCP 3.x creates, suspends, unsuspends and terminates hosting accounts, changes passwords and packages, shows disk and bandwidth usage, and adds a one-click 'Log in to Jabali Panel' button.
Where do I install the Jabali WiseCP module?
Download jabali-wisecp-.zip from the repository's GitHub releases and unzip it into coremio/modules/Servers/ in your WiseCP installation. It creates the Jabali folder; the name must stay exactly Jabali.
Why do the FTP details in WiseCP show port 22?
Jabali Panel has no plain FTP. The FTP details WiseCP records at creation point at the panel's SFTP service on port 22, with the account's username and password.