Opterius is a one-command install on any supported Linux VPS. The installer takes 5 to 10 minutes depending on your server's CPU and network speed, and at the end you'll have a fully working hosting panel with mail, DNS, SSL, databases — everything cPanel does — running at https://your-server-ip:8443.
Before you start
Make sure you have:
- A fresh VPS with one of the supported OSes (see System Requirements)
- Root SSH access to that VPS
- At least 2 GB RAM and 20 GB disk (4 GB and 40 GB recommended for real workloads)
- Ports 22, 25, 53, 80, 443, 587, 993, 995, 7443, and 8443 open on your firewall (the installer can open them for you)
- A public IP that's reachable from the internet (Let's Encrypt needs to validate your domain)
[!IMPORTANT] Run the installer on a fresh VPS. Opterius assumes nothing else is using the standard ports, and the installer will refuse to overwrite an existing nginx, Postfix, or MySQL configuration.
The install command
SSH into your server as root and run:
curl -sL https://get.opterius.com/install.sh -o /tmp/install.sh
bash /tmp/install.sh
That's it. The installer will prompt you for a hostname, admin email, and password, then takes over from there.
What the installer does
The installer is a single bash script (~700 lines) that walks through 22 phases:
- Pre-flight checks — verify the OS, the architecture, available disk and memory
- Detect package manager —
aptfor Debian/Ubuntu,dnffor RHEL family - Update the package index and install base utilities
- Install Nginx — the web server for both customer sites and the panel itself
- Install PHP 8.1, 8.2, 8.3, and 8.4 with all the extensions hosting customers need
- Install MariaDB — the database server for hosting accounts and the panel itself
- Install PowerDNS with MySQL backend — authoritative DNS server
- Install Postfix and Dovecot — SMTP + IMAP for the mail server
- Install OpenDKIM — DKIM signing for outgoing mail
- Install Rspamd — spam filtering
- Install Certbot — Let's Encrypt SSL automation
- Install Node.js, Composer, WP-CLI — for the panel and any installed apps
- Install Go (only needed to build the Agent binary on first install)
- Install Jailkit — chrooted SSH for hosting accounts
- Clone the Opterius Panel repo to
/opt/opterius - Set up the dedicated panel FPM service (
opterius-panel-fpm.service) — isolated from customer FPM pools - Generate the panel Nginx vhost on port 8443
- Set up the queue worker as a systemd service for background jobs
- Build and install the Opterius Agent at
/usr/local/bin/opterius-agent - Install Roundcube as the webmail client (port 8080)
- Install phpMyAdmin (port 8081)
- Open firewall ports and print a summary of what was installed
When it's done, you'll see something like this:
═══════════════════════════════════════════════════════════════
Opterius Panel installed successfully!
═══════════════════════════════════════════════════════════════
Panel URL: https://1.2.3.4:8443
Admin user: admin
Admin password: <generated 16-char password>
Webmail: http://1.2.3.4:8080
phpMyAdmin: http://1.2.3.4:8081
Agent token: <HMAC secret — already configured>
License: Free (5 hosting accounts)
Next steps:
1. Open https://1.2.3.4:8443 in your browser
2. Log in with the admin user above
3. Add your first hosting account from "Server Mode → Accounts"
Documentation: https://opterius.com/docs
═══════════════════════════════════════════════════════════════
Save the admin password. The installer prints it to the terminal once and doesn't store it anywhere — if you lose it, you'll have to reset it via the command line.
Verifying the install
After the installer finishes, verify everything is running:
# Panel + queue worker + agent should all be active
systemctl status opterius-panel-fpm opterius-queue opterius-agent
# Mail server
systemctl status postfix dovecot opendkim rspamd
# DNS
systemctl status pdns
# Database
systemctl status mariadb
# Web server
systemctl status nginx
All services should be active (running). If any are failed, check the journal:
journalctl -u <service-name> -n 50 --no-pager
What if it fails?
The installer is designed to be idempotent — you can re-run it safely if it fails partway through. It will skip steps that are already complete and resume from where it left off.
The most common failure modes:
| Symptom | Likely cause | Fix |
|---|---|---|
| "Could not resolve get.opterius.com" | DNS not working on your VPS | Check /etc/resolv.conf |
| "Port 80 already in use" | Another web server is running | Stop and remove Apache/Caddy/etc. |
| "MariaDB failed to start" | Out of memory on a tiny VPS | Need at least 1 GB RAM |
| "certbot failed" | DNS not pointing to your server yet | Skip SSL during install, set it up later |
[!TIP] If you hit a problem the installer can't recover from, paste the last 50 lines of
/var/log/opterius-install.loginto a GitHub issue — we read them and we fix things fast.
Next: log in for the first time
Once the installer finishes:
- Open
https://your-server-ip:8443in your browser - Accept the self-signed SSL warning (we'll fix this in the next step by getting a proper Let's Encrypt cert for the panel itself)
- Log in with the
adminuser and the password the installer printed
See the First Login article for the full walk-through, including how to:
- Change the admin password
- Set up SSL for the panel itself
- Create your first hosting account
- Connect your domain