From Localhost to Live : How I Used CyberPanel & SSH to Deploy My First Backend Server

📌 Introduction – Why Even Learn This?

As developers, we often build our backend projects on localhost, test APIs with Postman, and store data in a local database. But deploying those same projects for the world to use is an entirely different game.

Most companies — whether startups or tech giants — host their applications on VPS (Virtual Private Servers) or dedicated cloud infrastructure. These servers don’t come with fancy UI by default — you’re expected to know how to manage them using tools like:

  • SSH (Secure Shell) for secure remote access

  • Server control panels like CyberPanel, cPanel, or even raw Nginx/Apache configuration

When I joined a company as a backend intern, I had the opportunity to get hands-on with CyberPanel + SSH to deploy real applications. In this article, I’ll walk you through what these tools are, why they matter, how I used them, and how you can get started too.

🧩 What Is CyberPanel ?

CyberPanel is a web-based hosting control panel built on top of OpenLiteSpeed, a fast and lightweight web server. It’s a powerful tool that simplifies the deployment and management of web applications.

Instead of writing long Nginx or Apache config files manually, CyberPanel gives you an intuitive UI to manage:

  • Websites (custom domains, subdomains)

  • Databases (MySQL/PostgreSQL)

  • SSL Certificates (via Let’s Encrypt)

  • File Management

  • Cron Jobs (to run scripts at intervals)

  • FTP, PHP, Email, DNS, and more

💡
Fun fact: CyberPanel is popular among small businesses, agencies, and indie developers who want to host their own applications affordably, yet professionally.

🔐 What Is SSH

SSH (Secure Shell) is the standard way to securely access and control your VPS/server remotely from your computer.

With SSH, you can:

  • Log in to your server from anywhere using the terminal

  • Install packages, edit files, or restart services

  • Pull your code from GitHub or run npm install

  • Check logs, errors, and performance in real-time

💡
Think of it like having “admin-level terminal access” to a computer that’s sitting in a data center miles away.

🛠️ How to Get Started with SSH (Using PuTTY )

If you’re on Windows, one of the easiest ways to use SSH is with PuTTY.

  1. Download PuTTY:
    https://www.putty.org/

  2. Get Your VPS IP and Root Password:
    Usually provided by your VPS provider (Hostlastic, Hostinger, DigitalOcean, Hostlasting etc.)

  3. Login to Server:
    Open PuTTY, enter your server IP, and connect. Use username root and the password to log in.

  4. Run Commands on the Server:
    Now you can install Node.js, configure your app, run logs, etc., right from your terminal.

If you're on Mac/Linux, just open your terminal and use:

root@your-server-ip

🌐 How I Used CyberPanel + SSH as Backend Engineer

Here’s how my actual workflow looked during my internship:

1. Developed and Tested APIs Locally

  • Built RESTful APIs using Node.js, Express, and MongoDB

  • Used Postman to test all routes locally (localhost:3000)

2. Pushed Code to GitHub

After local testing:

bashCopyEditgit add .
git commit -m "Added notification module"
git push origin main

Code was now ready to be deployed to the live server.

3. Logged into VPS via SSH

Used SSH to securely connect to the remote server:

bashCopyEditssh root@your-vps-ip

This gave me terminal access to run commands directly on the server.

  • I used PuTTY on Windows

  • On Mac/Linux, I used the default terminal

4. Cloned / Pulled the Code on the Server

After SSH access, I navigated to my project folder and pulled the latest code:

cd /home/yourdomain.com/public_html
git pull origin main

5. Installed Project Dependencies

If there were changes in package.json (new packages):

bashCopyEditnpm install

This ensured all required modules were present for the latest version.

6. Configured App to Run via OpenLiteSpeed

Instead of PM2, I configured OpenLiteSpeed to serve my Node.js app:

  • Created a new virtual host from the CyberPanel dashboard

  • Set up the listener to point to the correct domain/subdomain

  • Edited startup script to run node app.js via OLS’s WebAdmin Console (or created custom script using nohup or background process)

  • Bound the backend app to a specific port like 3001, and used reverse proxy rules to serve that port through the domain (e.g., api.mysite.com)

💡
Reverse Proxy is the key step: OLS listens on port 443 (HTTPS), and forwards the request to your app running on localhost:3001.

8. Tested APIs on Live Server

I then replaced localhost URLs in Postman with my live domain:

bashCopyEdithttps://api.myapp.com/login
https://api.myapp.com/notifications

I tested all endpoints again to ensure:

  • Data was coming from MongoDB

  • Auth tokens worked

  • Everything was fast and secure


Why This Workflow Was Valuable

  • CyberPanel simplified complex server setup

  • OpenLiteSpeed gave great performance with minimal configuration

  • SSH gave me full control over my project like a real DevOps engineer

  • Reverse proxy setup made Node.js APIs production-ready

  • I deployed secure, scalable, and real-time backend APIs that handled real user data


📚 Useful Resources

Final Thoughts

Learning to deploy and manage my own backend server using CyberPanel and OpenLiteSpeed was a huge step forward for me. It taught me not just to build software, but to run it reliably in production — just like real companies do.

1
Subscribe to my newsletter

Read articles from Abdurrahman Momin directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Abdurrahman Momin
Abdurrahman Momin