Cloud Service >> Knowledgebase >> VPS Hosting >> How to Configure Apache Virtual Hosts on CentOS7?
submit query

Cut Hosting Costs! Submit Query Today!

How to Configure Apache Virtual Hosts on CentOS7?

Apache virtual hosts empower VPS (Virtual Private Server) owners to manage multiple websites on a single server efficiently. Virtual hosts work in this way: requests for the content resource are filtered and distributed based on the domain name or IP address. As a result, resource usage and web service organization are improved. 

Let's embark on an in-depth tutorial exclusively designed for VPS environments on configuring Apache virtual hosts on Centos 7.

Understanding Apache Virtual Hosts

Before tackling the configuration task, it is crucial to grasp the essence of virtual hosts. Apache can run multiple websites simultaneously from a single server through a virtual host. Traffic is routed by searching for the specific domain name or IP address of the client. This ensures proper resource use and adequate web service provision.

Prerequisites

Before configuring virtual hosts, ensure that your CentOS 7 VPS has the Apache web server installed and is up and running.

‘sudo yum install httpd’

Once installed, start the Apache service:

‘sudo systemctl start httpd’

And enable it to start on boot:

‘sudo systemctl enable httpd’

Configuring Virtual Hosts

  1. Create Virtual Host Configuration Files

Virtual host configuration files are stored in the /etc/httpd/conf.d/ directory by default. Create a new configuration file for each virtual host you want to set up. For example:

‘sudo nano /etc/httpd/conf.d/example.com.conf’

Replace example.com with your domain name.

  1. Define Virtual Hosts

Within the configuration file, define your virtual host settings. A basic configuration includes specifying the domain name or IP address, document root, and other directives. Here's an example:

    ServerAdmin [email protected]

    ServerName example.com

    ServerAlias www.example.com

    DocumentRoot /var/www/html/example

    ErrorLog /var/log/httpd/example.com_error.log

    CustomLog /var/log/httpd/example.com_access.log combined

Adjust the values according to your setup. The DocumentRoot directive specifies the directory where website files are located.

  1. Enable Virtual Hosts

Once the virtual host configuration is created, enable it by creating symbolic links to the sites-enabled directory. CentOS 7 uses conf.d for this purpose. Run the following command:

‘sudo ln -s /etc/httpd/conf.d/example.com.conf /etc/httpd/conf.d/sites-enabled/’

  1. Restart Apache

After configuring virtual hosts, restart the Apache service to apply the changes:

‘sudo systemctl restart httpd’

Testing Virtual Hosts

To ensure virtual hosts are configured correctly, test them by accessing your websites through web browsers. If everything is set up correctly, you should see the content from the specified document root when accessing the domain names associated with your virtual hosts.

Advanced Configurations

Advanced configurations empower VPS owners to tailor virtual hosts to specific requirements. Some advanced configurations encompass:

  • SSL/TLS Encryption: 

Implementing HTTPS encryption with SSL/TLS certificates for secure communication.

  • Server-side Scripting

Design Apache to use and support server-side scripting technologies such as PHP, Python, or Perl.

  • Access Control:

 Implement access control rules for separating specific directories or certain IP addresses.

  • Logging and Monitoring

Fine-tune logging settings to monitor website traffic and errors effectively.

To Sum it Up!

 

Configuring Apache virtual hosts on CentOS 7 is a pivotal skill for VPS owners seeking efficient web server management. By adhering to the outlined steps, you can adeptly administer multiple websites on a single VPS with streamlined efficiency. As you delve deeper into Apache's configuration options, explore advanced configurations to bolster security, performance, and scalability tailored to your VPS environment.

Cut Hosting Costs! Submit Query Today!

Grow With Us

Let’s talk about the future, and make it happen!