2

I have an instance running on AWS, with an Apache 2, two named domains and one ip.

I managed to configure apache with both domains, ( domain1.com and domain2.com ). The first domain's docroot is pointing to /var/www/html/vh/domain1.com The second domain's docroot is pointing to /var/www/html/vh/domain2.com

This is ok.

The problem is, that I want to access /var/www/html using IP directly on the browser.

When I try to do that, I get the site hosted on domain1.com .

How can I do that??

Relevant lines from httpd.conf:

ServerName 9.9.9.9:80 DocumentRoot "/var/www/html" NameVirtualHost *:80 <VirtualHost 9.9.9.9:80> DocumentRoot /var/www/html </VirtualHost> <VirtualHost 9.9.9.9:80> DocumentRoot /var/www/html/vh/domain1.com ServerName domain1.com DirectoryIndex index.php </VirtualHost> <VirtualHost 9.9.9.9:80> DocumentRoot /var/www/html/vh/domain2.com ServerName domain2.com DirectoryIndex index.php </VirtualHost> 

If I try to access :

http://9.9.9.9 

I get the pages under /var/www/html/vh/domain1.com instead of the pages hosted at /var/www/html

What am I doing wrong?

Thx in advance!

2 Answers 2

2

Your NameVirtualHost and <VirtualHost> directives must match. This means that you must either change

NameVirtualHost *:80 

to

NameVirtualHost 9.9.9.9:80 

or else change each

<VirtualHost 9.9.9.9:80> 

to

<VirtualHost *:80> 

Also, I would recommend that the default virtualhost have the actual hostname of the server as ServerName, instead of the IP address. Since it will be default, it'll still be the one chosen when you connect using only the IP address.

1

You can check how apache interprets your config with the command apache2ctl -S. It lists all the vhosts and their order as they are currently used by apache. When accessing the server with the IP address the default server from that list will be used. You may have other vhost configurations loaded that are used.

Also the ServerName should be the fully qualified domain name of you server and not the IP address. To see the current fully qualified domain name use hostname --fqdn.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.