Troubleshooting
Most setup issues come down to DNS, the cloud firewall, or the outbound-port-25 block. Here's how to recognize and fix each.
The panel won't open at my domain
http://server-IP/works but the domain doesn't — DNS isn't resolving yet. Checkpanel.yourdomain.comat dnschecker.org (type A). If it's blank, your DNS records or nameservers aren't set — see Point your domain.- The domain has no nameservers at all — the registrar delegation isn't published, or you set records at a DNS host that isn't authoritative. Verify NS at dnschecker.org (type NS); if it's empty or wrong, fix the nameservers at your registrar, or move to Cloudflare.
- Nameservers point somewhere, but it still won't resolve ("REFUSED") — the DNS host isn't actually serving the zone. Activate DNS management there, or move the domain to Cloudflare (it always serves the zone once added).
HTTPS isn't active (padlock missing)
HTTPS switches on automatically within ~5 minutes once panel.yourdomain.com points at the server. If it hasn't:
- Confirm the A record resolves to the right IP (dnschecker.org).
- Make sure ports 80 and 443 are open in your cloud firewall.
- If you use Cloudflare, set the
panelrecord to DNS only (grey cloud), not proxied. - To force it now: SSH in as root and run
sudo nimbopanel-enable-https.
Customers can't send email / outgoing mail bounces or times out
Open System → Outgoing mail before assuming anything. The card measures whether this server can reach the internet on port 25 and says so plainly. If it reports the port blocked, set up a relay from the form on that same card — see Email deliverability & sending. A working relay shows status=sent in the mail log.
If the card says port 25 is open, the block is not your problem and the cause is elsewhere: check the recipient's bounce message, and check SPF/DKIM/DMARC below.
Email sends, but lands in spam
The message isn't fully authenticated. Check that all three are published and passing for the sending domain:
- SPF includes your relay (e.g.
include:spf.brevo.com). - DKIM — the domain is verified in your relay and its DKIM records are in your DNS.
- DMARC — a
v=DMARC1; p=none; …record exists (Nimbopanel adds one per domain).
Incoming email never arrives
- Confirm the MX record for the domain points at
mail.yourdomain.comand thatmail.yourdomain.comresolves to your server. - Make sure inbound port 25 is open in your cloud firewall (inbound 25 is almost never blocked — only outbound is).
A tool page (webmail, phpMyAdmin) shows an error or won't load
- phpMyAdmin returns 401 without a panel session — that's expected; open it from inside the panel (single sign-on).
- Neither tile appears in a customer's panel — they are Debian/Ubuntu only. On AlmaLinux, Rocky and RHEL the panel hides both rather than sending a customer to a page that is not there. That is by design, not a fault.
- Webmail / a site returns 502 — a PHP service may have restarted. Check services with
systemctl status. If it persists after a moment, re-run the updater (sudo nimbopanel update) to re-apply the managed config.
A customer's site problems
- A rule in
.htaccessdoes nothing. The site is in translated mode. Either press Translate now in Domains → Apache / .htaccess, or turn on full.htaccesssupport. The table on that page lists exactly which directives are being skipped. See .htaccess — the two modes. - Every page returns 500 immediately after switching to full
.htaccesssupport. Apache is missing a module the file needs —mod_rewriteis the usual one, and it is off by default on Debian and Ubuntu. Re-run the installer (sudo nimbopanel update), which enables the required modules; switch the account back in the meantime. - Every page returns 502 on an account in full
.htaccessmode, while other sites are fine. Apache is not running:systemctl status apache2(Debian/Ubuntu) orhttpd(RHEL family). - The site 404s or shows an empty directory after a document root change. The folder is published exactly as typed and is created if it does not exist, so a typo produces an empty folder rather than an error. Read the value in the domain's row and correct it. See Publish from a folder other than public_html.
- A site's
.envor config file is downloadable. The document root is above it. Move the document root to the application'spublicfolder;curl -sI https://domain/.envshould answer 403.
Every site went down at once
If every site stopped at the same moment, php-fpm is usually not running. Check with systemctl status php*-fpm. If it refuses to start with Address already in use while no php-fpm process is alive, a stale socket file has been left behind by a process that died abruptly — current Nimbopanel releases clear those themselves before starting.
Where to look
- Panel + service logs live in the systemd journal:
journalctl -u nimbopanel -n 50. - Mail delivery results:
journalctl -t postfix/smtp --since -10min(look forstatus=sent/status=bounced). - The install log is at
/var/log/nimbopanel-install.log.
Still stuck? Note the exact symptom and the relevant log line — that's usually enough to pinpoint it fast.