[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1924
  • Last Modified:

Vhosts driving me nuts in Gentoo

gentoo vhosts.d # apache2 -v
Server version: Apache/2.0.55
Server built: Mar 1 2006 00:17:37

I have been trying to get my vhosts working all day to no avail, I would like to have my websites setup like this.

http://helpdesk.domain.com/cgi-bin/pdesk.cgi --> /var/www/localhost/htdocs
http://facilities.domain.com/cgi-bin/pdesk.cgi --> /var/www/facilities/htdocs

Here is the output from apache2 -S

gentoo www # apache2 -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server facilities.domain.com (/etc/apache2/vhosts.d/facilities.conf:1)
port 80 namevhost facilities.domain.com (/etc/apache2/vhosts.d/facilities.conf:1)
port 80 namevhost helpdesk.domain.com (/etc/apache2/vhosts.d/helpdesk.conf:1)
Syntax OK

I have setup my vhosts in different files under /etc/apache2/vhosts/

Here are my vhosts starting with the default.

00_default_vhost.conf
------------------------------------------------------------------------------------------------------------------

NameVirtualHost *:80
<IfDefine DEFAULT_VHOST>
<VirtualHost *:80>
DocumentRoot "/var/www/localhost/htdocs"
<Directory "/var/www/localhost/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<IfModule peruser.c>
ServerEnvironment apache apache
MinSpareProcessors 4
MaxProcessors 20
</IfModule>
</VirtualHost>
</IfDefine>


--------------------------------------------------------------------------------------------------------------------------
facilities.conf
--------------------------------------------------------------------------------------------------------------------------
<VirtualHost *:80>
DocumentRoot /var/www/facilities/htdocs
ServerName facilities.domain.com
</VirtualHost>
--------------------------------------------------------------------------------------------------------------------------
helpdesk.conf
--------------------------------------------------------------------------------------------------------------------------
<VirtualHost *:80>
DocumentRoot /var/www/localhost/htdocs
ServerName helpdesk.domain.com
</VirtualHost>
---------------------------------------------------------------------------------------------------------------------------

Here is my httpd.conf

---------------------------------------------------------------------------------------------------------------------------
ServerRoot "/usr/lib/apache2"
<IfModule !perchild.c>
</IfModule>
PidFile "/var/run/apache2.pid"
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
<IfModule perchild.c>
NumServers 5
StartThreads 5
MinSpareThreads 5
MaxSpareThreads 10
MaxThreadsPerChild 20
MaxRequestsPerChild 0
</IfModule>
<IfModule peruser.c>
ServerLimit 256
MaxClients 256
MinSpareProcessors 2
MaxProcessors 10
MaxRequestsPerChild 1000
ExpireTimeout 1800
Multiplexer nobody nobody
Processor apache apache
</IfModule>
Listen 80
LoadModule access_module modules/mod_access.so
LoadModule auth_module modules/mod_auth.so
LoadModule auth_anon_module modules/mod_auth_anon.so
LoadModule auth_dbm_module modules/mod_auth_dbm.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule charset_lite_module modules/mod_charset_lite.so
LoadModule env_module modules/mod_env.so
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule cgid_module modules/mod_cgid.so
LoadModule suexec_module modules/mod_suexec.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
<IfDefine USERDIR>
LoadModule userdir_module modules/mod_userdir.so
</IfDefine>
<IfDefine INFO>
LoadModule info_module modules/mod_info.so
LoadModule status_module modules/mod_status.so
</IfDefine>
LoadModule actions_module modules/mod_actions.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule include_module modules/mod_include.so
<IfDefine PROXY>
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
</IfDefine>
Include /etc/apache2/modules.d/*.conf
User apache
Group apache
ServerAdmin is@domain.com
ServerName 207.243.92.152
UseCanonicalName Off
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<IfModule mod_userdir.c>
UserDir public_html
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
</IfModule>
DirectoryIndex index.html index.html.var
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
TypesConfig /etc/mime.types
DefaultType text/plain
<IfModule mod_mime_magic.c>
MIMEMagicFile /etc/apache2/magic
</IfModule>
HostnameLookups Off
ErrorLog logs/error_log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
LogFormat "%v %h %l %u %t \"%r\" %>s %b %T" script
LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" VLOG=%{VLOG}e" vhost
CustomLog logs/access_log common
ServerTokens Prod
ServerSignature On
Alias /icons/ "/var/www/localhost/icons/"
<Directory "/var/www/localhost/icons/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ /var/www/localhost/cgi-bin/
<IfModule mod_cgid.c>
</IfModule>
<Directory "/var/www/localhost/cgi-bin/">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<IfModule mod_autoindex.c>
IndexOptions FancyIndexing VersionSort
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README.html
HeaderName HEADER.html
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t .svn
</IfModule>
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
ForceLanguagePriority Prefer Fallback
AddDefaultCharset ISO-8859-1
AddCharset ISO-8859-1 .iso8859-1 .latin1
AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
AddCharset ISO-8859-3 .iso8859-3 .latin3
AddCharset ISO-8859-4 .iso8859-4 .latin4
AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb
AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk
AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb
AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5 .Big5 .big5
AddCharset WINDOWS-1251 .cp-1251 .win-1251
AddCharset CP866 .cp866
AddCharset KOI8-r .koi8-r .koi8-ru
AddCharset KOI8-ru .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8 .utf8
AddCharset GB2312 .gb2312 .gb
AddCharset utf-7 .utf7
AddCharset utf-8 .utf8
AddCharset big5 .big5 .b5
AddCharset EUC-TW .euc-tw
AddCharset EUC-JP .euc-jp
AddCharset EUC-KR .euc-kr
AddCharset shift_jis .sjis
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddHandler type-map var
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully
<IfDefine INFO>
ExtendedStatus On
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from localhost
</Location>
</IfDefine>
<IfDefine INFO>
<Location /server-info>
SetHandler server-info
Order deny,allow
Deny from all
Allow from localhost
</Location>
</IfDefine>
Include /etc/apache2/vhosts.d/*.conf

---------------------------------------------------------------------------------------------------------------------------
0
datatronics
Asked:
datatronics
  • 4
  • 2
  • 2
1 Solution
 
datatronicsAuthor Commented:
When I go to either website I always get helpdesk.domain.com
0
 
sleep_furiouslyCommented:
I don't see anything obviously wrong with the config you show.  Silly question:  has Apache been restarted since your latest config changes?

Another thing that might help you diagnose what is going on is to set "UseCanonicalName On" to see which hostname it thinks it has matched ...
0
 
datatronicsAuthor Commented:
helpdesk.domain.com is still pulling up /var/www/helpdesk.domain.com/htdocs
facilities does nothing more than resovlve the helpdesk.domain.com data


gentoo ~ # apache2 -S
[Sun Apr 30 15:08:50 2006] [error] VirtualHost 207.243.92.152:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Sun Apr 30 15:08:50 2006] [error] VirtualHost 207.243.92.152:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Sun Apr 30 15:08:50 2006] [error] VirtualHost 207.243.92.152:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
VirtualHost configuration:
207.243.92.152:*       is a NameVirtualHost
         default server gentoo (/etc/apache2/vhosts.d/vhost.conf:3)
         port 80 namevhost gentoo (/etc/apache2/vhosts.d/vhost.conf:3)
         port 80 namevhost facilities.domain.com (/etc/apache2/vhosts.d/vhost.conf:18)
         port 80 namevhost helpdesk.domain.com (/etc/apache2/vhosts.d/vhost.conf:32)
Syntax OK

Modified vhost.conf
##################################################################
NameVirtualHost 207.243.92.152

<VirtualHost 207.243.92.152:80>
        ServerName gentoo
        DocumentRoot /var/www/localhost/htdocs
        ErrorLog /var/www/localhost/logs/error_log
        CustomLog /var/www/localhost/logs/access_log combined
        Alias /admin /var/www/localhost/htdocs/phpmyadmin
                <Directory /var/www/home/htdocs>
                        AllowOverride FileInfo Options
                        <IfModule mod_access.c>
                                Deny from all
                                Allow from all
                        </IfModule>
                </Directory>
</VirtualHost>

<VirtualHost 207.243.92.152:80>
        ServerName facilities.domain.com
        ServerAlias *.facilities.domain.com
        DocumentRoot /var/www/facilities.domain.com/htdocs
        ErrorLog /var/www/facilities.domain.com/logs/error_log
        CustomLog /var/www/facilities.domain.com/logs/access_log combined
      <Directory /var/www/facilities.domain.com.com/htdocs>
                <IfModule mod_access.c>
                        Order allow,deny
                        Allow from all
                </IfModule>
        </Directory>
</VirtualHost>

<VirtualHost 207.243.92.152:80>
        ServerName helpdesk.domain.com
        ServerAlias *.helpdesk.domain.com
        DocumentRoot /var/www/helpdesk.domain.com/htdocs
        ErrorLog /var/www/helpdesk.domain.com/logs/error_log
        CustomLog /var/www/helpdesk.domain.com/logs/access_log combined
        <Directory /var/www/helpdesk.domain.com/htdocs>
                AllowOverride Options FileInfo
             <IfModule mod_access.c>
                        Order allow,deny
                        Allow from all
                </IfModule>
        </Directory>
        <Directory /media/music/>
                 Options +Indexes
        </Directory>
</VirtualHost>
###############################################################################

0
Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

 
sleep_furiouslyCommented:
Those errors you are now showing will probably go away if you change:

   NameVirtualHost 207.243.92.152

To:

   NameVirtualHost 207.243.92.152:80

Still not sure about your original problem though.
0
 
datatronicsAuthor Commented:
Still not working
0
 
jack_p50Commented:
I'll give you my working config (similar tasks), see what can you do from it.
First of all, /etc/apache2/httpd.conf has these lines in the end:
#
# Gentoo VHosts
#
# For Gentoo we include External Virtual Hosts Files.
# Please see vhosts.d/00_default_vhost.conf for the default virtual host.
#
Include /etc/apache2/vhosts.d/*.conf

there are several files for vhosts, i'll give two examples:
/etc/apache2/vhosts.d/12_www.oceanography.ru.conf:
<VirtualHost *:80>
    DocumentRoot "/var/www/www.oceanography.ru/htdocs"
    ServerName www.oceanography.ru

    AccessFileName .htaccess
    <Files ~ "^\.ht">
        Order allow,deny
        Deny from all
        Satisfy All
    </Files>

    <Directory "/var/www/www.oceanography.ru/htdocs">
        Options Indexes FollowSymLinks Includes
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

  <IfModule peruser.c>
    # this must match a Processor
    ServerEnvironment apache apache

        # these are optional - defaults to the values specified in httpd.conf
    MinSpareProcessors 4
    MaxProcessors 20
  </IfModule>
</VirtualHost>

/etc/apache2/vhosts.d/30_heilong.oceanography.ru.conf:
<VirtualHost *:80>
    DocumentRoot "/var/www/heilong.oceanography.ru/htdocs"
    ServerName heilong.oceanography.ru

    <Files ~ "^(\.conf|.*\.inc\.php)">
        Order allow,deny
        Deny from all
        Satisfy All
    </Files>

    <Directory "/var/www/heilong.oceanography.ru/htdocs">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
  <IfModule peruser.c>
    # this must match a Processor
    ServerEnvironment apache apache

        # these are optional - defaults to the values specified in httpd.conf
    MinSpareProcessors 4
    MaxProcessors 20
  </IfModule>
</VirtualHost>

P.S. You're better off asking this question on forums.gentoo.org (lots of helpful gentoo-savvy folks there) or you
can file a bug on gentoo's bugzilla if you feel your config is correct.
0
 
datatronicsAuthor Commented:
Thanks jack_p50,

I have a file in my /etc/apache2/vhost.d/ directory, it was there by default called 00_default_vhost.conf.old do you have this as well? If so do you mind displaying that for me? It has a default vhost that I am not to sure about. Thanks for the suggestion for the forums at Gentoo I have a question concerning this there as well but I am getting more help from the people here so kudos goes to EE.
0
 
jack_p50Commented:
Here you go, datatronics:

### Section 3: Virtual Hosts
#
# VirtualHost: If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs-2.0/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog @rel_logfiledir@/dummy-host.example.com-error_log
#    CustomLog @rel_logfiledir@/dummy-host.example.com-access_log common
#</VirtualHost>


#
# The First Virtual Host is also your DEFAULT Virtual Host.
# This means any requests that do not match any other vhosts will
# goto this virtual host.
#

<IfDefine DEFAULT_VHOST>
<VirtualHost *:80>
    #
    # DocumentRoot: The directory out of which you will serve your
    # documents. By default, all requests are taken from this directory, but
    # symbolic links and aliases may be used to point to other locations.
    #
    DocumentRoot "/var/www/localhost/htdocs"

    #
    # This should be changed to whatever you set DocumentRoot to.
    #
    <Directory "/var/www/localhost/htdocs">

        #
        # Possible values for the Options directive are "None", "All",
        # or any combination of:
        #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
        #
        # Note that "MultiViews" must be named *explicitly* --- "Options All"
        # doesn't give it to you.
        #
        # The Options directive is both complicated and important.  Please see
        # http://httpd.apache.org/docs-2.0/mod/core.html#options
        # for more information.
        #
        Options Indexes FollowSymLinks

        #
        # AllowOverride controls what directives may be placed in .htaccess files.
        # It can be "All", "None", or any combination of the keywords:
        #   Options FileInfo AuthConfig Limit
        #
        AllowOverride None

        #
        # Controls who can get stuff from this server.
        #
        Order allow,deny
        Allow from all
    </Directory>
      
    <IfModule peruser.c>
        # this must match a Processor
        ServerEnvironment apache apache
       
        # these are optional - defaults to the values specified in httpd.conf
        MinSpareProcessors 4
        MaxProcessors 20
    </IfModule>
</VirtualHost>
</IfDefine>



IIRC, I haven't changed this file at all.
my apache version and USE flags: [2.0.55] +apache2 -debug -doc -ldap -mpm-leader -mpm-peruser -mpm-prefork -mpm-threadpool +mpm-worker -no-suexec (-selinux) +ssl -static-modules +threads
0

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

  • 4
  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now