A Virtual Private Server (VPS) offers an ideal compromise between shared hosting and dedicated servers. It gives you dedicated resources, greater control, and scalable performance—without the higher cost of a dedicated machine. For developers and advanced users, managing a VPS without a control panel can lead to improved performance and tighter security, but it requires a more hands-on approach.
If you’re using a self-managed VPS without cPanel or any GUI-based interface, this guide will walk you through every step to get your website live—starting from scratch using only the command line.
Hosting without a control panel means you’ll manually install and configure every necessary service. Before diving in, ensure you have the following:
We’ll be using the popular LAMP stack (Linux, Apache, MySQL, PHP) in this tutorial to host a WordPress website—one of the most common configurations.
Note: While it’s possible to install WordPress on Windows, Linux offers better performance, community support, and compatibility.
Once your VPS is deployed, connect to it using SSH.
For MacOS, Linux, or Windows PowerShell, use this command:
ssh root@your_server_ip -p22
Replace your_server_ip
and -p22
with your actual IP and SSH port.
Once logged in, you’re ready to start server configuration.
Apache is a widely used open-source web server and perfect for hosting dynamic websites.
sudo apt update
sudo apt install apache2 -y
sudo dnf update
sudo dnf install httpd -y
sudo zypper refresh
sudo zypper install apache2
To test if Apache is working, visit your VPS IP address in a browser—you should see the default Apache welcome page.
PHP allows your server to interpret and execute dynamic scripts. Let’s install PHP and the necessary extensions.
sudo apt install php php-cli php-mysql php-curl php-gd php-mbstring php-xml -y
sudo dnf install php php-cli php-mysqlnd php-curl php-gd php-mbstring php-xml -y
sudo zypper install php php-cli php-mysql php-curl php-gd php-mbstring php-xml
sudo systemctl restart apache2
php -v
MySQL is the database that stores your website’s content and user data.
sudo apt install mysql-server -y
sudo dnf install mysql-server -y
sudo zypper install mysql mysql-client
Then, enable and start MySQL:
sudo systemctl start mysql
sudo systemctl enable mysql
Virtual hosts allow multiple websites to run on a single server by assigning separate configurations.
sudo mkdir -p /var/www/yourdomain.com/public_html
Set permissions:
sudo chown -R $USER:$USER /var/www/yourdomain.com/public_html
sudo chmod -R 755 /var/www
nano /var/www/yourdomain.com/public_html/index.html
Paste the following and save:
<html>
<head><title>Welcome!</title></head>
<body><h1>Website Hosted Without Control Panel</h1></body>
</html>
sudo nano /etc/apache2/sites-available/yourdomain.com.conf
sudo nano /etc/httpd/conf.d/yourdomain.com.conf
Add this content:
sudo a2ensite yourdomain.com.conf
sudo systemctl reload apache2
You should now see your test page by visiting your domain or IP.
Use FileZilla or WinSCP and connect via SFTP using your VPS IP and credentials. Upload your website files into the /public_html
directory.
Navigate to your website root:
cd /var/www/yourdomain.com/public_html
Download and extract WordPress:
wget https://wordpress.org/latest.tar.gz
tar xfz latest.tar.gz
mv wordpress/* ./
rm -rf wordpress latest.tar.gz
Log in to MySQL:
mysql -u root -p
Inside the MySQL shell:
Go to http://yourdomain.com
and follow the WordPress setup wizard:
Once setup is complete, you’ll be redirected to the WordPress dashboard.
Use Let’s Encrypt to install a free SSL certificate:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
Renew certificates automatically:
sudo certbot renew --dry-run
At VPS Malaysia, we offer both managed and self-managed VPS hosting plans, suitable for both beginners and professionals.
If you prefer control and customization, go with self-managed. For convenience and ease of use, a managed VPS is your best bet.
Hosting a website manually on a VPS is a rewarding experience that gives you complete control over your hosting environment. From improved performance and enhanced security to reduced costs, the benefits are numerous.
However, it does require a bit more time, patience, and technical know-how.
Whether you’re spinning up a test environment, deploying a client’s website, or running a secure trading app, VPS Malaysia self-managed plans offer the flexibility you need. And if you’d rather avoid the manual work, you can always go with a managed VPS with SPanel, giving you the best of both worlds.
No. You can configure a VPS entirely through the command line. Control panels are optional but useful for less experienced users.
Yes, but there’s a learning curve. Tutorials like this one, paired with practice, make the process approachable.
For hosting websites, Linux VPS is preferred due to its stability, flexibility, and community support.
You can schedule backups using cron jobs and tools like rsync, mysqldump, or cloud storage CLI utilities (e.g., AWS CLI).
Absolutely. Using virtual hosts in Apache or Nginx, you can host multiple domains on a single VPS.
Artificial intelligence and machine learning have rapidly progressed from emerging technologies to essential tools across…
SSL (Secure Sockets Layer) and TLS (Transport Layer Security) are cryptographic protocols that provide encryption…
1. Introduction As the digital finance landscape continues to evolve in 2025, selecting a trustworthy…
The digital landscape of online business in Malaysia is transforming at lightning speed. In 2025,…
1. Introduction Once you’ve decided to trade online, the next question becomes: "Which is the…
If you're a developer, blogger, or agency based in Malaysia, setting up a Linux VPS…