Troubleshooting
Common problems on an HF Panel server — the panel, sign-in, SSL, email, DNS, websites and services — and how to fix them.
Start with the server's own checks, then find your problem below.
hf-panel health # services, configuration, disk, memory, SSL, clock, mail queue
hf-panel dns-setup --check # the DNS records, as public DNS sees them
hf-panel portals # each panel's address, DNS and SSL
Server Admin › Server › Server health checks more (DNS, reverse DNS, blocklists, updates, backups) and has a one-click fix for many items. Server Admin › Server › Services shows every service's state and restarts it.
For problems during the installation itself, see Troubleshoot the installation.
The panel
I can't open the panel
- Use the address with the port:
https://server.yourdomain.com:8443. Without the port, the name goes to your website. - Check that port 8443 is open in your provider's cloud firewall as well as on the server (
ufw status). - Check that the name points at the server:
hf-panel portals.
The panel shows "502 Bad Gateway", or nothing loads
The panel program (hf-api) is stopped, or Nginx can't reach it.
systemctl status hostfog-api --no-pager # running? restarting in a loop?
journalctl -u hostfog-api -n 50 --no-pager # the reason is at the end
/usr/local/hostfog/bin/hf-api restart # restart it
If it doesn't come back:
- The settings file. A JSON mistake in
/etc/hostfog/config.jsonafter a hand edit stops the panel.python3 -m json.tool /etc/hostfog/config.jsonnames the line. Fix it, or change settings withhf-api config set, which never writes broken JSON. - Nginx. Run
nginx -t, thentail /var/log/nginx/error.log.Permission deniedonapi.sockmeans the socket's permissions are wrong: run the update again from the release folder, which rewrites the service.No such filemeans hf-api isn't running.Connection refusedis cured by the restart above. - The database is locked.
database is lockedin the journal means another process is using the panel database, such as a long nightly job or a restore. Wait for it to finish (fuser /var/lib/hostfog/hostfog.sqliteshows which). - The disk is full.
df -h /. Free space; old copies in/var/lib/hostfog/panel-backups/and customers' backup folders are the usual places to look.
"Server is busy, try again"
Another job holds the panel's lock for longer than 5 minutes: a big backup, a restore, an account move or an update. Let it finish. To see what holds it:
ps -eo pid,etime,cmd | grep '[h]f-agent'
A command that has been there for hours with no child process is stuck: stop it with kill <pid>, then run the job
again from the panel.
Everyone was signed out / the session folder is full
The panel removes idle sign-in sessions every 10 minutes. If thousands of sess_* files build up in
/var/lib/hostfog, the folder's permissions are wrong. Fix them:
chown hostfog:hostfog /var/lib/hostfog /var/lib/hostfog/sess_*
chmod 700 /var/lib/hostfog
Signing in
I forgot my password
On the server:
hf-panel reset-password <username>
Customers and resellers can also use Forgotten your password? on the sign-in page.
I lost my phone (two-factor login)
hf-panel reset-2fa <username>
Then sign in with the password and switch two-factor login on again.
Someone can't sign in on a panel's address
Each panel has its own sign-in, and only the people it is for can sign in there. Customers sign in at
panel.yourdomain.com:8443, resellers at reseller.yourdomain.com:8443, administrators at
server.yourdomain.com:8443.
The panel is locked
The licence isn't valid. Open Server Admin › Billing › Licence for the reason. Websites, email and DNS keep running. See Licensing.
SSL certificates
The panel shows a certificate warning
The name didn't point at the server when the certificate was made. Once the DNS is right, the real certificate is installed by itself within 5 minutes. To ask for it now:
hf-panel ssl-now
Check that port 80 is open, too: Let's Encrypt checks the server over HTTP.
A customer's domain has no SSL
Open Domains › SSL/TLS in that customer's Control Panel (use Log in on the account). It shows why AutoSSL is
still waiting: usually the domain (or www) doesn't point at the server yet, or port 80 is closed. AutoSSL tries
again by itself. Details: /var/log/hostfog-autossl.log.
A DNS provider proxies the panel names
If your DNS provider proxies web traffic, set the server's names to DNS only. Ports 8443 and 2087, mail and FTP don't pass through a web proxy.
Email goes to spam
- Set the reverse DNS (PTR) of the server's IP to your mail server name,
mail.yourdomain.com, at your server provider. Servers that still havemx.orsmtp.yourdomain.comthere must change it. - Check Server Admin › Email › Mail health (customers: Email › Deliverability) until SPF, DKIM and DMARC are green.
- Check that the server's IP isn't on a blocklist: Mail health shows it.
Mail isn't delivered at all
-
Your provider may block outgoing port 25. Ask them to open it.
-
Look at the mail log and the queue:
bashtail -n 100 /var/log/mail.log mailq -
Server Admin › Email › Mail delivery log shows what happened to each message and what the other server said.
Incoming mail doesn't arrive
- Check the domain's MX record points at
mail.yourdomain.com, and thatmail.yourdomain.compoints at the server. - Check port 25 is open in your provider's firewall.
Mail apps can't connect
Mail apps use imap.yourdomain.com (IMAP 993, POP3 995) and smtp.yourdomain.com (587 STARTTLS, 465 SSL/TLS),
with the full email address as the login. Check those names point at the server, and ports 465, 587, 993 and 995
are open. To recreate the automatic set-up files: hf-panel mail-autoconfig.
DNS
Which DNS records do I still need?
hf-panel dns-setup # the list
hf-panel dns-setup --check # marks the ones public DNS doesn't show yet
A customer's domain doesn't resolve
- If it uses your nameservers, check the registrar has
ns1.andns2.yourdomain.com, and that your glue records exist. - If its DNS is elsewhere, the Control Panel's DNS setup page shows which records to add there.
- Port 53 (TCP and UDP) must be open for your DNS server.
Websites
Websites are down but the panel works
nginx -t
apache2ctl configtest
systemctl status 'php*-fpm' --no-pager
Apache won't start
hf-panel apache-fix
It repairs the usual causes (a port clash, missing log folders, leftover sites) and, if Apache still can't start, prints its real error.
A website shows "500 Internal Server Error"
Look at the website's error and PHP error logs in /home/<user>/logs/, or under Websites › Logs in the Control
Panel. Usually it is a mistake in .htaccess or the site's PHP code.
A scheduled job didn't run
Look at /var/log/hostfog-cron.log, check that cron runs (systemctl status cron), and that /etc/cron.d/hostfog
exists.
Getting help
When you contact support, send:
- the system:
cat /etc/os-release - the HF Panel version:
cat /etc/hostfog/VERSION - the last 100 lines of
journalctl -u hostfog-api - the log lines that match the problem (see Logs)
- what was done just before
Remove passwords first. Contact us.