Apache, default website

23 posts / 0 new
Last post
#1 Wed, 05/06/2009 - 23:19
mmoxnes

Apache, default website

I found out that many has problems gettin default website to work when using virtualmin.

I found that the default website is workin for 127.0.0.1 but not for any other IP adress that you have to the box... is there anybody that has found out how to make this work?

Thu, 05/07/2009 - 00:40
duncanbbd

you need to provide more information, such as OS and virtualmin versions, domain name etc
how did you install ?

I would suspect its an installation issue somehow, or perhaps DNS problem ?

Thu, 05/07/2009 - 01:11 (Reply to #2)
mmoxnes

this problem I have had for all versions of virtualmin (GPL).
and all versions of SuSE (from 9.x until 11.1 that is now the newest) I have tried.

MY DNS is working. the problem is ther when I ask for anything else than the requested domains it always replies with the first webserver defined in virtualmin. unless I type in adress 127.0.0.1 localy on the server, if I request the interface (eth0) I always get the first defined domain

Thu, 05/07/2009 - 01:13 (Reply to #3)
mmoxnes

and the error wasn't there before I set up the first virtual domain on virtualmin.

Thu, 05/07/2009 - 04:52 (Reply to #4)
andreychek

That may be because the default VirtualHost setup in your distro us setup using something like this:

[code:1]<VirtualHost *>[/code:1]

Rather than this:

[code:1]VirtualHost x.y.z.q:80[/code:1]

Where x.y.z.q is your servers IP address.

If there's a * in there, it will really confuse things and cause the behaviour you've been seeing.

That's part of the Apache config -- I'm not sure where Suse stores it, but perhaps something like /etc/httpd/conf/httpd.conf.
-Eric

Thu, 05/07/2009 - 06:15 (Reply to #5)
Thu, 05/07/2009 - 06:41 (Reply to #6)
mmoxnes

Joe, that was the place I checked, and it didn't tell me how to fix it

Thu, 05/07/2009 - 06:54 (Reply to #7)
Joe
Joe's picture

Apache does not have a "default" website when in virtual hosting mode. You're expecting behavior that doesn't exist. Labeling something "default" doesn't make it a "default".

When Apache is in virtual hosting mode, it serves the first-best match for the request. You can make a site be more "first" by moving it to the top of the list of VirtualHost sections.

And, if you have any * VirtualHost sections, they will make the behavior so hard to predict as to be pointless to try to figure out (if you think really long and hard about it, you might come to understand how Apache is making decisions, but I don't think it's worth the effort).

--

Check out the forum guidelines!

Thu, 05/07/2009 - 06:56 (Reply to #8)
Joe
Joe's picture

<div class='quote'>and the error wasn't there before I set up the first virtual domain on virtualmin. </div>

I don't see any errors mentioned in this thread. If you see an error and don't tell us what it is and what you see in the logs, how can we possibly help?

--

Check out the forum guidelines!

Thu, 05/07/2009 - 06:59 (Reply to #9)
mmoxnes

why does the default reply when I use adress 127.0.0.1?

Thu, 05/07/2009 - 07:29 (Reply to #10)
Joe
Joe's picture

<div class='quote'>why does the default reply when I use adress 127.0.0.1? </div>

I've already explained that in virtual hosting mode, Apache serves the first-best match. A &quot;default&quot;, as you have configured, is never the best match when you have virtual hosts on the public IP addresses, so something else will always suck up the requests.

This is Apache behaving exactly as documented.

--

Check out the forum guidelines!

Thu, 05/07/2009 - 07:40 (Reply to #11)
mmoxnes

that doesn't explain why it works on 127.0.0.1 but not for 192.168.1.2

is there any difference in those 2? as far as I understand from what you say I should get the same response for both ipadresses.. or am I mistaking

Thu, 05/07/2009 - 08:28 (Reply to #12)
Joe
Joe's picture

<div class='quote'>is there any difference in those 2? as far as I understand from what you say I should get the same response for both ipadresses.. or am I mistaking</div>

There is no difference in those two IP addresses to Apache. But you're still not grasping what I'm trying to explain to you.

Apache, when in virtual hosting mode, serves the first best match based on name and IP. One 192.168.1.2, you have other first-best matches. One 127.0.0.1, you have no first best match, so it falls all the way through to the &quot;default&quot;.

If you'll just stop expecting &quot;default&quot; to have any meaning in a virtual hosting Apache configuration, you will find your life is a lot simpler. Once you have a virtual host on an IP address, &quot;default&quot; has <i>no meaning</i> to Apache (at least no useful meaning).

Re-read everything I've already written. I'm running out of ways to say the same thing. You're expecting Apache to work in ways that it does not, and is not documented to work.

To repeat myself (even more):

If you want a &quot;default&quot; site, you need to create a VirtualHost, and make sure it is first in the list of virtual servers.

You cannot expect your non-VirtualHost configured &quot;default&quot; site to ever be the first-best match when there are VirtualHosts on the same IP. It just isn't and never will be. That's not the way Apache works.

--

Check out the forum guidelines!

Thu, 05/07/2009 - 10:04 (Reply to #13)
mmoxnes

Thanks now I got it, and actually I understand what you meant this time.
so again thanks for being patient with me :)

Sun, 06/07/2009 - 07:53 (Reply to #14)
mmoxnes

thx for the answer.
the configfil for default server is:
/etc/apache2/default-server.conf:

<div class='quote'>
#
# Global configuration that will be applicable for all virtual hosts, unless
# deleted here, or overriden elswhere.
#

DocumentRoot &quot;/srv/www/htdocs&quot;

#
# Configure the DocumentRoot
#
&lt;Directory &quot;/srv/www/htdocs&quot;&gt;
# Possible values for the Options directive are &quot;None&quot;, &quot;All&quot;,
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that &quot;MultiViews&quot; must be named *explicitly* --- &quot;Options All&quot;
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs-2.2/mod/core.html#options
# for more information.
Options None
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be &quot;All&quot;, &quot;None&quot;, 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
&lt;/Directory&gt;

# Aliases: aliases can be added as needed (with no limit). The format is
# Alias fakename realname
#
# Note that if you include a trailing / on fakename then the server will
# require it to be present in the URL. So &quot;/icons&quot; isn't aliased in this
# example, only &quot;/icons/&quot;. If the fakename is slash-terminated, then the
# realname must also be slash terminated, and if the fakename omits the
# trailing slash, the realname must also omit it.
#
# We include the /icons/ alias for FancyIndexed directory listings. If you
# do not use FancyIndexing, you may comment this out.
#
Alias /icons/ &quot;/usr/share/apache2/icons/&quot;

&lt;Directory &quot;/usr/share/apache2/icons&quot;&gt;
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
&lt;/Directory&gt;

# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the realname directory are treated as applications and
# run by the server when requested rather than as documents sent to the client.
# The same rules about trailing &quot;/&quot; apply to ScriptAlias directives as to
# Alias.
#
ScriptAlias /cgi-bin/ &quot;/srv/www/cgi-bin/&quot;

# &quot;/srv/www/cgi-bin&quot; should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
&lt;Directory &quot;/srv/www/cgi-bin&quot;&gt;
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
&lt;/Directory&gt;

# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.
#
# To disable it, simply remove userdir from the list of modules in APACHE_MODULES
# in /etc/sysconfig/apache2.
#
&lt;IfModule mod_userdir.c&gt;
# Note that the name of the user directory (&quot;public_html&quot;) cannot simply be
# changed here, since it is a compile time setting. The apache package
# would have to be rebuilt. You could work around by deleting
# /usr/sbin/suexec, but then all scripts from the directories would be
# executed with the UID of the webserver.
UserDir public_html
# The actual configuration of the directory is in
# /etc/apache2/mod_userdir.conf.
Include /etc/apache2/mod_userdir.conf
# You can, however, change the ~ if you find it awkward, by mapping e.g.
# http://www.example.com/users/karl-heinz/ --&gt; /home/karl-heinz/public_html/
#AliasMatch ^/users/([a-zA-Z0-9-_.]*)/?(.*) /home/$1/public_html/$2
&lt;/IfModule&gt;

# Include all *.conf files from /etc/apache2/conf.d/.
#
# This is mostly meant as a place for other RPM packages to drop in their
# configuration snippet.
#
# You can comment this out here if you want those bits include only in a
# certain virtual host, but not here.
#
Include /etc/apache2/conf.d/*.conf

# The manual... if it is installed ('?' means it won't complain)
Include /etc/apache2/conf.d/apache2-manual?conf

</div>

and the config file http.conf

<div class='quote'>
#
# /etc/apache2/httpd.conf
#
# This is the main Apache server configuration file. It contains the
# configuration directives that give the server its instructions.
# See &lt;URL:http://httpd.apache.org/docs-2.2/&gt; for detailed information about
# the directives.

# Based upon the default apache configuration file that ships with apache,
# which is based upon the NCSA server configuration files originally by Rob
# McCool. This file was knocked together by Peter Poeml &lt;poeml+apache@suse.de&gt;.

# If possible, avoid changes to this file. It does mainly contain Include
# statements and global settings that can/should be overridden in the
# configuration of your virtual hosts.

# Quickstart guide:
# http://www.opensuse.org/Apache_Howto_Quickstart

# Overview of include files, chronologically:
#
# httpd.conf
# |
# |-- uid.conf . . . . . . . . . . . . . . UserID/GroupID to run under
# |-- server-tuning.conf . . . . . . . . . sizing of the server (how many processes to start, ...)
# |-- sysconfig.d/loadmodule.conf . . . . . [*] load these modules
# |-- listen.conf . . . . . . . . . . . . . IP adresses / ports to listen on
# |-- mod_log_config.conf . . . . . . . . . define logging formats
# |-- sysconfig.d/global.conf . . . . . . . [*] server-wide general settings
# |-- mod_status.conf . . . . . . . . . . . restrict access to mod_status (server monitoring)
# |-- mod_info.conf . . . . . . . . . . . . restrict access to mod_info
# |-- mod_usertrack.conf . . . . . . . . . defaults for cookie-based user tracking
# |-- mod_autoindex-defaults.conf . . . . . defaults for displaying of server-generated directory listings
# |-- mod_mime-defaults.conf . . . . . . . defaults for mod_mime configuration
# |-- errors.conf . . . . . . . . . . . . . customize error responses
# |-- ssl-global.conf . . . . . . . . . . . SSL conf that applies to default server _and all_ virtual hosts
# |
# |-- default-server.conf . . . . . . . . . set up the default server that replies to non-virtual-host requests
# | |--mod_userdir.conf . . . . . . . . enable UserDir (if mod_userdir is loaded)
# | `--conf.d/apache2-manual?conf . . . add the docs ('?' = if installed)
# |
# |-- sysconfig.d/include.conf . . . . . . [*] your include files
# | (for each file to be included here, put its name
# | into APACHE_INCLUDE_* in /etc/sysconfig/apache2)
# |
# `-- vhosts.d/ . . . . . . . . . . . . . . for each virtual host, place one file here
# `-- *.conf . . . . . . . . . . . . . (*.conf is automatically included)
#
#
# Files marked [*] are created from sysconfig upon server restart: instead of
# these files, you edit /etc/sysconfig/apache2

# Filesystem layout:
#
# /etc/apache2/
# |-- charset.conv . . . . . . . . . . . . for mod_auth_ldap
# |-- conf.d/
# | |-- apache2-manual.conf . . . . . . . conf that comes with apache2-doc
# | |-- mod_php4.conf . . . . . . . . . . (example) conf that comes with apache2-mod_php4
# | `-- ... . . . . . . . . . . . . . . . other configuration added by packages
# |-- default-server.conf
# |-- errors.conf
# |-- httpd.conf . . . . . . . . . . . . . top level configuration file
# |-- listen.conf
# |-- magic
# |-- mime.types -&gt; ../mime.types
# |-- mod_autoindex-defaults.conf
# |-- mod_info.conf
# |-- mod_log_config.conf
# |-- mod_mime-defaults.conf
# |-- mod_perl-startup.pl
# |-- mod_status.conf
# |-- mod_userdir.conf
# |-- mod_usertrack.conf
# |-- server-tuning.conf
# |-- ssl-global.conf
# |-- ssl.crl/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificate Revocation Lists (CRL)
# |-- ssl.crt/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificates
# |-- ssl.csr/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificate Signing Requests
# |-- ssl.key/ . . . . . . . . . . . . . . PEM-encoded RSA Private Keys
# |-- ssl.prm/ . . . . . . . . . . . . . . public DSA Parameter Files
# |-- sysconfig.d/ . . . . . . . . . . . . files that are created from /etc/sysconfig/apache2
# | |-- global.conf
# | |-- include.conf
# | `-- loadmodule.conf
# |-- uid.conf
# `-- vhosts.d/ . . . . . . . . . . . . . . put your virtual host configuration (*.conf) here
# |-- vhost-ssl.template
# `-- vhost.template

### Global Environment ######################################################
#
# The directives in this section affect the overall operation of Apache,
# such as the number of concurrent requests.

# run under this user/group id
Include /etc/apache2/uid.conf

# - how many server processes to start (server pool regulation)
# - usage of KeepAlive
Include /etc/apache2/server-tuning.conf

# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a &lt;VirtualHost&gt;
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a &lt;VirtualHost&gt;
# container, that host's errors will be logged there and not here.
ErrorLog /var/log/apache2/error_log

# generated from APACHE_MODULES in /etc/sysconfig/apache2
Include /etc/apache2/sysconfig.d/loadmodule.conf

# IP addresses / ports to listen on
Include /etc/apache2/listen.conf

# predefined logging formats
Include /etc/apache2/mod_log_config.conf

# generated from global settings in /etc/sysconfig/apache2
Include /etc/apache2/sysconfig.d/global.conf

# optional mod_status, mod_info
Include /etc/apache2/mod_status.conf
Include /etc/apache2/mod_info.conf

# optional cookie-based user tracking
# read the documentation before using it!!
Include /etc/apache2/mod_usertrack.conf

# configuration of server-generated directory listings
Include /etc/apache2/mod_autoindex-defaults.conf

# associate MIME types with filename extensions
TypesConfig /etc/apache2/mime.types
DefaultType text/plain
Include /etc/apache2/mod_mime-defaults.conf

# set up (customizable) error responses
Include /etc/apache2/errors.conf

# global (server-wide) SSL configuration, that is not specific to
# any virtual host
Include /etc/apache2/ssl-global.conf

# forbid access to the entire filesystem by default
&lt;Directory /&gt;
Options None
AllowOverride None
Order deny,allow
Deny from all
&lt;/Directory&gt;

# use .htaccess files for overriding,
AccessFileName .htaccess
# and never show them
&lt;Files ~ &quot;^\.ht&quot;&gt;
Order allow,deny
Deny from all
&lt;/Files&gt;

# List of resources to look for when the client requests a directory
DirectoryIndex index.html ndex.htm index.shtml index.cgi index.php index.php5 index.php4 index.php3 index.pl index.html.var index.aspx default.aspx

### 'Main' server configuration #############################################
#
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
# &lt;VirtualHost&gt; definition. These values also provide defaults for
# any &lt;VirtualHost&gt; containers you may define later in the file.
#
# All of these directives may appear inside &lt;VirtualHost&gt; containers,
# in which case these default settings will be overridden for the
# virtual host being defined.
#
Include /etc/apache2/default-server.conf

# Another way to include your own files
#
# The file below is generated from /etc/sysconfig/apache2,
# include arbitrary files as named in APACHE_CONF_INCLUDE_FILES and
# APACHE_CONF_INCLUDE_DIRS
Include /etc/apache2/sysconfig.d/include.conf

### Virtual server configuration ############################################
#
# 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
# &lt;URL:http://httpd.apache.org/docs-2.2/vhosts/&gt;
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
Include /etc/apache2/vhosts.d/*.conf

# Note: instead of adding your own configuration here, consider
# adding it in your own file (/etc/apache2/httpd.conf.local)
# putting its name into APACHE_CONF_INCLUDE_FILES in
# /etc/sysconfig/apache2 -- this will make system updates
# easier :)

&lt;Directory /srv/www&gt;
Options FollowSymlinks
&lt;/Directory&gt;

Include /etc/apache2/sites-enabled/
NameVirtualHost &lt;IPADRESS-OF-SERVER&gt;:80

</div>

Sun, 06/07/2009 - 07:54 (Reply to #15)
mmoxnes

thx for the answer.
the configfil for default server is:
/etc/apache2/default-server.conf:

<div class='quote'>
#
# Global configuration that will be applicable for all virtual hosts, unless
# deleted here, or overriden elswhere.
#

DocumentRoot &quot;/srv/www/htdocs&quot;

#
# Configure the DocumentRoot
#
&lt;Directory &quot;/srv/www/htdocs&quot;&gt;
# Possible values for the Options directive are &quot;None&quot;, &quot;All&quot;,
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that &quot;MultiViews&quot; must be named *explicitly* --- &quot;Options All&quot;
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs-2.2/mod/core.html#options
# for more information.
Options None
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be &quot;All&quot;, &quot;None&quot;, 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
&lt;/Directory&gt;

# Aliases: aliases can be added as needed (with no limit). The format is
# Alias fakename realname
#
# Note that if you include a trailing / on fakename then the server will
# require it to be present in the URL. So &quot;/icons&quot; isn't aliased in this
# example, only &quot;/icons/&quot;. If the fakename is slash-terminated, then the
# realname must also be slash terminated, and if the fakename omits the
# trailing slash, the realname must also omit it.
#
# We include the /icons/ alias for FancyIndexed directory listings. If you
# do not use FancyIndexing, you may comment this out.
#
Alias /icons/ &quot;/usr/share/apache2/icons/&quot;

&lt;Directory &quot;/usr/share/apache2/icons&quot;&gt;
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
&lt;/Directory&gt;

# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the realname directory are treated as applications and
# run by the server when requested rather than as documents sent to the client.
# The same rules about trailing &quot;/&quot; apply to ScriptAlias directives as to
# Alias.
#
ScriptAlias /cgi-bin/ &quot;/srv/www/cgi-bin/&quot;

# &quot;/srv/www/cgi-bin&quot; should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
&lt;Directory &quot;/srv/www/cgi-bin&quot;&gt;
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
&lt;/Directory&gt;

# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.
#
# To disable it, simply remove userdir from the list of modules in APACHE_MODULES
# in /etc/sysconfig/apache2.
#
&lt;IfModule mod_userdir.c&gt;
# Note that the name of the user directory (&quot;public_html&quot;) cannot simply be
# changed here, since it is a compile time setting. The apache package
# would have to be rebuilt. You could work around by deleting
# /usr/sbin/suexec, but then all scripts from the directories would be
# executed with the UID of the webserver.
UserDir public_html
# The actual configuration of the directory is in
# /etc/apache2/mod_userdir.conf.
Include /etc/apache2/mod_userdir.conf
# You can, however, change the ~ if you find it awkward, by mapping e.g.
# http://www.example.com/users/karl-heinz/ --&gt; /home/karl-heinz/public_html/
#AliasMatch ^/users/([a-zA-Z0-9-_.]*)/?(.*) /home/$1/public_html/$2
&lt;/IfModule&gt;

# Include all *.conf files from /etc/apache2/conf.d/.
#
# This is mostly meant as a place for other RPM packages to drop in their
# configuration snippet.
#
# You can comment this out here if you want those bits include only in a
# certain virtual host, but not here.
#
Include /etc/apache2/conf.d/*.conf

# The manual... if it is installed ('?' means it won't complain)
Include /etc/apache2/conf.d/apache2-manual?conf

</div>

and the config file http.conf

<div class='quote'>
#
# /etc/apache2/httpd.conf
#
# This is the main Apache server configuration file. It contains the
# configuration directives that give the server its instructions.
# See &lt;URL:http://httpd.apache.org/docs-2.2/&gt; for detailed information about
# the directives.

# Based upon the default apache configuration file that ships with apache,
# which is based upon the NCSA server configuration files originally by Rob
# McCool. This file was knocked together by Peter Poeml &lt;poeml+apache@suse.de&gt;.

# If possible, avoid changes to this file. It does mainly contain Include
# statements and global settings that can/should be overridden in the
# configuration of your virtual hosts.

# Quickstart guide:
# http://www.opensuse.org/Apache_Howto_Quickstart

# Overview of include files, chronologically:
#
# httpd.conf
# |
# |-- uid.conf . . . . . . . . . . . . . . UserID/GroupID to run under
# |-- server-tuning.conf . . . . . . . . . sizing of the server (how many processes to start, ...)
# |-- sysconfig.d/loadmodule.conf . . . . . [*] load these modules
# |-- listen.conf . . . . . . . . . . . . . IP adresses / ports to listen on
# |-- mod_log_config.conf . . . . . . . . . define logging formats
# |-- sysconfig.d/global.conf . . . . . . . [*] server-wide general settings
# |-- mod_status.conf . . . . . . . . . . . restrict access to mod_status (server monitoring)
# |-- mod_info.conf . . . . . . . . . . . . restrict access to mod_info
# |-- mod_usertrack.conf . . . . . . . . . defaults for cookie-based user tracking
# |-- mod_autoindex-defaults.conf . . . . . defaults for displaying of server-generated directory listings
# |-- mod_mime-defaults.conf . . . . . . . defaults for mod_mime configuration
# |-- errors.conf . . . . . . . . . . . . . customize error responses
# |-- ssl-global.conf . . . . . . . . . . . SSL conf that applies to default server _and all_ virtual hosts
# |
# |-- default-server.conf . . . . . . . . . set up the default server that replies to non-virtual-host requests
# | |--mod_userdir.conf . . . . . . . . enable UserDir (if mod_userdir is loaded)
# | `--conf.d/apache2-manual?conf . . . add the docs ('?' = if installed)
# |
# |-- sysconfig.d/include.conf . . . . . . [*] your include files
# | (for each file to be included here, put its name
# | into APACHE_INCLUDE_* in /etc/sysconfig/apache2)
# |
# `-- vhosts.d/ . . . . . . . . . . . . . . for each virtual host, place one file here
# `-- *.conf . . . . . . . . . . . . . (*.conf is automatically included)
#
#
# Files marked [*] are created from sysconfig upon server restart: instead of
# these files, you edit /etc/sysconfig/apache2

# Filesystem layout:
#
# /etc/apache2/
# |-- charset.conv . . . . . . . . . . . . for mod_auth_ldap
# |-- conf.d/
# | |-- apache2-manual.conf . . . . . . . conf that comes with apache2-doc
# | |-- mod_php4.conf . . . . . . . . . . (example) conf that comes with apache2-mod_php4
# | `-- ... . . . . . . . . . . . . . . . other configuration added by packages
# |-- default-server.conf
# |-- errors.conf
# |-- httpd.conf . . . . . . . . . . . . . top level configuration file
# |-- listen.conf
# |-- magic
# |-- mime.types -&gt; ../mime.types
# |-- mod_autoindex-defaults.conf
# |-- mod_info.conf
# |-- mod_log_config.conf
# |-- mod_mime-defaults.conf
# |-- mod_perl-startup.pl
# |-- mod_status.conf
# |-- mod_userdir.conf
# |-- mod_usertrack.conf
# |-- server-tuning.conf
# |-- ssl-global.conf
# |-- ssl.crl/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificate Revocation Lists (CRL)
# |-- ssl.crt/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificates
# |-- ssl.csr/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificate Signing Requests
# |-- ssl.key/ . . . . . . . . . . . . . . PEM-encoded RSA Private Keys
# |-- ssl.prm/ . . . . . . . . . . . . . . public DSA Parameter Files
# |-- sysconfig.d/ . . . . . . . . . . . . files that are created from /etc/sysconfig/apache2
# | |-- global.conf
# | |-- include.conf
# | `-- loadmodule.conf
# |-- uid.conf
# `-- vhosts.d/ . . . . . . . . . . . . . . put your virtual host configuration (*.conf) here
# |-- vhost-ssl.template
# `-- vhost.template

### Global Environment ######################################################
#
# The directives in this section affect the overall operation of Apache,
# such as the number of concurrent requests.

# run under this user/group id
Include /etc/apache2/uid.conf

# - how many server processes to start (server pool regulation)
# - usage of KeepAlive
Include /etc/apache2/server-tuning.conf

# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a &lt;VirtualHost&gt;
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a &lt;VirtualHost&gt;
# container, that host's errors will be logged there and not here.
ErrorLog /var/log/apache2/error_log

# generated from APACHE_MODULES in /etc/sysconfig/apache2
Include /etc/apache2/sysconfig.d/loadmodule.conf

# IP addresses / ports to listen on
Include /etc/apache2/listen.conf

# predefined logging formats
Include /etc/apache2/mod_log_config.conf

# generated from global settings in /etc/sysconfig/apache2
Include /etc/apache2/sysconfig.d/global.conf

# optional mod_status, mod_info
Include /etc/apache2/mod_status.conf
Include /etc/apache2/mod_info.conf

# optional cookie-based user tracking
# read the documentation before using it!!
Include /etc/apache2/mod_usertrack.conf

# configuration of server-generated directory listings
Include /etc/apache2/mod_autoindex-defaults.conf

# associate MIME types with filename extensions
TypesConfig /etc/apache2/mime.types
DefaultType text/plain
Include /etc/apache2/mod_mime-defaults.conf

# set up (customizable) error responses
Include /etc/apache2/errors.conf

# global (server-wide) SSL configuration, that is not specific to
# any virtual host
Include /etc/apache2/ssl-global.conf

# forbid access to the entire filesystem by default
&lt;Directory /&gt;
Options None
AllowOverride None
Order deny,allow
Deny from all
&lt;/Directory&gt;

# use .htaccess files for overriding,
AccessFileName .htaccess
# and never show them
&lt;Files ~ &quot;^\.ht&quot;&gt;
Order allow,deny
Deny from all
&lt;/Files&gt;

# List of resources to look for when the client requests a directory
DirectoryIndex index.html ndex.htm index.shtml index.cgi index.php index.php5 index.php4 index.php3 index.pl index.html.var index.aspx default.aspx

### 'Main' server configuration #############################################
#
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
# &lt;VirtualHost&gt; definition. These values also provide defaults for
# any &lt;VirtualHost&gt; containers you may define later in the file.
#
# All of these directives may appear inside &lt;VirtualHost&gt; containers,
# in which case these default settings will be overridden for the
# virtual host being defined.
#
Include /etc/apache2/default-server.conf

# Another way to include your own files
#
# The file below is generated from /etc/sysconfig/apache2,
# include arbitrary files as named in APACHE_CONF_INCLUDE_FILES and
# APACHE_CONF_INCLUDE_DIRS
Include /etc/apache2/sysconfig.d/include.conf

### Virtual server configuration ############################################
#
# 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
# &lt;URL:http://httpd.apache.org/docs-2.2/vhosts/&gt;
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
Include /etc/apache2/vhosts.d/*.conf

# Note: instead of adding your own configuration here, consider
# adding it in your own file (/etc/apache2/httpd.conf.local)
# putting its name into APACHE_CONF_INCLUDE_FILES in
# /etc/sysconfig/apache2 -- this will make system updates
# easier :)

&lt;Directory /srv/www&gt;
Options FollowSymlinks
&lt;/Directory&gt;

Include /etc/apache2/sites-enabled/
NameVirtualHost &lt;IPADRESS-OF-SERVER&gt;:80

</div>

Thu, 05/07/2009 - 07:27
Joe
Joe's picture

I've just explained that &quot;default&quot; has no meaning in an Apache configured for virtual hosting. That &quot;default.conf&quot; cannot possibly be expected to work as a &quot;default&quot; site.

Apache has two modes: Name-based virtual hosting, and single site. You are expecting it to be both. It will not be both. There is nothing we can do about this. Apache does not work that way.

If you want a &quot;default&quot; site, you need to create a VirtualHost, and make sure it is first in the list of virtual servers.

--

Check out the forum guidelines!

Sun, 11/29/2009 - 09:39
jonkristian

Would it be an idea to be able to set a site to be first then?

I think I have similar issues, i am using wpmu on domain.com so i added *.domain.com in apache and zone, however all requests to subdomains goes to a different site, the site that is first in the list.

Tue, 12/08/2009 - 08:06
everisk

I also would like to do the same thing.

How do I move up the VirtualHost to the first list in virtual servers? In which file should I take a look.

Thanks in advance.

Tue, 12/08/2009 - 08:44 (Reply to #19)
andreychek

If you're using Virtualmin Pro, there's an option to handle that in the Website Options for that Virtual Server.

In Virtualmin GPL, you can manually adjust that in the Apache config -- where that is depends on your distro. It's likely either /etc/apache2/sites-enabled/, or /etc/httpd/conf/httpd.conf.

-Eric

Tue, 12/08/2009 - 08:52
jonkristian

Ok cool, and this won't break anything? Don't know how virtualmin reads the configuration files, but I am a tad bit afraid of editing stuff manually because of just that.

Tue, 12/08/2009 - 09:50
andreychek

Well, there's no harm in backing up your config file before making changes to it :-)

If you have any doubts at all, I'd always recommend making backups (and you probably make backups even when you don't have doubts ;-)

That said -- it doesn't matter from Virtualmin's point of view. You're certainly welcome to re-order them.

-Eric

Fri, 12/11/2009 - 22:33
everisk

oh .. I'm on Ubuntu and because I'm not used to Linux, could you please walk me through? I went into /etc/apache2/sites-enabled/ and found a bunch of conf files. Do i have to rename the conf file of the website I want to make it becomes first? Then how do I make sure that Apache will read the new file? (I dont have /etc/httpd/conf/httpd.conf)

Thanks!

Topic locked