Question

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

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


Submit an answer


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

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.

Bobby Iliev
Site Moderator
Site Moderator badge
April 3, 2021
Accepted 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

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Featured on Community

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more