My Board
How to Create Apache Virtual Hosts on CentOS 7 - Printable Version

+- My Board (https://ellohost.com/forum)
+-- Forum: Tutoriel EN (https://ellohost.com/forum/forumdisplay.php?fid=8)
+--- Forum: Others (https://ellohost.com/forum/forumdisplay.php?fid=20)
+--- Thread: How to Create Apache Virtual Hosts on CentOS 7 (/showthread.php?tid=142)



How to Create Apache Virtual Hosts on CentOS 7 - aaron - 08-12-2023



    How to Create Apache Virtual Hosts on CentOS 7

   

How to Create Apache Virtual Hosts on CentOS 7



   

1. Installing Apache


   

Before we begin, make sure that you have root access to your VPS or server using SSH connection.

   

Install Apache on your CentOS 7 machine by typing the following command:

   
sudo yum -y install httpd
   

Once the installation is completed, enable Apache as a CentOS service:

   
sudo systemctl enable httpd.service
   

Visit your server’s IP address to check whether Apache is already running or not. The page should look like
        this:

    Apache Running

   

2. Creating a Directory Tree


   

A directory tree is used to hold website data. First, set the working directory to /var/www by running this
        command:

   
cd /var/www/
   

You should use a unique document root for each virtual host:

   
mkdir -p yourdomain.com/public_html
   

Remember to replace yourdomain.com with your actual domain name.

   

Make the directory accessible to Apache. Run the chown command to change the ownership and
        chmod to set correct permissions for the whole web directory.

   
chown -R apache:apache /var/www/yourdomain.com/public_html
chmod -R 755 /var/www
   

Apache now has the required access to create additional directories and serve content for incoming queries.


   

3. Creating a Demo Page


   

It is recommended to make a demo page for your Apache virtual hosts. This way, you can check whether the host
        is working before you actually move your website files. Here’s how you do it:

   

Use the nano editor to create index.html file in yourdomain.com/public_html
        directory:

   
nano yourdomain.com/public_html/index.html
   

Paste the following content to the file:

   
<html>
  <head>
    <title>This is a test page</title>
  </head>
  <body>
    <h1>It works!</h1>
  </body>
</html>
   

Save the file by pressing CTRL + X and then Y.


   

4. Creating the Virtual Host


   

Create a new virtual host .conf file in the Apache configuration directory:

   
nano /etc/httpd/conf.d/yourdomain.com.conf
   

Insert the following content into the .conf file:

   
<VirtualHost *:80>
    ServerName www.yourdomain.com
    ServerAlias yourdomain.com
    DocumentRoot /var/www/yourdomain.com/public_html
    ErrorLog /var/www/yourdomain.com/error.log
    CustomLog /var/www/yourdomain.com/requests.log combined
</VirtualHost>
   

In the example above, we tell Apache that we will be using port 80 for the communication and that
        yourdomain.com is the name of the virtual host. Additionally, we also specify directories for the
        website files (document root) and error logs.

   

Restart Apache for the changes to take effect:

   
systemctl restart httpd.service
   

That’s it, you have just created an Apache virtual host for your domain! Now try to access the host and you
        should see the “It works!” text from the demo page we made earlier.