Create an account
From an initialized server to an account whose holder can sign in and has a domain with a website and mail.
The account
elpanctl account:create <username>
An account is three Unix users on the server (<username>,
<username>-www and <username>-mail), and its username follows from
that: a lowercase letter, then up to 15 lowercase letters or digits. The
name of a deleted account is never reused.
The account is born without a password. The command prints a setup link
into the account panel (https://control.<server hostname>/r/<code>) and
an eight-digit PIN, which you hand to the account holder so they choose
their own password or passkey. The PIN is shown once and can't be shown
again; account:reset <username> issues a new link. The link's rules are in
Accounts, and what the holder sees in the account
docs:
Your setup link.
The same in the admin app: Accounts › Create Account asks for the username and the account's limits, filled with the defaults (Limits), and shows the setup link once, on the account's page.
The shared IP address group
Every account belongs to one shared IP address group: the set of addresses
its websites are served from. account:create puts the account in the
first group unless you name another:
elpanctl ip_address_group:list
elpanctl account:create <username> <group ID>
The admin app's Create Account has no group field and always uses the
first group. The groups were created at install (--ip-group); adding one
later is in
Shared IP Address Groups.
Limits
A new account gets the memory cap of the host's sizing profile. Storage,
processes, CPU, mail rates and the rest are set with account:edit, or on
the account's Edit page: Limits.
The first services
A domain gets its capabilities from the services attached to its hostnames, and the standard set for a domain is five services on three hostnames:
| Hostname | Service | Command |
|---|---|---|
<domain> | DNS zone: the server answers DNS for the domain and every name beneath it. | service:domain:create <username> <domain> |
accounts.<domain> | Identity provider: the sign-in portal of the domain users, which the website and mail services name. | service:identity:create <username> accounts.<domain> |
mail.<domain> | Mail server: webmail and the host mail apps connect to. | service:mailaccess:create <username> mail.<domain> |
<domain> | Mail: the domain sends and receives mail, with its MX, SPF, DKIM and DMARC records. | service:mail:create <username> <domain> |
<domain> | Website, with the DNS records that point it at the server and a certificate. | service:website:create <username> <domain> |
The order matters: the mail server and the website need the account's identity provider to exist, and the mail service needs the mail server. Each command creates the hostname if the account doesn't have it yet.
The whole set at once, together with the account, is one command:
elpanctl user:create <username> <domain> [<group ID>]
It creates the account, the five services above and a website alias on
www.<domain>, and prints the setup link. In the admin app, Add Domain
on the account's Domains tab does the same for an existing account, and
is how you give it a second domain. A hostname the server already knows is
refused.
To see what an account has:
elpanctl account:view <username>
elpanctl service:list --owner=<username>
The account holder builds inside the zones you give them: websites and mail on subdomains, mailboxes, DNS records. They can't add a domain of their own, so a holder with a new domain comes to you.
A hostname does nothing by itself; a service is the job it does. Splitting the jobs lets a domain have mail without a website, a website on a subdomain, or a mail server shared by several domains. The account docs explain the model: Domains, zones, and services.
What the account holder sees next
After the setup link, the holder signs in to the account panel and finds
the domain ready: a Website and a Mail service on it, the Mail
Server, the Identity Provider and the www alias, with the DNS zone
already publishing the records they need. The account docs take it from
there:
- Services: what the standard set is and how they add more.
- Put a website online and Set up email on your domain.
- DNS is managed for you: the records the panel generates from the services.
The zone is served by the server's own name servers, dns1.<server hostname> and dns2.<server hostname>.
How DNS publication works
covers them and what happens when records don't arrive.
On your side, the account appears on Accounts (Accounts), and a billing system can create accounts the same way over the server API: Billing systems.