Question

How do i set which apache virtual host will my ip go to

Posted December 20, 2016 9.5k views
ApacheUbuntu 16.04

I follow this step How To Set Up Apache Virtual Hosts on Ubuntu 16.04

when i type example.com it’s show example.com
when i type subdomain.example.com it’s show subdomain.example.com
when i type my server ip it’s show subdomain.example.com

my problem is i want to set my server ip to show example.com or not show anything. where can i set it.

Thanks.

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.

×
1 answer

Default virtual host will be the first loaded one. If you have multiple virtual hosts in same file, first from file will be default. If you have them in multiple files, VHost in first file will be default.

File are sorted alphabetical, with files starting with digit having highest priority:

Example
000-default.conf an.example.com.conf example.com.conf

So let’s say you have enabled following hosts (you can see enabled hosts using ls -l /etc/apache2/sites-enabled):

Sample Output
an.example.com.conf example.com.conf

You want example.com to be default but it isn’t.
Disable it using a2dissite:

  • sudo a2dissite example.com

Now rename it so it comes before an.example.com:

  • sudo mv /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/000-example.com.conf

Enable it once again and restart Apache:

  • sudo a2ensite 000-example.com
  • sudo systemctl restart apache2

Try to visit site via IP, it should be working correctly this time.

  • Is there a way to access an alternate virtual domain by way of just a path? I just changed some DNS to move to a different droplet - and I want to migrate the database between admin panels / but now I don’t have a clean way to get to the old admin panel.

Submit an Answer