Beginner’s Guide to Configure VPS Hosting on Linux Server [2025]

Configure VPS hosting to get a virtualized server environment that offers more resources, flexibility, and control than shared hosting, without the high costs of a dedicated server. VPS hosting mimics a dedicated server’s capabilities while running on a shared physical server. Configuring VPS hosting on Linux involves setting up the operating system, installing essential software, configuring networking, and securing the server.

Configure VPS Hosting on Linux Server

In this guide, we will walk you through the necessary steps to configure a Linux-based VPS for hosting websites, applications, or services.

Prerequisites

Before you begin configuring VPS hosting on Linux, make sure you have the following:

  • Linux Distribution: A VPS hosting plan with a Linux distribution (Ubuntu, CentOS, Debian, etc.) installed.
  • Root Access: You will need root or sudo access to install and configure software on the VPS.
  • SSH Access: SSH (Secure Shell) access to your VPS is required to manage and configure it remotely.
  • Basic Knowledge of Linux: Familiarity with Linux commands and the terminal is useful for setting up your server.

Once you have your VPS ready, you can begin configuring it for use.

Configure VPS Hosting on Linux

Configure VPS Hosting on Linux to take full control of your server environment, improve performance, and enhance security. Setting up a VPS allows you to host websites, run applications, or manage services with flexibility and root-level access.

Step 1: Secure SSH Access

The first step in configuring your VPS is ensuring secure access to the server. By default, most VPS servers provide SSH access, but there are a few steps you should take to secure it.

  • Connect to Your VPS via SSH

Use the following command to connect to your VPS via SSH. Replace your_vps_ip with your server’s IP address:

ssh root@your_vps_ip

If this is your first time logging into the server, you may need to accept the server’s fingerprint and enter the root password.

  • Change Default SSH Port

To make your server less vulnerable to brute-force attacks, it’s recommended to change the default SSH port (22). Open the SSH configuration file:

sudo nano /etc/ssh/sshd_config

Change the following line:

#Port 22

To:

Port 2222  # Or any port other than 22

After saving the file, restart SSH:

sudo systemctl restart sshd

Now, you can connect to your server using:

ssh root@your_vps_ip -p 2222
  • Disable Root Login (Optional but Recommended)

For added security, you can disable direct root login and instead use a non-root user with sudo privileges: In the sshd_config file, change the following line:

PermitRootLogin yes

To:

PermitRootLogin no

Restart SSH again:

sudo systemctl restart sshd
  • Set Up SSH Key Authentication

It’s a good practice to use SSH key-based authentication rather than passwords. You can generate an SSH key pair and copy it to your VPS using ssh-copy-id:

ssh-keygen -t rsa -b 4096
ssh-copy-id -i ~/.ssh/id_rsa.pub root@your_vps_ip -p 2222

This will enhance security by preventing brute-force attacks on your server.

Step 2: Update Your System

Once you have SSH access to your VPS, the next step is to update the system to ensure all packages are up-to-date.

  • Update Package Lists

On Ubuntu/Debian:

sudo apt update sudo apt upgrade

On CentOS/RHEL:

sudo yum update
  • Reboot the VPS (If Required)

After updating your system, it’s a good idea to reboot the server:

sudo reboot

Step 3: Install Web Server (Apache/Nginx)

A web server is required to host websites and applications. Here’s how to install Apache or Nginx on your VPS.

Install Apache

  • On Ubuntu/Debian:
sudo apt install apache2
  • On CentOS/RHEL:
sudo yum install httpd
  • Start and enable Apache to run on boot:
sudo systemctl start apache2 # Ubuntu/Debian sudo systemctl enable apache2 # Ubuntu/Debian

Or:

sudo systemctl start httpd # CentOS/RHEL sudo systemctl enable httpd # CentOS/RHEL

To verify Apache is running, go to your VPS IP address in a web browser. You should see the default Apache page.

Install Nginx (Alternative to Apache)

  • On Ubuntu/Debian:
sudo apt install nginx
  • On CentOS/RHEL:
sudo yum install nginx
  • Start and enable Nginx to run on boot:
sudo systemctl start nginx # Ubuntu/Debian sudo systemctl enable nginx # Ubuntu/Debian

Or:

sudo systemctl start nginx # CentOS/RHEL sudo systemctl enable nginx # CentOS/RHEL

Check if Nginx is running by navigating to your VPS IP address in a browser. You should see the default Nginx welcome page.

Step 4: Install Database Server (MySQL/MariaDB)

If your application requires a database, you will need to install MySQL or MariaDB. Here’s how to do it:

  • Install MySQL

On Ubuntu/Debian:

sudo apt install mysql-server

On CentOS/RHEL:

sudo yum install mysql-server

Start and enable MySQL to run on boot:

sudo systemctl start mysql # Ubuntu/Debian sudo systemctl enable mysql # Ubuntu/Debian

Or:

sudo systemctl start mysqld # CentOS/RHEL sudo systemctl enable mysqld # CentOS/RHEL
  • Secure MySQL

After installing MySQL, run the security script to improve MySQL’s security:

sudo mysql_secure_installation

This script will guide you through the process of setting a root password and securing your MySQL installation.

Step 5: Configure Firewall (CSF/UFW/iptables)

To secure your VPS, you should configure a firewall to control access to your server.

  • Install CSF (ConfigServer Firewall)

CSF is a popular firewall for Linux servers, especially when used with cPanel. To install CSF:

sudo apt install csf # Ubuntu/Debian sudo yum install csf # CentOS/RHEL

Start CSF and enable it on boot:

sudo systemctl start csf 
sudo systemctl enable csf

For more advanced configurations, you can adjust the CSF configuration file located at /etc/csf/csf.conf.

  • Configure UFW (Uncomplicated Firewall)

On Ubuntu/Debian, you can use UFW to set up a basic firewall:

sudo apt install ufw
sudo ufw allow 22      # Allow SSH
sudo ufw allow 80      # Allow HTTP
sudo ufw allow 443     # Allow HTTPS
sudo ufw enable
  • Configure iptables

For more advanced firewall configurations, you can use iptables, which is more granular. Basic rules can be added by editing the /etc/iptables/rules.v4 file.

Step 6: Set Up Domain Name

To set up a domain name for your VPS, you’ll need to configure the DNS records with your domain registrar. Set the A record to point to your VPS IP address:

  • Host: @ (for the main domain) or www (for the subdomain)
  • Type: A
  • Value: Your VPS IP address (e.g., 192.168.1.100)

Once DNS propagation is complete, you can access your website using the domain name.

Conclusion

In this guide, we’ve covered how to configure VPS hosting on Linux, from setting up SSH access and installing web and database servers to configuring firewalls and securing the server. A properly configured VPS will give you control over your hosting environment and ensure your applications run efficiently and securely.

By following these steps, you can have a fully functional and secure VPS hosting setup, ready to host websites, applications, or services with full flexibility.

Leave A Comment