Hosting accounts are created in Server Mode by an admin or reseller. Each account maps to a Linux system user and gets its own domain, PHP-FPM pool, Nginx vhost, and DNS zone.
Prerequisites
- Logged in as admin (or reseller) in Server Mode
- At least one package defined, or use the default
Steps
- Go to Accounts → New Account
- Fill in the fields:
| Field | Description |
|---|---|
| Username | Linux system username. Lowercase letters, numbers, underscores. Max 32 chars; shorter is cleaner. |
| Main Domain | The primary domain for this account (example.com). |
| Account owner's email — for login and notifications. | |
| Password | Used for panel login, FTP, and SSH. |
| Package | Resource limits (disk, bandwidth, email count, etc.). |
- Click Create Account
Account creation typically completes in 2–5 seconds. The agent runs these operations in sequence:
useradd— creates the Linux user- Creates
/home/{username}/{domain.com}/public_html/with correct ownership and permissions - Writes the PHP-FPM pool config and reloads PHP-FPM
- Writes the Nginx vhost and reloads Nginx
- Creates the DNS zone in PowerDNS with default records
After Creation
You'll land on the new account's overview page. From here:
- Switch to Hosting Mode to manage the account as its owner
- Issue an SSL certificate for the domain
- Create email accounts
- Deploy a site using the file manager or FTP
- Install WordPress with one click
Sending Credentials to the Account Owner
The panel doesn't automatically email credentials (to avoid accidental leaks). Copy the login URL, email, and password and send them to your client manually.
Panel URL: https://YOUR_SERVER_IP:8443
Email: their@email.com
Password: the password you set
[!TIP] The account owner logs in at the same panel URL as you. Once logged in, they only see Hosting Mode for their account — they can't see other accounts or Server Mode.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| "Username already taken" | Linux user with that name already exists | Choose a different username |
| "Domain already exists" | Another account already has that domain | Check existing accounts for a conflict |
| "Account limit reached" | Free plan limits reached | Upgrade license at opterius.com |
| 500 error on creation | Agent issue | Check journalctl -u opterius-agent -n 50 on the server |