July 4, 2025

How to Host a Website Using Apache or Nginx on Linux

mr rockstar

How to Host a Website Using Apache or Nginx on Linux
Cheap Dedicated Server

 

Hosting your own website on a Linux server is a powerful way to take full control over your web presence. Two of the most popular and efficient web servers used for this purpose are Apache and Nginx. In this guide, we’ll walk you through the basic setup process for both, and help you understand the differences so you can choose the one that fits your needs.


🔧 Requirements

  • A Linux server (Ubuntu/Debian/CentOS)
  • Root or sudo access
  • Domain name (optional but recommended)
  • Basic understanding of the command line

🛠 Step 1: Update Your System

Before installing any web server, update your package index:

sudo apt update && sudo apt upgrade -y   # Ubuntu/Debian
sudo yum update -y                       # CentOS/RHEL

🌐 Hosting with Apache

Step 2: Install Apache
    

Install Apache

sudo apt install apache2   # Debian/Ubuntu
sudo yum install httpd     # CentOS/RHEL

Step 3: Start and Enable Apache

Start and Enable Apache

sudo systemctl start apache2
sudo systemctl enable apache2

Step 4: Set Up Your Website

Put your HTML files in /var/www/html. For example:

Set Up Your Website

echo "<h1>Hello from Apache</h1>" | sudo tee /var/www/html/index.html

Step 5: Adjust Firewall (If Active)

sudo ufw allow 'Apache'     # For Ubuntu/Debian with UFW
sudo firewall-cmd --add-service=http --permanent && sudo firewall-cmd --reload  # CentOS

Now visit http://your-server-ip to see your website.


🌐 Hosting with Nginx

Step 2: Install Nginx

Install Nginx

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

Step 3: Start and Enable Nginx

Start and Enable Nginx

sudo systemctl start nginx
sudo systemctl enable nginx

Step 4: Add Your HTML Files

Replace the default index page:

C:\Users\saju.ansari\Downloads\Add Your HTML Files.png

echo "<h1>Hello from Nginx</h1>" | sudo tee /var/www/html/index.nginx-debian.html

Step 5: Configure Firewall

sudo ufw allow 'Nginx Full'     # Ubuntu/Debian
sudo firewall-cmd --add-service=http --permanent && sudo firewall-cmd --reload  # CentOS

Visit http://your-server-ip in your browser.


🆚 Apache vs Nginx – Which Should You Use?

FeatureApacheNginx
Ease of UseEasier for beginnersSteeper learning curve
PerformanceGoodBetter with high traffic
Config Files.htaccess, flexibleCentralized configuration
Use CaseDynamic content (PHP)Static files, reverse proxy

📌 Conclusion

Whether you choose Apache for its simplicity or Nginx for its performance, both servers are excellent tools for hosting websites on Linux. With just a few commands, your site can be live and accessible to the world.


 

How to Host a Website Using Apache or Nginx on Linux (F.A.Q)

Can I host multiple websites on one server?

Yes, using Virtual Hosts in Apache or Server Blocks in Nginx.

 

Is it necessary to have a domain name?

Not required, but it’s more professional and user-friendly than using an IP address.

 

How do I host a PHP site?

Install PHP (sudo apt install php) and configure it with Apache or Nginx + PHP-FPM.

What if I want SSL (HTTPS)?

Use Let’s Encrypt to get a free SSL certificate and install it with Certbot.

Popular Blog Posts