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).
Get a free key
Every server needs its own license key. It's free, and there's no limit on accounts.
- Open my.litepanel.dev and create an account.
- Order LitePanel License. It costs nothing and is ready right away.
- 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.
--check. It shows what would be installed and changes nothing.First sign-in
- Open
https://YOUR-SERVER-IP:8443in your browser. Your browser warns about the certificate the first time; that's expected until the server has a real name and certificate. - Sign in as
rootwith the server's root password. - 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.
- Hostname: a name for the server under a domain you own, like
- 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:
| Option | What it does |
|---|---|
--license KEY | Your license key. |
--hostname NAME | Set the server's name now instead of at the first sign-in. |
--email ADDRESS | Where server alerts go. |
--php 8.1|8.2|8.3|8.4 | The default PHP version for new websites (8.3 if you don't choose). |
--db NAME | mariadb-11.8 (default), mariadb-11.4 or mysql-8.4. |
--port N | The panel's port, if you don't want 8443. |
--nameservers A,B | Your nameserver names, like ns1.example.com,ns2.example.com. |
--no-dns | Don't host DNS on this server. You can turn it on later. |
--dns-only | A free nameserver for your other servers. See DNS-only server. |
--lsws-key KEY | Use LiteSpeed Enterprise (with your own LiteSpeed license) instead of OpenLiteSpeed. |
--advanced | Choose everything from menus during the install. |
--check | Only check the server; change nothing. |
-y | Start 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.
- Open WHC › DNS Functions › Nameservers and set two names, for example
ns1.example.comandns2.example.com. - At the registrar of
example.com, register both names as child nameservers (also called glue records) pointing to your server's IP. - Customers then set
ns1.example.comandns2.example.comas 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.
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.
.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.
- Open WHC › Packages › Add a Package.
- Give it a name, like
Starter, and set the limits. Leave a limit empty for no limit. - Save. You can change a package later; every account on it follows.
Hosting accounts
- Open WHC › Account Functions › Create a New Account.
- Enter the customer's main domain, their email and a password, and pick a package.
- 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.
- 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.
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.
Moving from cPanel
- In cPanel or WHM, make a full backup of the account (a
cpmoveorbackup-…tar.gzfile). - Open WHC › Account Functions › Import from cPanel and upload the
.tar.gzfile. - LitePanel creates the account with its websites, databases, email accounts and messages, and DNS records.
- 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.
- 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.
- On the server that sends its zones, open the same page, enter the other server's address and the token, and press Add server.
- 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.
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.
| Command | What it does |
|---|---|
litepanel update | Update to the latest version. --check only says whether there is one. |
litepanel rollback | Go back to the version before the last update. |
litepanel version | Show the installed version. |
litepanel status | Show whether LitePanel's services are running. |
litepanel restart | Restart the panel. |
litepanel license | Show the license. check checks it again now; set KEY changes it. |
litepanel logs | Follow a log: api, agent, webmail, dav or update. |
litepanel quota-setup | Turn on disk quotas, so packages' disk limits are hard limits. |
litepanel unlock-login | Make 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
:8443and starts withhttps://. - Check your provider's firewall (outside the server) allows port 8443.
- Run
litepanel statuson the server andlitepanel restartif 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.