Control panels

DirectAdmin: create a user and a hosting package

Build a hosting package in DirectAdmin, create the user from Account Manager and assign their domain — the reseller workflow in the right order.

BeginnerLinux server6 min read

You will create a hosting package in DirectAdmin, create a user account that uses it, and assign a domain to that user. Doing it in this order matters: the package sets disk, bandwidth and feature limits, so the account gets the right boundaries from its first login instead of being patched afterwards.

This is the standard reseller workflow. It works the same whether you are logged in as admin or as a reseller with access to Account Manager.

Before you start

You need:

  • A Linux VPS with DirectAdmin installed and licensed. Buy the DirectAdmin licence from the vendor and activate it there. If the panel is not installed yet, follow the vendor's installer docs for your OS.
  • Admin or reseller access to the panel at https://203.0.113.10:2222.
  • The domain you plan to assign, for example example.com, and knowledge of where its DNS is hosted.
  • Decisions on limits before you start: disk space, monthly bandwidth, number of domains, mailboxes, databases and FTP accounts.

Note: DirectAdmin ships several skins (Evolution, Refreshed and others). Menu labels differ slightly between them and between panel versions. Look for the same feature names even if the exact wording moves.

Log in at https://203.0.113.10:2222 with your admin or reseller credentials. The account level is shown in the panel header — "Admin", "Reseller" or "User".

Create the hosting package

A package is a template of limits. You create it once and reuse it for every customer on the same plan.

  1. As a reseller, open Reseller Level, then Manage User Packages. As admin, open Admin Level, then Manage User Packages.
  2. Select Add Package.
  3. Fill in the package fields:
  • Package Name — something readable, for example small-business.
  • Disk Space (MB) — the account's home directory quota.
  • Bandwidth (MB) — monthly transfer allowance.
  • Domains, Subdomains, Domain Pointers, Email Accounts, FTP Accounts, Databases — set each to the number you want to allow. A blank or 0 value is normally treated as unlimited, so enter explicit numbers if you want a hard cap.
  • Panel and feature options — mail, FTP, DNS control, PHP access, CGI and similar toggles, depending on your build and skin.
  1. Save the package.

DirectAdmin lists the package with its limits. You can edit it later with Modify, or copy an existing one with Clone — useful when a customer needs a slightly larger plan.

Tip: Keep one narrow package per plan rather than editing a shared package later. Changing a package updates every user assigned to it, which is convenient for a price change and awkward when one customer was an exception.

Create the user and assign the domain

Now create the account and attach the domain in a single step.

  1. Go to Account Manager and choose Create User (resellers see the same form for their own users).
  2. Set the Username — lowercase letters and numbers, no spaces. For this guide: deploy.
  3. Enter the contact Email address for the account.
  4. Set a strong Password and store it in your password manager. The panel will show the password strength as you type.
  5. Enter the Domain: example.com.
  6. Select the Package you created, for example small-business.
  7. Choose the IP to assign. On a single-IP VPS this is the server address, 203.0.113.10.
  8. Leave the "notify user" option on if you want DirectAdmin to email the credentials, or switch it off and send them yourself.
  9. Submit the form.

Behind the scenes DirectAdmin creates the system user and home directory under /home/deploy, the DNS zone for the domain, the web server vhost, mail configuration and the FTP account. It usually takes a few seconds.

Warning: Do not create a user for a domain that is already hosted on the server. DirectAdmin will either refuse with a "domain already exists" error or, if you force it, you end up with two accounts fighting over the same zone. Check Account Manager for the domain first.

Point the domain at the server

The account exists, but the domain will not resolve until DNS points here.

  • If the domain uses a registrar or external DNS provider, create an A record for example.com and one for www.example.com, both pointing to 203.0.113.10. Remove conflicting old records.
  • If the domain will use DirectAdmin's own name servers, set those name server records at the registrar and confirm the zone exists in the user's DNS Management page.
  • Give DNS time to propagate before testing. Use a public resolver to check rather than trusting a local cache.

Once the domain resolves, issue an SSL certificate from the user's SSL Certificates page. DirectAdmin can request a free certificate automatically, but the request only succeeds after DNS is correct.

Check it works

Test from your own machine, not from the server, so you see what the internet sees:

Bash
dig +short example.com
curl -I http://example.com
curl -I http://www.example.com

dig should return 203.0.113.10. The curl headers should come back as a normal HTTP response rather than a connection error. A fresh account often answers 403 or shows a placeholder page — that means the vhost is live, just empty.

Then log in as the new user at https://203.0.113.10:2222 with deploy and its password. The panel header should read "User" and the domain should appear in the domain list.

Troubleshooting

  • "Domain already exists" when creating the user — another account on the server already owns the domain. Find it in Account Manager, move it to the correct user or remove it, then retry.
  • Disk quota shows as unlimited or never fills up — filesystem quotas are not enabled on the VPS. Check the mount options as root and enable quota support before trusting the package limits.
  • Site shows the default DirectAdmin or web server page — DNS has not propagated, or the vhost was not created. Confirm the domain resolves to 203.0.113.10, then check the panel's logs with tail -n 50 /var/log/directadmin/error.log and confirm the panel service is up with systemctl status directadmin.
  • FTP or mail login fails for the new user — the feature is disabled in the package, or the service is not running on the server. Edit the package to enable FTP and mail, save, and have the user try again.
  • Port 2222 is unreachable — the panel runs on port 2222, not 443. Check that your provider firewall and the server firewall both allow it for your IP, then reload the login page.

Next steps

Was this guide helpful?

Still stuck?

Ask MdmHost AI for a quick answer, or open a ticket and our team will take a look. We are here 24/7.