Question
How to set the default virtual host on Apache 2?
I have the WordPress one click install app image and I need to fix some problems with the default server.
I have two sites enabled. Let’s call them site-a and site-b with the requisite config files at /etc/apache2/sites-available/site-a.conf and site-b.conf. Both sites are enabled so symlinks to these files appear at /etc/apache2/sites-enabled/
Both sites are running as they should except for one big problem - apache is closing one of the two sites to be the “default” site at random and it’s choosing exactly the one I don’t want.
Nothing I’ve tried is fixing this. I thought that I just needed to put in the top line of the site I want to be the default this: “ <VirtualHost _default_:80>” but it isn’t working.
What do I have to do here?
Here are my two config files, nothing special.
Site A:
<VirtualHost *:80>
ServerName site-a.com
ServerAlias site-a.com www.site-a.com
ServerAdmin webmaster@site-a.com
DocumentRoot /var/www/html/site-a.com
<Directory /var/www/html/site-a.com>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/site-a_error.log
CustomLog ${APACHE_LOG_DIR}/site-a_access.log combined
</VirtualHost>
Site B:
<VirtualHost *:80>
ServerName secondary.site-a.com
ServerAdmin webmaster@secondary.site-a.com
DocumentRoot /var/www/html/site-b.com
<Directory /var/www/html/site-b.com>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/site-b_error.log
CustomLog ${APACHE_LOG_DIR}/site-b_access.log combined
</VirtualHost>
Now all I want is for the server to serve up Site A when in doubt. I only want it to serve up Site B when somebody enters exactly http://secondary.site-a.com or http://secondary.site-a.com/some/url/at/subodain/secondary
The problem is it’s doing the opposite. How do I fix this?
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.
×
HI,
Do you have a file named
secondary.site-a.com
inapache2/sitesenabled
?Also when you say “when in doubt” do you mean you would like your server site-a.com to be redirected to as long as someone chooses
anything.site-a.com
other thansecondary.site-a.com
?“Do you have a file named secondary.site-a.com in apache2/sitesenabled ?”
Yes.
“Also when you say "when in doubt” do you mean you would like your server site-a.com to be redirected to as long as someone chooses anything.site-a.com other than secondary.site-a.com?“
I mean when somebody visits anything besides http://secondary.site-a.com or http://secondary.site-a.com/some/url/of/this/subdomain I do NOT want that site to be displayed for any reason. This includes visiting the IP address http://123.123.123.123