Question

Go from single virtualhost w/Wordpress to multiple virtual hosts w/Wordpress

Posted March 17, 2021 432 views
ApacheWordPress

D.O. seems to have a lot of great tutorials for setting up webservers for multi-domain apache2/WordPress setups, but *none *for going from single domain to multi-domain.

I’m using one of the WordPress droplets to run my website currently. I recently purchased two domains that I will be using for pilot projects, and if they catch on, I’ll probably give each it’s own dedicated server at some point in the future.

At the moment, what I would like to do is take my current set-up, and modify it so that it will run a total of three websites. Ideally, each would be isolated from the others. Ideally, each would have its own WordPress instance to keep admins off of each other’s websites.

I’m trying to figure out how to do this without breaking my existing website. Since none of these are for business, I don’t mind downtime. They website could be down for a whole day - no big deal. I just don’t want to have to rebuild my entire existing website.

Any advice is appreciated!

Thanks!!!

–Tony

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
Submit an Answer
1 answer

Hi there,

You could follow the steps from this video on how to host multiple WordPress websites on the same server with Apache Virtual Hosts:

Essentially, what needs to happen is:

  • Download a new copy of WordPress with the wget command:
wget wordpress.org/latest.zip
  • After that extract the files
unzip latest.zip
  • Then move the files to the /var/www/ folder:
mv wordpress /var/www/your_site.com
  • Then set the owner of the file to the Apache2 user:
chown -R www-data:www-data /var/www/your_site.com
  • After that copy the existing Apache config:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/your_site.conf
  • Then enable the new site:
sudo a2ensite
  • Run a configtest:
sudo apachectl -t
  • If you get Syntax OK reload Apache:
sudo systemctl reload apache2
  • Then create a new MySQL database and username. To create the database first access MySQL:
mysql

Then run the following queries:

CREATE DATABASE wp_site;

CREATE USER 'wp_site'@'%' IDENTIFIED BY 'use_secure_password_here';

GRANT ALL PRIVILEGES ON wp_site.* TO 'wp_site'@'%' WITH GREANT OPTION;
  • Finally, access the site via your web browser to finish the installation.

Hope that this helps.
Regards,
Bobby