CyberPanel is a free hosting control panel built around OpenLiteSpeed, the open-source edition of the LiteSpeed web server. It manages websites, PHP versions, databases, DNS, email, FTP and SSL certificates, and integrates LSCache, LiteSpeed's server-level page cache, which makes it a popular choice for WordPress hosting. In this tutorial you will install CyberPanel with OpenLiteSpeed on a fresh Ubuntu 24.04 server, secure the panel, create a website with a Let's Encrypt certificate and deploy WordPress with LSCache.

Prerequisites

To follow this guide you need:

  • A freshly installed server running Ubuntu 24.04 LTS, for example a CubePath VPS, with at least 1 GB of RAM (2 GB or more recommended), 10 GB of free disk space and Python 3 (included in Ubuntu).
  • Root access or a user with sudo privileges.
  • A domain name (your_domain) and a hostname for the server, such as panel.your_domain, both with A records pointing to the server's public IP (your_server_ip).
  • If you plan to send email: outbound port 25 open on your provider and a PTR record for your_server_ip matching the hostname.

CyberPanel also supports Ubuntu 22.04 and AlmaLinux 8 and 9. Check the list of supported systems in the CyberPanel documentation before installing on another distribution.

Step 1 - Preparing the server

Update the system:

sudo apt update
sudo apt -y upgrade

Set the server's hostname to the fully qualified name you created the DNS record for. CyberPanel uses it to issue a certificate for the panel later:

sudo hostnamectl set-hostname panel.your_domain

Confirm that the hostname is set and that it resolves to the server:

hostname -f
dig +short panel.your_domain
panel.your_domain
your_server_ip

If the kernel was upgraded, reboot now with sudo reboot before running the installer.

Step 2 - Running the CyberPanel installer

CyberPanel is installed with an official script that must run as root. Download it instead of piping it into a shell, so you can read it first:

curl -fsSL https://cyberpanel.net/install.sh -o cyberpanel-install.sh
less cyberpanel-install.sh

Start the installation from a root shell. Running it inside screen or tmux protects it from an SSH disconnection, because the process takes 15 to 30 minutes:

sudo apt -y install tmux
tmux new -s cyberpanel
sudo bash cyberpanel-install.sh

If your SSH session drops, reconnect and resume with tmux attach -t cyberpanel.

The installer asks a series of questions. For a typical single-server setup, answer as follows:

QuestionAnswer
What do you want to do1 (Install CyberPanel)
Web server edition1 (CyberPanel with OpenLiteSpeed)
Full installation (PowerDNS, Postfix, Pure-FTPd)Y, or n if you do not need DNS, mail and FTP
Remote MySQLN (install MariaDB locally)
CyberPanel versionPress Enter for the latest release
Admin passwords to set your own strong password, or r to generate a random one. Never keep the default 1234567
Memcached and RedisY if your applications use them, otherwise n
WatchDogY to restart the web server and database automatically if they stop

When it finishes, the installer prints a summary with the panel URL (https://your_server_ip:8090), the admin user name and password, and the OpenLiteSpeed WebAdmin console details (https://your_server_ip:7080). Save these credentials in a password manager, then accept the offer to reboot.

After the reboot, verify that the panel (lscpd) and the web server (lsws) are running:

sudo systemctl status lscpd lsws --no-pager
● lscpd.service - ...
     Active: active (running) since ...
● lsws.service - ...
     Active: active (running) since ...

Check that the ports are listening:

sudo ss -tlnp | grep -E ':(80|443|8090|7080) '

You should see lines for ports 80, 443, 8090 and 7080.

Step 3 - Logging in and securing the panel

Open https://your_server_ip:8090 and log in as admin with the password from the summary. The panel uses a self-signed certificate until you replace it, so accept the browser warning.

First, issue a trusted certificate for the panel hostname. Go to SSL > Hostname SSL, select panel.your_domain and click Issue SSL. After a few seconds, open https://panel.your_domain:8090 and check that the certificate is valid.

Then reduce the exposure of the admin ports in Security > Firewall, which manages firewalld rules:

  • Keep 80 and 443 open to everyone.
  • Remove the rule for 8090 and add one that allows it only from your admin IP (your_admin_ip).
  • Do the same for 7080, the OpenLiteSpeed WebAdmin console, or remove it entirely and reach it through an SSH tunnel when needed.
  • Remove rules for services you did not install, such as FTP or mail.

Check the result from the terminal:

sudo firewall-cmd --list-all

The ports and rich rules lines should reflect your changes. Finally, enable two-factor authentication for the admin account from the Users section, where CyberPanel lets you turn on 2FA per user.

If you ever lose the admin password, reset it from the server:

sudo adminPass 'your_new_strong_password'

The OpenLiteSpeed WebAdmin password has its own reset script:

sudo /usr/local/lsws/admin/misc/admpass.sh

Step 4 - Creating a website

In the panel, go to Websites > Create Website and fill in:

  • Select Package: Default.
  • Select Owner: admin, or a reseller or user you created under Users.
  • Domain Name: your_domain (without www; CyberPanel adds it as an alias).
  • Email: a contact address for the site.
  • Select PHP: the PHP version your application needs.

Tick SSL so CyberPanel requests a Let's Encrypt certificate while creating the site, and click Create Website.

The same can be done with the cyberpanel command-line tool. Use a PHP version that appears in the panel's Select PHP list:

sudo cyberpanel createWebsite --package Default --owner admin --domainName your_domain --email admin@your_domain --php 8.2
sudo cyberpanel issueSSL --domainName your_domain

The site's files live in /home/your_domain/public_html. Upload your application there with SFTP or the panel's File Manager.

Verify that the site responds over HTTPS:

curl -I https://your_domain
HTTP/2 200
server: LiteSpeed
...

Step 5 - Creating a database

Go to Databases > Create Database, select the website, and enter a database name, user name and strong password. Or from the command line:

sudo cyberpanel createDatabase --databaseWebsite your_domain --dbName your_database --dbUsername your_db_user --dbPassword 'your_strong_password'

Use localhost as the host in your application. The Databases > PHPMyAdmin entry opens phpMyAdmin for browsing and importing data.

Step 6 - Deploying WordPress with LSCache

The main advantage of OpenLiteSpeed is LSCache, which caches full pages inside the web server. CyberPanel can install WordPress with the LiteSpeed Cache plugin already configured.

On a new site, go to WordPress > Deploy WordPress, choose the website, enter the site title, an admin user name, email and strong password, and click Deploy Now. CyberPanel creates the database, installs WordPress in the site's public_html and activates the LiteSpeed Cache plugin.

Log in to https://your_domain/wp-admin and open LiteSpeed Cache in the WordPress menu to confirm the plugin is active. To check that pages are being cached, request the home page twice as an anonymous visitor:

curl -sI https://your_domain | grep -i x-litespeed-cache
x-litespeed-cache: hit

The first request usually shows miss and the following ones hit.

Troubleshooting

The installer stops with dependency or port errors. CyberPanel expects a clean system. Reinstall the operating system and run the installer before installing anything else. The installation log is in /var/log/installLogs.txt.

The panel does not load on port 8090. Check the service with sudo systemctl status lscpd and the firewall with sudo firewall-cmd --list-all. If your admin IP changed, add it again with sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="your_admin_ip" port port="8090" protocol="tcp" accept' followed by sudo firewall-cmd --reload.

Let's Encrypt fails for a site or the hostname. Confirm that the name resolves to your_server_ip with dig +short and that port 80 is open. If the domain is behind a proxy, the HTTP-01 challenge must still reach the server.

Pages are never cached. LSCache skips logged-in users and requests with cookies. Test from curl or a private browser window, and make sure the LiteSpeed Cache plugin is active.

Conclusion

You installed CyberPanel with OpenLiteSpeed on Ubuntu 24.04, secured the panel with a trusted certificate, firewall rules and two-factor authentication, and created a website with SSL, a database and WordPress with LSCache. Next, configure scheduled backups to remote storage under Backup, create hosting packages with limits under Packages, and set up email accounts for your domain under Email if you installed the mail stack.