Skip to content
Latest release 0.8.158

Your own hosting panel, one command away.

VTA Panel turns a fresh Linux server into a hosting platform: pick your web stack, ship PHP apps by default, add Node.js, Varnish, Redis, email, DNS, backups and billing — managed from one panel your customers can sign in to as well.

$ curl -fsSL https://vtapanel.com/latest/install | sudo bash

Run as root. x86_64 and arm64. Build a custom command

root@new-server: ~

Choose the web stack that fits the server.

One web server flavour for the whole machine at install time. PHP applications are first-class on every option that serves sites; Node.js always reverse-proxies to Podman.

  • Nginx + Apache

    Recommended

    Nginx receives visitors; Apache runs PHP. Node.js apps are reverse-proxied. Best default when a server hosts both PHP and Node.js.

    --web nginx-apache

  • Nginx

    One web server for static files, PHP-FPM and Node.js. Lighter when Apache is not needed.

    --web nginx

  • OpenLiteSpeed

    LSCache

    Best for PHP and WordPress with built-in LSCache. Node.js apps are proxied. Varnish stays off on this stack.

    --web openlitespeed

  • Apache

    Apache on its own for PHP. Node.js apps are proxied to their Podman containers.

    --web apache

  • OpenResty

    Nginx with Lua. PHP and Node.js work the same way as Nginx — choose this when you want Lua later.

    --web openresty

  • Caddy

    Static files, PHP through PHP-FPM and Node.js through a reverse proxy. The panel still issues certificates.

    --web caddy

PHP applications come ready

Create a PHP site and install any of these in a few clicks. WordPress can add WooCommerce; each app gets a matching Varnish or LSCache profile so carts, admin and trackers stay uncached.

  • WordPressOptional WooCommerce
  • Drupal11.x
  • Joomla5.x
  • NextcloudFiles & sync
  • PrestaShopCommerce
  • MatomoAnalytics

Everything a website needs, on one page.

Open any site and its tools are a tab away. Administrators and customers see the same page, limited by the customer's plan.

shop.example.com Online, HTTPSAccount shop, Business plan

Domain, PHP version and owner

Switch the PHP version, move the site to another account, or open it in a new tab. Each site runs in its own PHP-FPM pool as its account's user.

Domain
shop.example.com
Type
WordPress + WooCommerce
PHP
8.4 (own FPM pool)
HTTPS
Let's Encrypt, renews automatically
Accounts and plans
Each customer gets a Linux user, panel login and SFTP user, with limits on sites, databases, disk, bandwidth, mailboxes, PHP workers, CPU and memory.
PHP apps out of the box
WordPress (with optional WooCommerce), Drupal, Joomla, Nextcloud, PrestaShop and Matomo install as PHP sites with the right cache profile.
Node.js sites
Git deploys, release history, rollbacks, workers and deploy webhooks. Apps run in hardened Podman containers behind your web server.
Speed layer
Varnish for Nginx/Apache stacks, LSCache on OpenLiteSpeed, optional nginx cache, and Redis/Valkey for object caching and mail.
Email hosting
Postfix, Dovecot, VMail or Roundcube, DKIM helpers, sending limits at every level, a mail queue, and automatic blocking of compromised mailboxes.
Billing and support
Packages, subscriptions, GST invoices, renewals with grace periods, and support tickets inside the same panel.
Migrations
Bring accounts across from cPanel, Plesk or Virtualmin, with analyse, selective import, validate and resync.
API and webhooks
Tokens carry the rights of the user who made them. Signed webhooks report jobs, migrations and notifications.
Multi-server
Add nodes with the agent, place dedicated databases and replicas by region, and fail over a primary that stops answering.

The platform behind every site.

Caching, runtimes, databases, mail and recovery — the same pieces you would wire by hand, already integrated and plan-gated.

  • PHP by default

    Install PHP 8.2–8.5 side by side. Each account gets its own PHP-FPM service, open_basedir and systemd resource slice. WordPress and the one-click apps are ready on day one.

  • Node.js in Podman

    Git or upload deploys, zero-downtime rollbacks, workers, webhooks and secrets. Apps listen on localhost only; your chosen web server reverse-proxies them — including WebSockets.

  • Varnish cache

    Optional in front of Nginx, Apache, OpenResty or Caddy. WordPress and WooCommerce rules keep carts and logged-in visitors uncached. Purge from the panel or WP admin bar.

  • OpenLiteSpeed + LSCache

    Pick OLS when you want LiteSpeed’s cache for PHP and WordPress. Turn LSCache on or off per site and purge from the panel.

  • Redis / Valkey

    Shared cache bound to localhost, with a server password. Plans can offer Redis to sites; RHEL 10+ uses Valkey. Required when mail (Rspamd) is installed.

  • MariaDB & PostgreSQL

    Shared databases per account, plus dedicated DB servers with their own ports, TLS, storage quotas, point-in-time recovery and cross-server replicas.

  • Email that ships

    Postfix, Dovecot, Rspamd, optional ClamAV, DKIM helpers and sending limits. Webmail is VMail or Roundcube — your choice at install time.

  • DNS your way

    Authoritative BIND on the server, or manage zones in the panel and publish to Cloudflare. Wildcard certificates via DNS-01.

  • Backups & DR

    Daily site backups, encrypted S3-compatible offsite copies, panel and mailbox disaster-recovery archives, and a rebuild path for a new server.

Build your install command.

Use the wizard, or set every option up front for an unattended install. Running the installer again is safe and keeps your admin password.

How do you want to answer the setup questions?

The wizard asks for the hostname, admin email, panel port, web server (Nginx+Apache, Nginx, OpenLiteSpeed, Apache, OpenResty or Caddy), PHP versions, databases, Node.js, Varnish, Redis and email, then shows the full plan before anything is installed.

Run as root on a fresh server

$ curl -fsSL https://vtapanel.com/latest/install | sudo bash -s -- \
  --gui
  1. Step 1

    Run the installer

    It downloads the latest binary, verifies the checksum and installs it to /usr/local/bin/vtapanel.

  2. Step 2

    Choose your stack

    Pick the web server flavour, PHP versions, databases, Node.js, Varnish and email, then review the plan before anything changes.

  3. Step 3

    Sign in as admin

    Open https://your-server:8443/ with the password printed at the end of the install.

  4. Step 4

    Change the password

    Set a new one under Security, turn on two-step verification, and delete the initial password file.

  5. Step 5

    Issue a certificate

    When DNS points at the server, get a free certificate for the panel hostname.

Runs on the Linux you already use.

Long-term-support releases with systemd, on x86_64 or arm64 hardware.

  • Root or sudo access
  • Ports 80, 443 and 8443 free
  • Outbound HTTPS for packages
  • A hostname that resolves to the server

Tier 1

Tier 1 supported distributions
Ubuntu LTS22.04, 24.04, 26.04
Debian12, 13
AlmaLinux, Rocky Linux, RHEL9, 10

Tier 2

Tier 2 supported distributions
Oracle Linux, CentOS Stream9, 10
openSUSE Leap15.6, 16.0
SUSE Linux Enterprise Server15, 16

Not supported: Arch Linux, Fedora, Alpine, Gentoo, non-LTS Ubuntu, RHEL 8 and older, and any system without systemd. OpenLiteSpeed is not available on SUSE.

Built so a bad change never takes a server down.

  • Config is tested before it is applied

    nginx -t, apachectl configtest and php-fpm -t run first. If a test fails, the previous configuration comes back.

  • Restores can be undone

    A pre-restore backup is saved first. If the database import fails, the old files are put back.

  • Passwords are shown once

    Generated passwords go to WP-CLI on standard input, never on the command line or in logs.

  • Accounts are kept apart

    SFTP is chrooted, each account has its own PHP-FPM services with open_basedir, and files are readable only by their owner.

  • Off-server backups are encrypted

    Copies to S3-compatible storage are encrypted with a key that stays on your server.

  • Your SSH session stays open

    The installer allows SSH, including the port you are connected on, before it turns the firewall on.

Step-by-step guides for every role.

From the first install to answering a customer's ticket.

Browse all docs