This guide shows you how to create a website in CyberPanel and issue a Let's Encrypt SSL certificate for it, so the domain serves over HTTPS instead of plain HTTP. You will add the domain, upload files to its document root, request the certificate, and confirm the padlock in a browser.
CyberPanel runs on top of OpenLiteSpeed, and its Let's Encrypt integration is built in, so you do not need Certbot or a separate ACME client. The whole job takes a few minutes once DNS is correct.
Before you start
You need:
- A Linux VPS with CyberPanel already installed and reachable. The panel listens on port 8090.
- Your server's public IP and the panel login. Both are in your VPS provider's control panel — the IP is on the server card, and you can reset the panel password over SSH if you lost it.
- A domain such as
example.comthat you control, plus thewwwhostname if you want it. - Ports 80 and 443 open in the firewall. Let's Encrypt validates ownership over HTTP on port 80, so the challenge fails if that port is blocked.
Warning: Do not request the certificate before DNS points at this server. If another machine answers for the domain on port 80, the validation fails and you may hit Let's Encrypt rate limits after repeated attempts.
Step 1: Point the domain at the server
Create an A record for example.com and another for www.example.com, both pointing to your server IP. Then confirm propagation from the server itself:
dig +short example.com
dig +short www.example.comBoth commands should print your server's IP. If they return nothing or an old address, wait for the TTL to expire before continuing.
Step 2: Create the website and enable Let's Encrypt SSL in CyberPanel
- Open
https://203.0.113.10:8090in your browser and log in as the CyberPanel admin. - Go to Websites → Create Website.
- Fill in the form:
- Package:
Default(or your own package). - Owner:
admin, or the reseller/user who should manage the site. - Domain Name:
example.com. - Email: a working address for expiry notices.
- PHP: pick the version your application needs.
- Tick SSL so CyberPanel requests a Let's Encrypt certificate during creation. Tick DKIM Support if you plan to send mail from the domain.
- Click Create Website and wait for the progress log to finish.
CyberPanel now creates the document root at /home/example.com/public_html, assigns the site to the owner's system user (admin by default), registers a virtual host in OpenLiteSpeed, and runs the ACME challenge for the domain.
Tip: If you also want www covered, add it as a separate website or as an alias, then issue SSL for it too. A certificate only covers the names it was requested for.
Step 3: Issue or re-issue the certificate
If the SSL step failed or you skipped the checkbox, issue it manually:
- Go to Websites → List Websites.
- Click Manage next to
example.com. - Open the SSL section and choose Issue SSL.
- Wait about 30 seconds, then reload the page. The status should read as issued, with an expiry date.
The same screen lets you view the certificate, download it, and reissue it after a DNS change. CyberPanel renews certificates automatically through a scheduled job, so you normally do not have to touch this again.
Step 4: Upload your site files
Put your content in /home/example.com/public_html. Two easy options:
- File Manager — in Websites → List Websites, click Manage → File Manager, open
public_html, and upload or create files. - SFTP — connect on port 22 with the website owner's system user (
adminunless you chose another owner, and only if that package allows SSH) and upload to the same path.
For a quick test, create index.html containing a single line of text. Directories should be 755 and files 644, owned by the website owner's system user — admin here, so adjust it if you created the site under another owner:
chown -R admin:admin /home/example.com/public_html
find /home/example.com/public_html -type d -exec chmod 755 {} \;
find /home/example.com/public_html -type f -exec chmod 644 {} \;Step 5: Force HTTPS
The certificate is installed, but visitors can still reach the site over HTTP. Add a redirect by creating or editing .htaccess in public_html:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]OpenLiteSpeed reads .htaccess for sites created by CyberPanel. If the rule is ignored, check the virtual host's rewrite settings in Websites → List Websites → Manage → Rewrite Rules.
Warning: Test the redirect on a staging domain first if the site already has traffic. A wrong rule can send every request into a loop and take the site offline.
Check it works
Confirm the redirect and the certificate from the command line:
curl -I http://example.com
curl -I https://example.comThe first response should be a 301 pointing at https://, and the second a 200. Then inspect the certificate itself:
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -datesYou should see subject=CN = example.com, an issuer of Let's Encrypt, and a notAfter date roughly 90 days out. Finally, load https://example.com in a browser and check for the padlock with no mixed-content warnings.
Troubleshooting
- SSL issuance fails with a challenge or validation error — DNS is not pointing at this server, or port 80 is blocked. Re-run
dig +short example.com, open port 80, and try again. - Browser shows a certificate warning or the wrong site — the certificate was never issued for that hostname. Issue SSL for the exact name you are visiting, including
wwwif you use it. - Padlock appears but the page loads unstyled — mixed content. Hardcoded
http://links to CSS, JS or images must be changed tohttps://or protocol-relative URLs. - 403 Forbidden on the new site — no index file, or wrong ownership. Check that
public_htmlcontainsindex.htmlorindex.phpand that the files belong to the website owner's system user. - Panel at port 8090 unreachable — the panel service stopped or the port is filtered. Run
systemctl status lscpdover SSH and restart it withsystemctl restart lscpd; also confirm the firewall allows 8090.
Next steps
- How to add Let's Encrypt SSL to OpenLiteSpeed for the manual, panel-free method.
- Secure Nginx with a free Let's Encrypt SSL certificate if you later move the site to Nginx.
- Install Nginx and host your first website to compare stacks.
