DirectAdmin Migration
Last updated
If you are moving from DirectAdmin to Jabali, the operator handles the per-user backup ingest. Operator-side details: DirectAdmin Migration.
What gets moved
- Linux home directory.
- Web domains and subdomains. DirectAdmin’s per-subdomain document roots are translated to subdomain Domain rows (separate vhosts).
- DNS zones (translated from DirectAdmin’s BIND-style format).
- MySQL databases and DB users. Password hashes import where the source format is one MariaDB accepts.
- Email accounts in Stalwart, passwords reset (DirectAdmin uses Exim+Dovecot password hash formats Stalwart cannot import).
- Forwarders, autoresponders, catch-all settings.
- Cron jobs (those passing the Cron allowlist).
What does not get moved
- TLS certificates, reissued by Let’s Encrypt after the per-domain SSL toggle.
- ModSecurity per-domain rules, Modsec is removed in Jabali (see Removed Features); equivalent protection is provided by the server-side AppSec WAF.
- CSF allowlists, carry over manually to the administrator (CrowdSec uses a different model).
Source-side prep
Before the operator pulls your backup:
- Use the DirectAdmin user-level “Create / Restore Backups” to generate a per-user tarball.
- Note the per-domain TLS certificates you currently use and the SSL providers (you will reissue via Let’s Encrypt on Jabali, but you may want a record of the prior expirations).
- Note any custom Apache
.htaccessrules you depend on so you can verify they translate to nginx rules after the migration.
After your account is restored
- Log in: set a new panel password under Profile.
- Add SSH keys under SSH Keys for SFTP access.
- Collect email passwords from the administrator and pass them on to mailbox owners.
- Repoint DNS at the registrar when the migration is fully verified.
- Issue SSL per domain.
Gotchas
- Apache directives that depend on
mod_php: these do not translate. PHP runs via FPM under nginx; configure PHP behavior under PHP Settings instead. - DirectAdmin’s per-user CGI: CGI scripts (Perl, etc.) are not exposed to nginx vhosts by default. If you depend on CGI, contact the administrator before cutting over.
- Per-user MySQL
root: DirectAdmin lets the reseller see aroot-like database manager. Jabali does not; you have your own DB users with privileges only on your own databases. Use the Databases SSO into phpMyAdmin for the equivalent UI.