VirtualHost cannot occur within virtualhost section in WAMP

This article will guide on steps to fix #VirtualHost cannot occur within virtualhost section in #WAMP which occurs while we try to add VirtualHost #directive and reconfigure #vhost.

Directory directive works only for filesystem objects (e.g. /var/www/mypage, C:\www\mypage), while Location directive works only for URLs (the part after your site #domain name, e.g. www.mypage.com/mylocation).

To Configure name-based virtual #hosts:

1. Install Apache webserver. Make sure you have installed #Apache webserver. 

2. Create web directory for each host. 

3. Create demo web pages for each host. 

4. Create configuration file for each host. 

5. Enable virtual host configuration files. 

6. Test Virtual hosts.

Configure Apache Virtual Hosts on Ubuntu 18.04 - Step by Step Process ?

This article covers how to create apache virtual host files to host multiple domains on a single Ubuntu server. Each website published on the Internet is hosted on a web server (host), connected to the network with a public IP address and able to manage requests for web pages on a browser (client) such as Chrome, Firefox or Internet Explorer.

If you need to host a website on your machine, first, install a web server. Among those available, one of the best known is Apache, an open source software compatible with both Unix and Windows systems. 


How to Install Apache on Ubuntu ?

1. To install Apache 2 through the official Ubuntu repositories, proceed by typing:

$ sudo apt-get update
$ sudo apt install apache2

Since Apache communicates externally, it should be inserted among the exceptions of your Firewall. 

2. In case of using UFW, allow bidirectional communications between Apache and a Client by typing:

$ sudo ufw allow 'Apache Full'

3. Apache should already be running. To check its stateuse the command:

$ sudo systemctl status apache2

Configure Apache Virtual Hosts on CentOS 7

This article covers method to easily configure Apache virtual hosts. You repeat same procedure for multiple domain.

You can use yum to install Apache through CentOS's default software repositories:

$ sudo yum -y install httpd

Next, enable Apache as a CentOS service so that it will automatically start after a reboot:

$ sudo systemctl enable httpd.service


How to Set Up Local Hosts File ?

If you are on a Mac or Linux computer, edit your local hosts file with administrative privileges by typing:

$ sudo nano /etc/hosts

The details that you need to add are the public IP address of your VPS followed by the domain that you want to use to reach that VPS:

127.0.0.1   localhost
127.0.1.1   guest-desktop
server_ip_address example.com
server_ip_address example2.com

This will direct any requests for example.com and example2.com on our local computer and send them to our server at server_ip_address.