How to Create Packages and User Accounts in DirectAdmin

Reseller and user packages in DirectAdmin, the limits inside them, creating a reseller and a user, shared versus owned IPs, and suspending or deleting accounts.

Published
Reading time
4 min

Everything a hosting account is allowed to use in DirectAdmin comes from a package: disk, bandwidth, how many domains and mailboxes, whether SSH is on. You define the package once and assign it to accounts, so a limit change is one edit rather than fifty. This guide sets up the packages and creates the first reseller and user on a new server, then covers the everyday operations of suspending, unsuspending and deleting.

Two kinds of package

DirectAdmin has two package types because it has two kinds of customer account. Reseller packages are created by the admin and define what a reseller gets as a whole: a pool of disk and bandwidth, a number of IPs, and the toggles for what they may offer. User packages are created by a reseller (the admin counts as one) and define what a single hosting account gets.

A reseller divides their pool among their users by creating user packages of their own. The admin never needs to see those, and a reseller never sees the admin's reseller packages. If you are running the server for your own customers and have no resellers, you still create users through the admin's own Reseller Level, with user packages the admin defines. If the levels are new to you, the Evolution skin tour explains how they nest.

The limits inside a package

Both package types share most of their fields. The ones that matter for pricing are Disk Space and Bandwidth in MB, and the counts: Domains, Subdomains, E-mail Accounts, E-mail Forwarders, Autoresponders, Mailing Lists, MySQL Databases, Domain Pointers and FTP Accounts. Each can be a number or unlimited.

Then the feature toggles: Anonymous FTP, CGI Access, PHP Access, SSL Access, SSH Access, DNS Control, Cron Jobs, Catch-All E-mail, SpamAssassin, System Info and Login Keys. Finally the skin and language the account starts with.

Two of those deserve thought. SSH Access gives the user a shell as their own Linux user; keep it off on a plain shared package and on for developer packages only. DNS Control lets the user edit their own zone; leave it on unless you manage DNS for them, because a customer who cannot add a TXT record for a mail provider will open a ticket.

Reseller packages add IPs (how many the reseller may own), whether the reseller may create their own personal nameservers, and Overselling. With overselling on, the reseller can hand out more disk and bandwidth in user packages than their own pool holds, which is how most real reseller businesses work; the pool limits what is actually used, not what is promised.

Create a reseller package and a reseller

Admin Level → Server Manager → Reseller Packages → Add Package. Give it a name you will recognise on an invoice, fill in the limits and save.

Then Admin Level → Account Manager → Create Reseller. The form asks for a username, email, password, the reseller's own domain, the package, and the IP. The reseller's domain is a real hosted domain in their own account; they can use it for their company site.

Editing a reseller package later applies the new limits to every reseller on it, so change them deliberately.

Create a user package and a user

Switch to Reseller Level. Under Account Manager → Manage User Packages → Add Package, define the packages you sell, for example Starter with 5 GB and one domain and Business with 25 GB and ten.

Then Account Manager → Add User. Username (lowercase, letters and digits, short), email, password, the first domain, package and IP. On save, DirectAdmin creates the Linux user, the home directory under /home/<user>/domains/<domain>/, the DNS zone, the mail domain in /etc/virtual/<domain>/ and the Apache virtual host, and the account is live within a minute once the task queue runs. Further domains are added by the user under Domain Setup, up to the package limit; see adding a domain, subdomain and pointer.

Shared IP or owned IP

Every account needs an IP, and the choice on the create form is between the shared IP and an owned one. A shared IP serves many accounts by name, which is normal for web hosting and works with SSL, since Let's Encrypt and SNI have made per-site IPs unnecessary for HTTPS. An owned (dedicated) IP is assigned to one user only, and is worth it for a customer who sends a lot of email and wants their own sending reputation, or who needs a fixed address for a firewall rule somewhere.

IPs are added to the server and assigned to resellers under Admin Level → Server Manager → IP Management. A reseller can only give a user an IP that the admin has assigned to that reseller.

Suspend, unsuspend, delete

On Show All Users (admin) or List Users (reseller), tick an account and choose Suspend. A suspended account keeps all its data but the sites show a suspended page, mail stops, FTP and panel login are refused. This is the right tool for an unpaid invoice: nothing is lost and Unsuspend restores everything in seconds. DirectAdmin also suspends automatically when an account exceeds its bandwidth if that option is on in the package.

Delete is the opposite. It removes the Linux user, the home directory, the databases, the mail and the DNS zones, and there is no undo. Take a backup of the account from Admin Backup/Transfer first, every time.

On a VPSPioneer managed VPS running DirectAdmin we set up the first package structure with you, since it is far easier to get right before there are accounts on it.

#directadmin#packages#user-accounts#reseller-hosting

Keep reading

More from DirectAdmin

All guides

DirectAdmin

DirectAdmin for Beginners: A Tour of the Evolution Skin

How DirectAdmin's Admin, Reseller and User levels fit together, how to switch levels and log in as a user, and where the ten everyday jobs live in Evolution.

4 min read →

DirectAdmin

DirectAdmin First Steps: 10 Things to Do After Installing

The ten things to set on a new DirectAdmin server before hosting anything: panel SSL, hostname, nameservers, updates, CSF, brute force blocking and backups.

4 min read →

DirectAdmin

How to Install DirectAdmin 1.709 on AlmaLinux 9

Install DirectAdmin on a clean AlmaLinux 9 server: hostname and IP requirements, the setup.sh command with your licence key, and the first login on port 2222.

4 min read →