lıtepanel Docs

LitePanel documentation

Everything you need to install LitePanel, set up your server and start hosting. Menu names are shown like WHC › Packages.

LitePanel has two sides. WHC is where you, the administrator, run the server and the hosting accounts. LitePanel is where each of your customers manages their own websites and email.

What you need

  • A new server with AlmaLinux or Rocky Linux, version 9 or 10. A virtual server (VPS) is fine.
  • At least 1 GB of memory, and 2 GB or more for a server with real customers. If memory is short, the installer adds a swap file.
  • At least 5 GB of free disk, plus room for your customers' websites and email.
  • Root access over SSH.
  • A free license key (next step). A DNS-only or email-only server needs none.
Use a new server. LitePanel sets up the web server, email, databases and DNS itself, so it can't share a server with another control panel or with websites set up by hand.

Get a free key

Every full server needs its own license key. It's free, and there's no limit on accounts. DNS-only and email-only servers need no key at all.

  1. Open my.litepanel.dev and create an account.
  2. Order LitePanel License. It costs nothing and is ready right away.
  3. Open the license in your client area and copy the key (it starts with LitePanel-).

Install

Sign in to your server as root and run this, with your key in place of YOUR-KEY:

curl -fsSL https://securedownloads.litepanel.dev/install.sh | sudo bash -s -- --license YOUR-KEY

The installer first checks the server: the operating system, memory, disk, and ports that are already in use. It shows what it will install and starts after 10 seconds. Press Ctrl+C in that time to stop it.

The install takes about 10 to 20 minutes. At the end it shows the address to sign in at and how to sign in.

Only want to check a server first? Add --check. It shows what would be installed and changes nothing.

First sign-in

  1. Open https://YOUR-SERVER-IP:8443 in your browser. Your browser warns about the certificate the first time; that's expected until the server has a real name and certificate.
  2. Sign in as root with the server's root password.
  3. The setup asks for two things:
    • Hostname: a name for the server under a domain you own, like server.example.com. At your domain's DNS, add an A record for it that points to the server's IP.
    • Contact email: where alerts about the server go.
  4. Once the hostname points to the server, open WHC › SSL/TLS › Hostname SSL to get a free certificate. From then on, sign in at https://server.example.com:8443.

Install options

Add options after -- in the install command, for example sudo bash -s -- --license YOUR-KEY --php 8.4. These are the ones most people use:

OptionWhat it does
--license KEYYour license key.
--hostname NAMESet the server's name now instead of at the first sign-in.
--email ADDRESSWhere server alerts go.
--php 8.1|8.2|8.3|8.4The default PHP version for new websites (8.3 if you don't choose).
--db NAMEmariadb-11.8 (default), mariadb-11.4 or mysql-8.4.
--port NThe panel's port, if you don't want 8443.
--nameservers A,BYour nameserver names, like ns1.example.com,ns2.example.com.
--no-dnsDon't host DNS on this server. You can turn it on later.
--dns-onlyA free nameserver for your other servers. See DNS-only server.
--mail-onlyA free server for email only, without websites. See Email-only server.
--lsws-key KEYUse LiteSpeed Enterprise (with your own LiteSpeed license) instead of OpenLiteSpeed.
--advancedChoose everything from menus during the install.
--checkOnly check the server; change nothing.
-yStart right away, without the 10-second pause.

The full list: add --help to the install command.

Nameservers and DNS

LitePanel can be the DNS server for your customers' domains, so their domains work as soon as they point to your nameservers.

  1. Open WHC › DNS Functions › Nameservers and set two names, for example ns1.example.com and ns2.example.com.
  2. At the registrar of example.com, register both names as child nameservers (also called glue records) pointing to your server's IP.
  3. Customers then set ns1.example.com and ns2.example.com as the nameservers of their own domains.

Every new domain gets its records by itself, including the records email needs. Customers can edit their own records in LitePanel › Domains › DNS Editor.

For ns1 and ns2 on different servers, so domains keep working while one server is down, see DNS cluster.

SSL certificates

  • Websites get free Let's Encrypt certificates for every name they answer to, renewed by themselves. Each domain's status is in WHC › SSL/TLS › SSL/TLS Status.
  • The panel and webmail use the server hostname's certificate: WHC › SSL/TLS › Hostname SSL.

A certificate can only be issued once the domain points to your server.

Web server

Websites run on OpenLiteSpeed by default: fast, with a built-in cache for WordPress. You can switch to Nginx + Apache in WHC › Service Configuration › Web Server Manager. If the switch fails, LitePanel switches back by itself.

On Nginx + Apache, a site's .htaccess can't use Options +FollowSymLinks; use Options +SymLinksIfOwnerMatch instead. Rewrites, redirects, passwords and WordPress permalinks work as usual.

Security

Protection is on from the start. A few places worth knowing:

  • WHC › Security Center › Security Advisor checks the server and fixes most findings in one click. Open it after the install.
  • Two-factor Login: turn it on for every administrator.
  • Firewall Manager and IP Blocker: which ports are open, and addresses you want to block.
  • ModSecurity: a firewall for websites that blocks common attacks.
  • Virus Scanner: scheduled scans of customers' files.
  • Account Sandbox: keeps each customer's programs away from other customers. It's on for every account by default.

Packages

A package sets the limits for a hosting account: disk space, bandwidth, number of domains, email accounts and databases, and CPU and memory. Make your packages first, then use them when you create accounts.

  1. Open WHC › Packages › Add a Package.
  2. Give it a name, like Starter, and set the limits. Leave a limit empty for no limit.
  3. Save. You can change a package later; every account on it follows.

Hosting accounts

  1. Open WHC › Account Functions › Create a New Account.
  2. Enter the customer's main domain, their email and a password, and pick a package.
  3. Create. The website, its email, DNS records and certificate are set up for you.

In WHC › Account Functions › Manage Accounts you can change an account's package, suspend or unsuspend it, delete it, or press Log in to open that customer's LitePanel as them.

What customers get

Customers sign in at the same address as you, with the email and password of their account. In LitePanel they can manage:

  • Email: mailboxes, forwarders, autoresponders, filters, mailing lists and webmail.
  • Domains: add-on domains, subdomains, redirects, DNS records and SSL.
  • Files: File Manager, SFTP accounts, backups and disk usage.
  • Databases, software (WordPress, Node.js and Python apps) and security for their own sites.

The panel is available in English, Bangla and Spanish. Each person picks their language.

Email

  • Webmail: https://YOUR-HOSTNAME:2096. It includes a calendar and contacts.
  • Mail apps (Outlook, Apple Mail, Thunderbird): the mailbox's settings page in LitePanel shows the server, ports and sign-in to use.
  • Phones and Outlook sync: add the mailbox as an Exchange account to sync mail, calendar and contacts.

The records that help email arrive (SPF, DKIM and DMARC) are added to each domain by themselves. Outgoing mail is checked and limited per account, so one customer can't get the whole server blacklisted. The queue is in WHC › Email › Mail Queue.

Some providers block outgoing mail on port 25. If mail doesn't leave the server, ask your provider to open it, or send through a relay in WHC › Email › Outgoing Mail.

WordPress

  • Customers install WordPress in one click from LitePanel › Software, or when they add a domain.
  • The WordPress Manager updates WordPress, themes and plugins, with undo if an update breaks something.
  • Staging makes a private copy of a site to try changes on, then pushes them to the live site.
  • WHC › Software › WordPress Manager lists every WordPress site on the server.

Backups

Set up backups in WHC › Backup › Manage Backups:

  • Choose where backups go: this server, or your own cloud storage (any S3-compatible storage, such as Amazon S3, Backblaze, Wasabi or Cloudflare R2) or an SFTP server.
  • Set a schedule and how many copies to keep.
  • Restore a whole account, or a single site, from the same page.

Customers can also make and restore their own backups in LitePanel › Files › Backups.

Keep at least one copy off the server. A backup on the same server won't help if that server is lost.

Moving from cPanel

  1. In cPanel or WHM, make a full backup of the account (a cpmove or backup-…tar.gz file).
  2. Open WHC › Account Functions › Import from cPanel and upload the .tar.gz file.
  3. LitePanel creates the account with its websites, databases, email accounts and messages, and DNS records.
  4. Check the site on the new server, then point the domain's nameservers (or A record) to it.

DNS cluster

A DNS cluster keeps a copy of every domain's DNS on your other LitePanel servers. ns1 and ns2 can then be different servers, and your customers' domains keep working while one of them is down.

  1. On the server that should receive the copies, open WHC › DNS Functions › DNS Cluster, enter the name of the server that will send, and press Create token. Copy the token.
  2. On the server that sends its zones, open the same page, enter the other server's address and the token, and press Add server.
  3. Pick the role:
    • Synchronize also checks with the other server before a domain is added, so a domain lives on one server only.
    • Write-only just sends copies; use it for a DNS-only server.

Changes are sent within seconds, and everything is sent again once a day. The page shows whether each server is in sync.

DNS-only server

A small server that only answers DNS for your other servers, like cPanel DNSOnly. It's free and needs no license key: 512 MB of memory and 2 GB of disk is enough.

curl -fsSL https://securedownloads.litepanel.dev/install.sh | sudo bash -s -- --dns-only

Then make a token on it in WHC › DNS Functions › DNS Cluster and add it on each hosting server, as above.

Email-only server

A server that hosts email for your customers' domains, without their websites. It has everything for email: mailboxes, webmail with calendar and contacts, phone and Outlook sync, spam filtering and DNS. It leaves out what websites need, like databases, phpMyAdmin and apps. It's free and needs no license key, like a DNS-only server. It needs 1 GB of memory (2 GB or more is better).

curl -fsSL https://securedownloads.litepanel.dev/install.sh | sudo bash -s -- --mail-only
  • You add accounts and domains as usual. Each domain gets a small holding page, which its SSL certificate and webmail need.
  • WHC shows only what an email server uses: accounts, packages, domains, nameservers, outgoing mail, the mail queue, backups and security.
  • Your customers see Email, Domains (DNS and SSL) and Files (backups and disk usage). Website tools like the File Manager, databases and the App Installer aren't there.
  • Moving a site from cPanel isn't offered on an email-only server, because it brings websites and databases with it.

Updates

WHC shows when a new version is out. Update from WHC › Server Configuration › Server Settings, under Updates, or over SSH:

litepanel update

Every release is signed, and the server checks the signature before it installs anything. Websites and email keep running during the update. If something isn't right afterwards, go back to the version you had:

litepanel rollback

Your license

  • See your license in WHC, or with litepanel license.
  • Change the key on a server: litepanel license set NEW-KEY.
  • Move to a new server: open the license at my.litepanel.dev and press Move to another server, then install on the new server with the same key.

Websites, email, DNS and databases never stop because of a license problem.

Command reference

The litepanel command manages LitePanel over SSH. Run it as root.

CommandWhat it does
litepanel updateUpdate to the latest version. --check only says whether there is one.
litepanel rollbackGo back to the version before the last update.
litepanel versionShow the installed version.
litepanel statusShow whether LitePanel's services are running.
litepanel restartRestart the panel.
litepanel licenseShow the license. check checks it again now; set KEY changes it.
litepanel logsFollow a log: api, agent, webmail, dav or update.
litepanel quota-setupTurn on disk quotas, so packages' disk limits are hard limits.
litepanel unlock-loginMake a link that lets you sign in from a new browser while sign-ins are being flooded.

Troubleshooting

The install stopped

The installer says what went wrong and what to do. Fix that, then run the same command again. Its full log is in /var/log/litepanel/install.log.

I can't open the panel

  • Check the address ends in :8443 and starts with https://.
  • Check your provider's firewall (outside the server) allows port 8443.
  • Run litepanel status on the server and litepanel restart if something is stopped.

I'm locked out after too many sign-in attempts

Run litepanel unlock-login root (or the administrator's email) and open the link it prints.

A domain shows another site or no site

The domain doesn't point to this server yet. Check its nameservers or A record, then wait for DNS to update (usually minutes, up to a day).

Still stuck?

Open a ticket at my.litepanel.dev with what you did, what you expected, and what happened.