AnitaPanel documentation

Everything needed to install, license and operate AnitaPanel on an Ubuntu or Debian server. The panel manages the common hosting services directly; you retain root access at all times.

Supported baseline: Ubuntu 24.04+, Debian 12+, AlmaLinux 9+ and CloudLinux 8/9+, with systemd, root SSH access, a public IPv4 address and at least 1 GB RAM. This demo runs on Ubuntu 26.04 with 2 vCPU and 1.6 GB RAM.

Requirements

  • A fresh VPS or dedicated server with root access.
  • Optional: a domain or subdomain pointing to the server for trusted HTTPS.
  • Ports 22, 80, 443 and 2087 open. Port 53 is required for authoritative DNS.
  • At least 2 GB of free disk space for the panel and its releases.
  • An AnitaPanel license key from your customer area.

Installation

Run the installer as root on a fresh server. No license key, hostname or email is required.

curl -fsSL https://anitapanel.com/install.sh | sudo bash

Open https://SERVER_IP:2087, sign in with the printed administrator password and activate a license from the License page.

Optional flags for a trusted domain certificate and automatic activation:

curl -fsSL https://anitapanel.com/install.sh | sudo bash -s -- \ --hostname panel.example.com \ --email admin@example.com \ --license AP-XXXX-XXXX-XXXX-XXXX

The installer performs these steps:

  • Installs Nginx, MariaDB, PHP-FPM, BIND, Certbot, firewall and Python dependencies for the detected Linux family.
  • Configures UFW on Debian/Ubuntu or firewalld on AlmaLinux/CloudLinux and other RHEL-family systems.
  • Creates an isolated release layout under /opt/anitapanel.
  • Writes a root-only environment file at /etc/anitapanel/anitapanel.env.
  • Creates the panel database and initial administrator.
  • Configures a systemd service, an IP:2087 TLS bootstrap panel and optional Let's Encrypt HTTPS.

License activation

Installation does not require a license key. After the panel starts, sign in as the administrator and open License. Activation binds an installation to a server slot and returns a signed license token.

# Activation is normally performed in the panel # Panel → License → Activate license # The install command can provide the key directly

The panel revalidates every 12 hours. A signed token is cached so short outages do not interrupt hosting. License expiry or revocation stops new hosting changes but never deletes websites or data.

Websites

Open Websites and create a domain. The panel creates the document root at /var/www/<domain>/public_html, writes an Nginx virtual host and reloads Nginx after configuration validation.

  • Point the domain's A and AAAA records at the server before issuing SSL.
  • Upload files through the file manager or use SFTP with your own system account.
  • Suspend a website to disable its Nginx site without deleting files.
  • Delete a website and choose whether to remove its files.

DNS

AnitaPanel can host authoritative DNS with BIND. Add a zone and ensure the domain's registrar uses ns1.anitapanel.com and ns2.anitapanel.com or your own branded nameservers.

Each zone is generated from panel-managed records, validated with named-checkzone and loaded with rndc reload. Deleting the apex NS records is blocked.

SSL

SSL certificates are issued by Let's Encrypt through Certbot. HTTP-01 validation requires port 80 to reach the server. Cloudflare-proxied domains work as long as Cloudflare forwards the challenge to the origin.

Use Cloudflare SSL mode Full (strict) after the origin certificate is installed. Flexible mode causes redirect loops and is not supported.

Backups

A backup archive includes the website directory, MariaDB dumps for databases assigned to the site and a JSON manifest. Archives are stored under /var/backups/anitapanel and can be downloaded from the panel.

Backups are not a substitute for off-site replication. Download critical archives and copy them to remote storage.

Updates

When AnitaPanel publishes a new release, the panel verifies the signed manifest, displays the changelog and offers a one-click install. The updater:

  • Downloads the release over HTTPS and verifies its SHA-256 checksum.
  • Extracts it into a new release directory.
  • Updates the virtual environment and runs database migrations.
  • Atomically switches the current symlink.
  • Restarts the panel and probes the health endpoint.
  • Restores the previous release if the health check fails.

Security

  • Run the panel behind HTTPS and restrict SSH access to trusted networks where possible.
  • Enable the firewall from the panel; core ports are protected against accidental removal.
  • Use unique, long passwords for panel accounts and rotate database users.
  • Keep the server operating system patched with unattended-upgrades.
  • Review the activity log after granting new administrator access.
AnitaPanel performs privileged system operations. Only give administrator access to people who are trusted with root-equivalent control of the server.

API

The central service exposes license and release endpoints used by installed panels. Endpoints require JSON and are intended for server-to-server traffic.

EndpointPurpose
POST /api/license/activateBind a license key to a server instance.
POST /api/license/validateRefresh the signed license token.
POST /api/panel/updateFetch the signed latest release manifest.
GET /api/public-keysRetrieve signing public keys for an install.

Common issues

SSL issuance fails

Confirm ports 80 and 443 reach the server, the domain resolves to the origin, and the Nginx configuration passes nginx -t. Cloudflare proxy and firewall rules are common causes.

Panel shows license offline

Check that the server can reach https://anitapanel.com. Cached tokens remain valid; the panel retries automatically every 30 minutes after a failed check.

Database connection refused

Verify MariaDB is running from the Server page. Database users connect over localhost only. Use an SSH tunnel for external access.

Website shows the default page

Confirm DNS points to the server and place your application inside public_html. Check the site's Nginx error log from the website detail page.