LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Apache2 virtual hosts confusion (https://www.linuxquestions.org/questions/linux-newbie-8/apache2-virtual-hosts-confusion-946308/)

gregmcc 05-22-2012 09:26 AM

Apache2 virtual hosts confusion
 
I've got a exercise I'm busy doing on SLES/OpenSuse where I need to setup an apache2 site called www.digitalairlines. com and 2 virtual sites hr.digitalairlines.com and marketing.digitalairlines.com

I've installed apache and got the www.digitalairlines. com going - easy enough with a index.html under /srv/www/htdocs - this works fine.

I then create a hr.conf and marketing.conf file under /etc/apache2/vhosts.d

hr.conf

Code:

<VirtualHost *:80>
    ServerAdmin webmaster@hr.digitalairlines.com
    ServerName hr.digitalairlines.com
    DocumentRoot /srv/www/vhosts/hr
    ErrorLog /var/log/apache2/hr.digitalairlines.com-error_log
    CustomLog /var/log/apache2/hr.digitalairlines.com-access_log combined

    HostnameLookups Off
    UseCanonicalName Off
    ServerSignature On

    ScriptAlias /cgi-bin/ "/srv/www/vhosts/hr/cgi-bin/"

    <Directory "/srv/www/vhosts/hr/cgi-bin">
        AllowOverride None
        Options +ExecCGI -Includes
        Order allow,deny
        Allow from all
    </Directory>

    <IfModule mod_userdir.c>
        UserDir public_html
        Include /etc/apache2/mod_userdir.conf
    </IfModule>

  <Directory "/srv/www/vhosts/hr">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all

    </Directory>

</VirtualHost>

marketing.conf
Code:

<VirtualHost *:80>
    ServerAdmin webmaster@marketing.digitalairlines.com
    ServerName marketing.digitalairlines.com

    DocumentRoot /srv/www/vhosts/marketing

    ErrorLog /var/log/apache2/marketing.digitalairlines.com-error_log
    CustomLog /var/log/apache2/marketing.digitalairlines.com-access_log combined
    HostnameLookups Off

    UseCanonicalName Off
    ServerSignature On
    ScriptAlias /cgi-bin/ "/srv/www/vhosts/marketing/cgi-bin/"

    <Directory "/srv/www/vhosts/marketing/cgi-bin">
        AllowOverride None
        Options +ExecCGI -Includes
        Order allow,deny
        Allow from all
    </Directory>

    <IfModule mod_userdir.c>
        UserDir public_html
        Include /etc/apache2/mod_userdir.conf
    </IfModule>

    <Directory "/srv/www/vhosts/marketing">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all

    </Directory>

</VirtualHost>

Default-server.conf
Code:

DocumentRoot "/srv/www/htdocs"
<Directory "/srv/www/htdocs">
        Options None
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>

Alias /icons/ "/usr/share/apache2/icons/"

<Directory "/usr/share/apache2/icons">
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>

ScriptAlias /cgi-bin/ "/srv/www/cgi-bin/"
<Directory "/srv/www/cgi-bin">
        AllowOverride None
        Options +ExecCGI -Includes
        Order allow,deny
        Allow from all
</Directory>

<IfModule mod_userdir.c>
        UserDir public_html
        Include /etc/apache2/mod_userdir.conf
</IfModule>
Include /etc/apache2/conf.d/*.conf
Include /etc/apache2/conf.d/apache2-manual?conf

If I now go to hr.digitalairlines.com and marketing.digitalairlines.com the correct index.html is displayed. However if I go to www.digitalairlines.com I see the hr web page displayed. Any ideas as to why this is occurring?

lithos 05-22-2012 11:16 AM

Hi,

in your "Default-server.conf"
define www
Code:

<VirtualHost *:80>
    ServerName www.digitalairlines.com

....
[/code]

because you don't have it, so the first "virtual" server page is served when you enter the domain "digitalairlines.com"

gregmcc 05-22-2012 01:39 PM

Thanks very much - that did the trick. I didnt know about the first virtual page being served.

chrism01 05-22-2012 06:19 PM

Use the ServerAlias directive https://httpd.apache.org/docs/2.2/mo...ml#serveralias instead.
The default should only be used if the user asks for a website you haven't defined anywhere else.


All times are GMT -5. The time now is 10:20 AM.