How To Set Up Multiple Sites on Apache?

  • Posted January 22, 2015


im using ubuntu 12.04 + LAMP and trying to put it my websites

i read this article and i completed to Virtual Host Configuration

but i dont know how to set up my domains to digital ocean

for examle : is my server ip and i add different 2 domains like , on Digital Ocean Cp panner and i changed my domains name server as NS1.digitalocean…

and then how to set up A or CNAME record of domains?

just put the same ip like A - @ -> and A - WWW - on 2 domains?


I know your question is old by now and I hope you found your answer but for people coming after me this is how you do it.

You should have followed all of the instructions to set up LAMP on your droplet and I’m using Ubuntu so this may or may not be different on other OSs.

SSH to your droplet and cd /etc/apache2 and you should see two folders:

sites-available/ sites-enabled/

If you look in sites-enabled you will see a link to the 000-default.conf file in the sites-available folder. When you look in the sites-available folder you see the 000-default.conf and the default-ssl.conf so obviously the ssl version is for the HTTPS site and the 000-default is for the HTTP version.

Depending on which type of site you are trying to configure (I’m assuming HTTP) run this command:

sudo cp 000-default.conf …/sites-enabled/mySite.conf

Then use nano to edit the file for the domain you are trying to set up. The default configuration puts your web content in /var/www/html so in my example I might set that to /var/mySite/html then go out and create those directories so they exist.

*The reason I’d put my site’s main directory at the same level as www is so I could add files outside of all web-accessible directories that were specific to the site. If it was at the ‘html’ level there is more risk for other domains on the site if one were compromised. (arguable but that’s my reasoning)

Check the permissions on var/www/html and make your new directory match and your setup should be complete. I’m still configuring mine so I’m about 95% confident that this is all you have to do, I will update if I’m wrong.

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

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.

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:
  • After that extract the files
  • Then move the files to the /var/www/ folder:
mv wordpress /var/www/
  • Then set the owner of the file to the Apache2 user:
chown -R www-data:www-data /var/www/
  • 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:

Then run the following queries:


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

  • Finally, access the site via your web browser to finish the installation.

Hope that this helps. Regards, Bobby

just put the same ip like A - @ -> and A - WWW - on 2 domains?

Yes. I would create the following records:

@ A www CNAME @

The only difference being the use of a CNAME instead of an A record for your www subdomain. This way should you ever need to point your domain to a different IP you will only have to change the @ record for each domain.