apache_example_httpd_conf_file

This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.



Subject: Re: virtual hosting
From: "Eddie Strohmier" <estroh@bonwell.com>
Date: Thu, 1 Jun 2000 11:49:17 -0500


On Wed, 31 May 2000, Steve Curry wrote:

>> > I have a couple of questions first...

>> > 1. When you say virtual hosting do you mean like
>> > multiple web domains and email?

>> > 2. If you answered yes to 1 then are you planning on
>> > doing IP or name based virtual web hosting?

>> > Let me know and I'll tell you what I know...

Scott Skrogstad [mailto:scott@coiinc.com] wrote: 

>> I am going to do just virtural web domains.  I already have a virtual
>> email domain server.  I would like to do it named based.  I don't want to
>> keep using up my IP's.

"Steve Curry" <scurry@nonstopnet.net> wrote:

>>   I'll send you a copy of my Apache httpd.conf file to
>> show you how it's done tonight. I'm seriously snowed
>> under at the moment but I'll send you something later
>> tonight. It's actually really easy to do once you
>> information what apache wants from you (assuming your
>> running apache).  http://www.apache.org also has some
>> great documentation on setting up name based virtual
>> hosting so you might check that out in the mean time.

Scott Skrogstad [mailto:scott@coiinc.com] wrote: 

>> > I would like to setup a server to do some virtual
>> > hosting.  I need a document on how to do this.  The
>> > howto that I have seen are for older versions of RH.  I
>> > am using 6.1.  Has anyone tried Linuxconfig to do this
>> > or is there an easy manual way????


Eddie Strohmier wrote: 

It is very much like the older versions of RH 4.2 and above except don't
forget to add the NameVirtualHost <your-ip-address> line. See the httpd.conf
I have attached.

Content-Disposition: attachment;
	filename="virtual.txt"

login: estroh
Password:
Login incorrect

login: estroh
Password:
Last login: Mon May 29 16:08:11 from c29.bonwell.com
You have new mail.
[estroh@bonwell estroh]$ w
 11:40am  up 27 days, 18:30,  3 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU  WHAT
root     tty1     -                 7May 0  1:18m  5.81s  5.71s  -bash
estroh   tty2     -                 4May 0  1:17m  3.53s  3.29s  telnet =
reboot
estroh   pts/0    josephine.bonwel 11:40am  0.00s  0.19s  0.03s  w
[estroh@bonwell estroh]$ su
Password:
[root@bonwell estroh]# w
 11:40am  up 27 days, 18:30,  3 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU  WHAT
root     tty1     -                 7May 0  1:18m  5.81s  5.71s  -bash
estroh   tty2     -                 4May 0  1:17m  3.53s  3.29s  telnet =
reboot
estroh   pts/0    josephine.bonwel 11:40am  0.00s  0.26s  0.03s  w
[root@bonwell estroh]# cd /etc/httpd
[root@bonwell httpd]# ls
conf  logs  modules  php3.ini
[root@bonwell httpd]# cd conf
[root@bonwell conf]# ls
access.conf  httpd.conf  magic  srm.conf
[root@bonwell conf]# more httpd.conf
##
## httpd.conf -- Apache HTTP server configuration file
##

# This is the main server configuration file. See URL =
http://www.apache.org/
# for instructions.

# Do NOT simply read the instructions in here without understanding
# what they do, if you are unsure consult the online docs. You have been
# warned.

# Originally by Rob McCool

# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a =
DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are =
used.
# Please read the file README.DSO in the Apache 1.3 distribution for =
more
# details about the DSO mechanism and run `httpd -l' for the list of =
already
# built-in (statically linked and thus always available) modules in your =
httpd
# binary.
#
# Example:
# LoadModule foo_module libexec/mod_foo.so
#
# Documentation for modules is in "/home/httpd/manual/mod" in HTML =
format.

#LoadModule mmap_static_module modules/mod_mmap_static.so
LoadModule env_module         modules/mod_env.so
LoadModule config_log_module  modules/mod_log_config.so
LoadModule agent_log_module   modules/mod_log_agent.so
LoadModule referer_log_module modules/mod_log_referer.so
#LoadModule mime_magic_module  modules/mod_mime_magic.so
LoadModule mime_module        modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule status_module      modules/mod_status.so
LoadModule info_module        modules/mod_info.so
LoadModule includes_module    modules/mod_include.so
LoadModule autoindex_module   modules/mod_autoindex.so
LoadModule dir_module         modules/mod_dir.so
LoadModule cgi_module         modules/mod_cgi.so
LoadModule asis_module        modules/mod_asis.so
LoadModule imap_module        modules/mod_imap.so
LoadModule action_module      modules/mod_actions.so
#LoadModule speling_module     modules/mod_speling.so
LoadModule userdir_module     modules/mod_userdir.so
LoadModule proxy_module       modules/libproxy.so
LoadModule alias_module       modules/mod_alias.so
LoadModule rewrite_module     modules/mod_rewrite.so
LoadModule access_module      modules/mod_access.so
LoadModule auth_module        modules/mod_auth.so
LoadModule anon_auth_module   modules/mod_auth_anon.so
#LoadModule dbm_auth_module    modules/mod_auth_dbm.so
LoadModule db_auth_module     modules/mod_auth_db.so
LoadModule digest_module      modules/mod_digest.so
#LoadModule cern_meta_module   modules/mod_cern_meta.so
LoadModule expires_module     modules/mod_expires.so
LoadModule headers_module     modules/mod_headers.so
LoadModule usertrack_module   modules/mod_usertrack.so
#LoadModule example_module     modules/mod_example.so
#LoadModule unique_id_module   modules/mod_unique_id.so
LoadModule setenvif_module    modules/mod_setenvif.so

# Extra Modules
#LoadModule php_module         modules/mod_php.so
#LoadModule php3_module        modules/libphp3.so
#LoadModule perl_module        modules/libperl.so

#  Reconstruction of the complete module list from all available modules
#  (static and shared ones) to achieve correct module execution order.
#  [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]
ClearModuleList
#AddModule mod_mmap_static.c
AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_log_agent.c
AddModule mod_log_referer.c
#AddModule mod_mime_magic.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_info.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
#AddModule mod_speling.c
AddModule mod_userdir.c
AddModule mod_proxy.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_auth_anon.c
#AddModule mod_auth_dbm.c
AddModule mod_auth_db.c
AddModule mod_digest.c
#AddModule mod_cern_meta.c
AddModule mod_expires.c
AddModule mod_headers.c
AddModule mod_usertrack.c
#AddModule mod_example.c
#AddModule mod_unique_id.c
AddModule mod_so.c
AddModule mod_setenvif.c

# Extra Modules
#AddModule mod_php.c
#AddModule mod_php3.c
#AddModule mod_perl.c

# ServerType is either inetd, or standalone.

ServerType standalone

# If you are running from inetd, go to "ServerAdmin".

# Port: The port the standalone listens to. For ports < 1023, you will
# need httpd to be run as root initially.

Port 80

# HostnameLookups: Log the names of clients or just their IP numbers
#   e.g.   www.apache.org (on) or 204.62.129.132 (off)
# The default is off because it'd be overall better for the net if =
people
# had to knowingly turn this feature on.

HostnameLookups off

# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.

# User/Group: The name (or #number) of the user/group to run httpd as.
#  On SCO (ODT 3) use User nouser and Group nogroup
#  On HPUX you may not be able to use shared memory as nobody, and the
#  suggested workaround is to create a user www and use that user.
#  NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
#  when the value of (unsigned)Group is above 60000;
#  don't use Group nobody on these systems!

User nobody
Group nobody

# ServerAdmin: Your address, where problems with the server should be
# e-mailed.

ServerAdmin root@localhost

# ServerRoot: The directory the server's config, error, and log files
# are kept in.
# NOTE!  If you intend to place this on a NFS (or otherwise network)
# mounted filesystem then please read the LockFile documentation,
# you will save yourself a lot of trouble.

ServerRoot /etc/httpd

# BindAddress: You can support virtual hosts with this option. This =
option
# is used to tell the server which IP address to listen to. It can =
either
# contain "*", an IP address, or a fully qualified Internet domain name.
# See also the VirtualHost directive.

#BindAddress *

# ErrorLog: The location of the error log file. If this does not start
# with /, ServerRoot is prepended to it.

ErrorLog logs/error_log

# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.

LogLevel warn

# The following directives define some format nicknames for use with
# a CustomLog directive (see below).

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" =
combine
d
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

# The location of the access logfile (Common Logfile Format).
# If this does not start with /, ServerRoot is prepended to it.

CustomLog logs/access_log common

# If you would like to have an agent and referer logfile uncomment the
# following directives.

#CustomLog logs/referer_log referer
#CustomLog logs/agent_log agent

# If you prefer a single logfile with access, agent and referer =
information
# (Combined Logfile Format) you can use the following directive.

#CustomLog logs/access_log combined

# PidFile: The file the server should log its pid to
PidFile /var/run/httpd.pid

# ScoreBoardFile: File used to store internal server process =
information.
# Not all architectures require this.  But if yours does (you'll know =
because
# this file is created when you run Apache) then you *must* ensure that
# no two invocations of Apache share the same scoreboard file.
ScoreBoardFile /var/run/httpd.scoreboard

# The LockFile directive sets the path to the lockfile used when Apache
# is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
# USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at
# its default value. The main reason for changing it is if the logs
# directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
# DISK. The PID of the main server process is automatically appended to
# the filename.
#
#LockFile /var/lock/httpd.lock

# ServerName allows you to set a host name which is sent back to clients =
for
# your server if it's different than the one the program would get (i.e. =
use
# "www" instead of the host's real name).
#
# Note: You cannot just invent host names and hope they work. The name =
you
# define here must be a valid DNS name for your host. If you don't =
understand
# this, ask your network administrator.

#ServerName new.host.name

# UseCanonicalName:  (new for 1.3)  With this setting turned on, =
whenever
# Apache needs to construct a self-referencing URL (a url that refers =
back
# to the server the response is coming from) it will use ServerName and
# Port to form a "canonical" name.  With this setting off, Apache will
# use the hostname:port that the client supplied, when possible.  This
# also affects SERVER_NAME and SERVER_PORT in CGIs.
UseCanonicalName on

# CacheNegotiatedDocs: By default, Apache sends Pragma: no-cache with =
each
# document that was negotiated on the basis of content. This asks proxy
# servers not to cache the document. Uncommenting the following line =
disables
# this behavior, and proxies will be allowed to cache the documents.

#CacheNegotiatedDocs

# Timeout: The number of seconds before receives and sends time out

Timeout 300

# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.

KeepAlive On

# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We reccomend you leave this number high, for maximum performance.

MaxKeepAliveRequests 100

# KeepAliveTimeout: Number of seconds to wait for the next request

KeepAliveTimeout 15

# Server-pool size regulation.  Rather than making you guess how many
# server processes you need, Apache dynamically adapts to the load it
# sees --- that is, it tries to maintain enough server processes to
# handle the current load, plus a few spare servers to handle transient
# load spikes (e.g., multiple simultaneous requests from a single
# Netscape browser).

# It does this by periodically checking how many servers are waiting
# for a request.  If there are fewer than MinSpareServers, it creates
# a new spare.  If there are more than MaxSpareServers, some of the
# spares die off.  These values are probably OK for most sites ---

MinSpareServers 8
MaxSpareServers 20

# Number of servers to start --- should be a reasonable ballpark figure.

StartServers 10

# Limit on total number of servers running, i.e., limit on the number
# of clients who can simultaneously connect --- if this limit is ever
# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.
# It is intended mainly as a brake to keep a runaway server from taking
# Unix with it as it spirals down...

MaxClients 150

# MaxRequestsPerChild: the number of requests each child process is
#  allowed to process before the child dies.
#  The child will exit so as to avoid problems after prolonged use when
#  Apache (and maybe the libraries it uses) leak.  On most systems, this
#  isn't really needed, but a few (such as Solaris) do have notable =
leaks
#  in the libraries.

MaxRequestsPerChild 100

# Proxy Server directives. Uncomment the following line to
# enable the proxy server:

#ProxyRequests On

# To enable the cache as well, edit and uncomment the following lines:

#CacheRoot /var/cache/httpd
#CacheSize 5
#CacheGcInterval 4
#CacheMaxExpire 24
#CacheLastModifiedFactor 0.1
#CacheDefaultExpire 1
#NoCache a_domain.com another_domain.edu joes.garage_sale.com

# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, in addition to the default. See also the VirtualHost command

#Listen 3000
#Listen 12.34.56.78:80

# VirtualHost: Allows the daemon to respond to requests for more than =
one
# server address, if your server machine is configured to accept IP =
packets
# for multiple addresses. This can be accomplished with the ifconfig
# alias flag, or through kernel patches like VIF.

# Any httpd.conf or srm.conf directive may go into a VirtualHost =
command.
# See also the BindAddress entry.

#<VirtualHost host.some_domain.com>
#ServerAdmin webmaster@host.some_domain.com
#DocumentRoot /www/docs/host.some_domain.com
#ServerName host.some_domain.com
#ErrorLog logs/host.some_domain.com-error_log
#TransferLog logs/host.some_domain.com-access_log
#</VirtualHost>

NameVirtualHost 12.15.105.5
<VirtualHost www.bonwell.com>
ServerAdmin webmaster@bonwell.com
DocumentRoot /home/httpd/html
ServerName www.bonwell.com
ErrorLog logs/error_log
TransferLog logs/access_log
</VirtualHost>

<VirtualHost www.supersoftball.com>
ServerAdmin chasteen@supersoftball.com
DocumentRoot /www/docs/www.supersoftball.com
ServerName www.supersoftball.com
ErrorLog logs/www.supersoftball.com-error_log
TransferLog logs/www.supersoftball.com-access_log
</VirtualHost>

<VirtualHost www.bakeovens.com>
ServerAdmin webmaster@bakeovens.com
DocumentRoot /www/docs/www.bakeovens.com
ServerName www.bakeovens.com
ErrorLog logs/www.bakeovens.com-error_log
TransferLog logs/www.bakeovens.com-access_log
</VirtualHost>

<VirtualHost www.acsc1.com>
ServerAdmin webmaster@acsc1.com
DocumentRoot /www/docs/www.acsc1.com
ServerName www.acsc1.com
ErrorLog logs/www.acsc1.com-error_log
TransferLog logs/www.acsc1.com-access_log
</VirtualHost>

<VirtualHost www.stmichaelschool.com>
ServerAdmin webmaster@stmichaelschool.com
DocumentRoot /www/docs/www.stmichaelschool.com
ServerName www.stmichaelschool.com
ErrorLog logs/www.stmichaelschool.com-error_log
TransferLog logs/www.stmichaelschool.com-access_log
</VirtualHost>

<VirtualHost www.whitewatervalley.com>
ServerAdmin webmaster@whitewatervalley.com
DocumentRoot /www/docs/www.whitewatervalley.com
ServerName www.whitewatervalley.com
ErrorLog logs/www.whitewatervalley.com-error_log
TransferLog logs/www.whitewatervalley.com-access_log
</VirtualHost>

<VirtualHost www.stmichaelparish.com>
ServerAdmin webmaster@stmichaelparish.com
DocumentRoot /www/docs/www.stmichaelparish.com
ServerName www.stmichaelparish.com
ErrorLog logs/www.stmichaelparish.com-error_log
TransferLog logs/www.stmichaelparish.com-access_log
</VirtualHost>
[root@bonwell conf]#
[root@bonwell conf]#
[root@bonwell conf]#
[root@bonwell conf]#
[root@bonwell conf]#
[root@bonwell conf]# exit
exit
[estroh@bonwell estroh]$ logout

===


the rest of The Pile (a partial mailing list archive)

doom@kzsu.stanford.edu