spinah logo

From One to Many: Hosting Multiple Websites on One Server

| April 17, 2023

How to host multiple website

The joy of every entrepreneur is to expand. As your business grows, the chances are high that at some point you will be interested in hosting multiple websites on a single server. 

With domain names becoming a generic commodity, more and more people actually own a domain name. However, more often than not, these people do not only own one domain name; they have several domain names registered under their names. What is missing is often the knowledge on how to host the matching websites without paying a fortune

Even while this could appear difficult at first, as you learn more about it, you’ll realize that anyone with a little technological know-how can truly do it.

In this blog post, you will learn how to host numerous websites on one server by following this straightforward instructions that are broken down into five easy steps:

  • Purchase domain names and a shared hosting plan.
  • Add a domain to the server through cPanel
  • Make any necessary changes to the nameservers
  • WordPress installation
  • Setup the fundamentals of your WordPress website

Hosting a Website: What Is It?

Hosting a website is more complex than it may appear at first glance. When you host a website, you essentially give the files that comprise it a home on the internet. 

Businesses and individuals using dedicated servers or VPS and intend to create multiple applications on a separate domain, usually go through the multiple website hosting on a single server route.

Steps to Hosting Multiple Websites on One Server

The first step is to choose a server that has enough resources to host multiple websites. For sites that require fewer resources, hosting multiple sites on a cloud server might be an excellent idea to save cost. However to host multiple sites with extensive resources like storage space, RAM and CPU power, here are steps to follow;

Step 1: Buy Valid Domain Names and a Shared Hosting Plan

The first two steps in adding multiple sites to one server are as follows:

  • Purchase a shared hosting package
  • Purchase domains that you want to add

Purchase a Shared Hosting Package

To begin, you will need to purchase a shared hosting package from a reliable web host. This plan is the backbone of your website and will be used to store all of your files in one place. 

Purchase Domains That You Want to Add

You will also need to purchase domain names for each website that you want to add. This is the address that people will use to access each of your websites and usually takes the form of “yourwebsite.com.”

Step 2: Incorporate a Domain on the Server Through Cpanel

Once you’ve bought your shared hosting plan, you can log in to your cPanel dashboard. The cPanel has an easy-to-use interface where you can control your server’s files and settings. 

It also includes tools to help set up and configure your websites quickly and easily, including adding domains that you have purchased. 

To add a domain in cPanel, you will first need to select  the Domains option from the cPanel home screen. From there, you will see two options: Addon Domains and Subdomains. Select the Addon Domain option to continue. 

You will be asked for your domain name, username, and password for the new domain. Once you have entered the information, click Add Domain

When finished, select Add Domain. A success notification will appear

Step 3: Make Any Necessary Changes to the Nameservers

Once you have added a domain to your server, you will need to make sure that it is connected to the correct nameservers. The job of the nameservers is to connect your domain name to the web host and make it accessible on the internet.

Most web hosting providers will provide you with their own nameservers, so all you need to do is update your domain’s settings with them. Changing a domain’s nameservers depends on where you bought it, but it usually involves logging into your account with the domain registrar and changing the nameserver settings.

If you registered your domain with Bluehost, follow this example to complete the procedure.

Select the DNS tab from the Domains menu on the left by navigating there:

Next, select Edit under the Name Servers section.

A nameserver edit

Select Custom Nameservers under Setup Type, and then enter the nameservers for your account:

In order to save the modifications and update the nameservers, click the Save button last.

At this point, you have pointed your domain names to the single server that will now function as the host for all of your websites.

Step 4: Install WordPress on the Server Constitutes

You’ll need to install WordPress on each website you want to host on the same server. This is a powerful content management system (CMS) that allows you to create beautiful websites with ease. 

To install WordPress, you must first log in to your cPanel dashboard and choose “Softaculous Apps Installer.” Once you find WordPress in the Softaculous Apps Installer, you can easily install it on your server with just a few clicks.

Click “Install Now” next.

Click to install WordPress

To access a secure HTTPS website, click Choose Protocol, then SSL Certificate.

Installing WordPress on your domain name

Select http instead if your website lacks an SSL certificate. Then click Choose Domain to choose the domain name for your website.

The “In Directory” section follows. Leave it empty:

how to install wordpress auto installer

Insert your site name and site description in the Site Settings section by scrolling down. Jot down the essentials; these specifics can be refined later.

Setting your site name

Last, add a user to your site and either make a password by hand or use the one that is automatically generated.

Your username and password to the admin panel of the site

Keep in mind that you should write down your password and store it safely.

Step 5: Setup the Fundamentals of Your WordPress Website

Once WordPress is installed, you can begin setting up the fundamentals for your website. This includes selecting a theme, creating pages and posts, adding plugins, customizing settings, and more. You can find detailed guides all over the web to help you with this process.

Using Virtual Server to Hosting Multiple Websites 

A virtual server can be thought of as a way to host multiple websites on a single web server instance. There are three types of virtual hosting: Name-based virtual hosting, IP-based virtual hosting, and port-based virtual hosting.

Name-Based Virtual Hosting: With name-based virtual hosting, you can host multiple websites on a single IP address. The name in the HTTP domain request header is used to figure out which website is being asked for. This is the most common type of virtual hosting and is ideal for hosting a large number of sites on a single server.

IP-Based Virtual Hosting: IP-Based Virtual Hosting allows you to host multiple websites on a single server, but each website has a unique IP address. This type of virtual hosting is typically used when Name-Based Virtual Hosting is incompatible or when SSL certificates require unique IP addresses.

Port-Based Virtual Hosting: With Port-Based Virtual Hosting, you can host multiple websites on a single IP address. The URL’s port number lets you know which website is being asked for. This type of virtual hosting is used when there are compatibility issues with the other two types of virtual hosting.

Creating multiple website on one server by virtual hosting can be carried out using open source software such as Apache and Nginx, here are simple steps to follow while hosting on Apache;

Make the Directory Structure First.

The site data is kept in the directory structure, which is served to visitors. The top-level root directory is called the Document Root. To serve content to visitors, Apache looks at the document root directory.

The document root is configured to be a specific directory /var/www. For any website you wish to host, you can build a directory by creating a public_html folder in each of these directories. For greater flexibility, the main files of the sites are usually stored.

In this stage, creating the /var/www folder, which will serve as the document root location. Domain names like domain.com and domain2.com are substituted for;

mkdir -p /var/www/domain.com/public_html

mkdir -p /var/www/domain2.com/public_html

Configure Permissions

Provide the necessary permissions after the directories have been created. The directories may be owned by the root user. The web folders’ files should be able to be modified by an everyday user. Provide the following privileges to alter the permissions:

chmod -R 755 /var/www

Organize an Index Page

You can make a demo index page to see content. Create an index.html file for each legitimate website domain.

vim /var/www/domain.com/public_html/index.html

You can set things in the file, for instance, testing for domain.com.

Using the ESC tab and the command:wp, save the file and then shut it to exit. Follow the same procedure for the second domain. The following command can be used:

vim /var/www/domain2.com/public_html/index.html

Make a Copy of the Config File for Each Site

Apache provides the 000-default.conf Virtual host configuration file as a default (Virtual hosting . To make a virtual host configuration file for each website, you must copy the provided default host file. This will ensure that you have a default file copy for all  websites



Modify Each Site’s Configuration File

The first domain’s components are modifiable. You can add more directives as well. Add two directives like ServerName. It aids in creating the main domain. The second is Server Alias, a name that is different from the main domain. It assists in matching the hosts you specified, such www:

ServerName: domain.com Server Alias: www.domain.com

vim /etc/apache2/sites-available/domain.com.conf

The Apache virtual host file would appear as follows when finished:

Using :wq, save modifications and quit. The process is then repeated for the domain2.com.conf file. For your second domain, add the ServerName, Server Alias, and DocumentRoot.

Activate the Config File

The next several steps will activate the virtual host configuration files. To begin with, you deactivate the default file specified in 000-default.conf:

a2dissite 000-default.conf

Apache offers tools for enabling the new virtual host files. To activate the new.conf files, consult the a2ensite documentation.

a2ensite domain.com.conf

a2ensite domain2.com.conf

To view the modifications, restart the configured Apache service. To confirm the modifications, run systemctl status.

systemctl restart apache2

Check and Test Apache Configurations

You verify that the configurations are functioning as you restart Apache. Editing the domain or the /etc/host file will let you achieve that.

The index.html pages that were set up in the earlier steps should appear in the browser. You’ve finished the process if both websites function properly. Two virtual hosts have now been set up on the same server.

Support PHP-FPM in Apache

A FastCGI handler for PHP scripts and apps is PHP-FPM, sometimes referred to as a “PHP-FastCGI Process Manager.” A website can manage heavy loads thanks to it. For multi-user PHP systems, PHP-FPM is quicker than conventional CGI-based techniques. You may host many programs that make use of various PHP versions thanks to PHP-FPM. 

As WordPress won’t function without PHP-FPM support, you should definitely turn it on. Everything is already installed and set up for the PHP version in your stack as your starting point was a Webdock LEMP stack.

To make PHP-FPM work on web1.webdock.io, go to /etc/apache2/sites-available/webdock.conf and open your server’s default webdock config file.

Hosting with Nginx is the same as hosting with Apache; you just have to make use of previous steps, and then there is a need to create two server blocks after opening configuration on a single Ubuntu VPS with Nginx web server. 

Benefits of Hosting Many Websites on One Server

By hosting multiple websites on one server, one stands to gain the following;

You Save Money on Hosting Costs

Hosting multiple websites on one server is a great way to save money and resources. You will be able to save money on things like web hosting fees, domain registration fees, and domain renewal fees.

Also, you can use the same server resources for all of your sites, so you don’t have to buy more servers or space.

Manage of all websites from one place

It gives room for proper server management just from one place, when you host multiple websites on one server. You can easily access and make changes to each website without having to navigate through multiple accounts or logins.

Increased speed and efficiency

By putting more than one website on the same server, you can speed things up and get more done. Rather than having to manage multiple servers, you will only have to manage one, which can optimize the performance of all your websites.

Better Security

Having all of your websites on a single server also makes it less likely that your website will be attacked. Hackers will have a much more difficult time gaining access to your server because there are fewer open access points.

Creation of Multiple Backups

Finally, you can create multiple backups of your websites on the same server, making it easier to restore them in case something goes wrong.

Tips for Optimizing Your Web Server for Best Performance

When you host multiple websites on a single server, the following tips can help you get the most out of your web server: Doing this will help make sure that your sites work well and give your visitors a great experience. It will also save you money by reducing the amount of resources required.

Upgrade to a Dedicated Server

If your hosting plan allows, consider upgrading to a dedicated server. This will provide you with higher performance and greater control over how your websites are managed.

Enable Caching

Caching is a great way to help optimize the performance of your server. It stores frequently used files and data in a temporary location to reduce the time it takes to access them.

Optimize Your Website Files 

Make sure that all of the files on your website are properly optimized for best performance by compressing images and minifying code where possible. This will help reduce page load times and improve your site’s overall performance. 

Use a Content Delivery Network (CDN)

A content delivery network (CDN) is a group of servers all over the world that can store copies of the files on your website and send them to visitors from the server that is closest to them. This will help reduce latency and provide a better user experience for visitors from different parts of the world. 

Monitor Your Website Performance

Make sure to keep an eye on how well your website is doing and make changes where you can to make sure it is working at its best. This includes making sure all of your server settings are up-to-date and that any plugins or other scripts you use are properly configured.

Optimize Your Database

By optimizing your database on a regular basis, you can lessen the load on your server and make it run faster. This can be done using various tools, such as P-MDM or MySQL Workbench.  

Regularly Perform Maintenance

Performing regular maintenance on your server is essential for keeping it running smoothly. This includes checking log files, updating server software, and performing security scans. 


Hosting multiple websites on one server is a great way to save time and money while still providing your visitors with a great user experience. You can do this by following the five simple steps outlined in this blog post. 

Starting with the purchase of domain names and a shared hosting plan, add a domain to the server through cPanel. Make any necessary changes to the nameservers, install WordPress on the server, configure it, and set up the fundamentals of your WordPress website.

By following the steps laid out in this blog post, you can learn how to host multiple websites on one server. This process may seem daunting at first, but by breaking it down into smaller steps, it becomes easier to accomplish. 

You can also make your web server run more efficiently by switching to a dedicated server, turning on caching, and optimizing website files. Give it a try today and see how quickly you can get your new website up and running

FAQs on How to Host Multiple Websites on One Server

How Many Sites Can Be Hosted on the Same Server?

The answer to this question depends on the hosting plan you have purchased. Most shared hosting plans can handle a lot of domain names, so if you need to host more than one website, you should choose a shared hosting plan.

What Are the 3 Types of Web Hosting?

Web hosting can be classified into three types: shared, virtual private servers, and dedicated servers.  Shared hosting is the most affordable option and is great for small businesses, while virtual hosting is more flexible and gives you more control. Dedicated hosting gives you a solution that is completely tailored to your needs 

What Are the Two Main Requirements for Hosting?

The two main requirements for web hosting are bandwidth and disk space. Bandwidth is the amount of data that can be transferred between your website and visitors, while disk space is the amount of storage needed to host your files. Both are important factors when choosing a web hosting plan.

What Are the Basics of Web Hosting?

The most important things to know about web hosting are the different kinds of hosting, how to choose a good web host, and how to keep your website in good shape.