here is the 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
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
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
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\"" combined
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>
where should i make any change
please help
thanks