View Categories

DirectAdmin

DirectAdmin appears in RackHelm’s control-panel catalogue with the same connection form as the rest of the cPanel family. This article covers the DirectAdmin credentials you need, the RackHelm fields, and two specific problems in this build you should know about before you put a DirectAdmin product on sale.

Before you start #

  • The edit_integrations permission. See Roles & Permissions.
  • A DirectAdmin server reachable from RackHelm on the public internet with a certificate that validates. DirectAdmin normally listens on port 2222.
  • A DirectAdmin login key or API token for a reseller or admin account with permission to create, suspend and delete users.

Add the connection #

  1. Open System → Integrations and press Configure on the DirectAdmin card.
  2. Set Base URL to the DirectAdmin origin including the port, for example https://da.example.com:2222.
  3. Paste the credential into API Key / Login Key.
  4. Press Save.
The DirectAdmin panel form with a 2222 port placeholder and an API Key / Login Key field
DirectAdmin’s credential field is labelled API Key / Login Key.

Fields #

Field Rule Notes
Name Optional, max 120 characters Defaults to “DirectAdmin”.
Active Checkbox Required for DirectAdmin to appear as an Integration Type.
Base URL Required, http/https, publicly resolvable Placeholder https://da.example.com:2222.
API Key / Login Key Optional on edit Blank keeps the stored value. Stored encrypted.
HTTP Timeout (sec) Integer, minimum 1 (form minimum 5) Applies to the Test API button.
Verify SSL Yes / No Stored but not read by any driver; TLS is always verified.
cPGuard API Key Optional Relocated into the encrypted credential block on save.
Verify cPGuard SSL Certificate Checkbox, on by default Untick for a self-signed certificate on port 9098.

Testing the connection #

Test API sends GET {base_url}/api/v2/server with an X-API-Key header. That is the Plesk REST shape, shared by all five cPanel-family panels, and DirectAdmin does not serve that path — so a 404 here is expected and does not tell you anything about your key. A timeout, on the other hand, is real: it means port 2222 is not reachable from the RackHelm server.

Re-type the key before testing a saved connection; a blank box sends the literal word KEEP.

Bind a product to DirectAdmin #

Edit the product under Catalogue → Catalogue & Groups, open the Provisioning tab and choose DirectAdmin. The form offers Panel, Package / Plan ID, Site Template ID, Region / Cluster, AutoSSL, Suspend after (days past due) (default 1), Terminate after (days after suspend) (default 7) and Provisioning Notes (internal).

Warning: DirectAdmin products cannot be saved in this build. Validation requires a field named package_name, but the form posts the package under package_id, so saving always fails with “The integration.directadmin.package name field is required.” and there is no box on the screen that satisfies it. Until this is corrected, use None / Manual Processing for DirectAdmin products.

What the customer sees #

A provisioned DirectAdmin item appears under Sites in the client portal, but the DirectAdmin site driver returns empty results for every query — databases, email, backups, applications, metrics and SSL — so the page has nothing to display. Only Enhance has a complete site driver in this build.

Troubleshooting #

Symptom Cause and fix
“The integration.directadmin.package name field is required.” A validation rule that no form field satisfies. Set the product’s Integration Type to None / Manual Processing to save it.
Test API returns 404 Expected — the shared tester requests a Plesk path DirectAdmin does not serve.
Test API times out Port 2222 is closed to the RackHelm server’s public IP, or the hostname is wrong.
Certificate error on test TLS is always verified regardless of the Verify SSL setting. Install a valid certificate for the hostname.
Base URL rejected on save The host resolves to a private, reserved or unresolvable address. See Adding a control panel connection.
DirectAdmin missing from the Integration Type dropdown The connection is saved but not marked Active.