| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
| <HTML> |
| <HEAD> |
| <TITLE>Starting Apache</TITLE> |
| </HEAD> |
| |
| <!-- Background white, links blue (unvisited), navy (visited), red (active) --> |
| <BODY |
| BGCOLOR="#FFFFFF" |
| TEXT="#000000" |
| LINK="#0000FF" |
| VLINK="#000080" |
| ALINK="#FF0000" |
| > |
| <!--#include virtual="header.html" --> |
| <H1 ALIGN="CENTER">Starting Apache</H1> |
| |
| <H2>Invoking Apache</H2> |
| |
| On Unix, the <CODE>httpd</CODE> program is usually run as a daemon |
| which executes continuously, handling requests. It is possible to |
| invoke Apache by the Internet daemon <CODE>inetd</CODE> each time a |
| connection to the HTTP service is made (use the <A |
| HREF="mod/core.html#servertype">ServerType</A> directive) but this is |
| not recommended. |
| |
| <P> |
| |
| On Windows, Apache is normally run as a service on Windows NT, or as a |
| console application on Windows 95. See also <A |
| HREF="windows.html#run">running Apache for Windows</A>. |
| |
| <H2>Command line options</H2> |
| The following options are recognized on the httpd command line: |
| <DL> |
| <DT><CODE>-d</CODE> <EM>serverroot</EM> |
| <DD>Set the initial value for the |
| <A HREF="mod/core.html#serverroot">ServerRoot</A> variable to |
| <EM>serverroot</EM>. This can be overridden by the ServerRoot command |
| in the configuration file. The default is |
| <CODE>/usr/local/apache</CODE> on Unix, <CODE>/apache</CODE> on |
| Windows and <CODE>/os2httpd</CODE> on OS/2. |
| |
| <DT><CODE>-D</CODE> <EM>name</EM> |
| <DD>Define a name for use in in |
| <A HREF="mod/core.html#ifdefine">IfDefine</A> directives. |
| This option can be used to optionally enable certain functionality in the |
| configuration file, or to use a common configuration for |
| several independent hosts, where host specific information is enclosed in |
| <IfDefine> sections. |
| |
| <DT><CODE>-f</CODE> <EM>config</EM> |
| <DD>Execute the commands in the file <EM>config</EM> on startup. If |
| <EM>config</EM> does not begin with a <CODE>/</CODE>, then it is taken to be a |
| path relative to the <A HREF="mod/core.html#serverroot">ServerRoot</A>. The |
| default is <CODE>conf/httpd.conf</CODE>. |
| |
| <DT><CODE>-C</CODE> <EM>"directive"</EM> |
| <DD>Process the given apache "directive" (just as if it had been part of a |
| configuration file) <STRONG>before</STRONG> actually reading the regular configuration files. |
| |
| <DT><CODE>-c</CODE> <EM>"directive"</EM> |
| <DD>Process the given apache "directive" <STRONG>after</STRONG> reading |
| all the regular configuration files. |
| |
| <DT><CODE>-X</CODE> |
| <DD>Run in single-process mode, for internal debugging purposes only; the |
| daemon does not detach from the terminal or fork any children. Do <EM>NOT</EM> |
| use this mode to provide ordinary web service. |
| |
| <DT><CODE>-v</CODE> |
| <DD>Print the version of httpd and its build date, and then exit. |
| |
| <DT><A NAME="version"><CODE>-V</CODE></A> |
| <DD>Print the base version of httpd, its |
| build date, and a list of compile time settings which influence the |
| behavior and performance of the apache server (<EM>e.g.</EM>, |
| <SAMP>-DUSE_MMAP_FILES</SAMP>), |
| then exit. |
| |
| <DT><A NAME="help"><CODE>-L</CODE></A> |
| <DD> |
| |
| Give a list of directives together with expected arguments and places |
| where the directive is valid, then exit. (Apache 1.3.4 and |
| later. Earlier versions used -l instead). |
| |
| |
| <DT><CODE>-l</CODE></A> |
| <DD> |
| |
| Give a list of all modules compiled into the server, then exit. |
| (Apache 1.3.4 and later. Earlier versions used -h instead).<br> |
| |
| Give a list of directives together with expected arguments and places |
| where the directive is valid, then exit. (Apache 1.2 to 1.3.3. Later |
| versions use -L instead). |
| |
| |
| |
| <DT><CODE>-h</CODE> |
| <DD> |
| |
| Print a list of the httpd options, then exit. (Apache 1.3.4 and |
| later. Earlier versions used -? instead).<br> |
| |
| Give a list of all modules compiled into the server, then exit. (Up to |
| Apache 1.3.3. Later versions use -l instead).<br> |
| |
| |
| <DT><CODE>-S</CODE> |
| <DD>Show the settings as parsed from the config file (currently only |
| shows a breakdown of the vhost settings) but do not start the |
| server. (Up to Apache 1.3.3, this option also started the server). |
| |
| <DT><CODE>-t</CODE> |
| <DD>Test the configuration file syntax (<EM>i.e.</EM>, read all configuration files |
| and interpret them) but do not start the server. If the configuration contains |
| errors, display an error message and exit with a non-zero exit status, |
| otherwise display "Syntax OK" and terminate with a zero exit status. This |
| command checks to see if all DocumentRoot entries exist and are directories. |
| For sites with many vhosts, this is expensive; consider the <CODE>-T</CODE> |
| command instead. |
| |
| <DT><CODE>-T</CODE> |
| <DD>Test the configuration file syntax (<EM>i.e.</EM>, read all configuration files |
| and interpret them) but do not start the server. If the configuration contains |
| errors, display an error message and exit with a non-zero exit status, |
| otherwise display "Syntax OK" and terminate with a zero exit status. This |
| command does not perform any checking of the DocumentRoot entries. |
| |
| <DT><CODE>-k</CODE> <EM>option</EM> |
| <DD>Windows only: signal Apache to restart or shutdown. <EM>option</EM> |
| is one of "shutdown" or "restart". (Apache 1.3.3 and later). |
| |
| <DT><CODE>-?</CODE> |
| <DD>Print a list of the httpd options, and then exit (up to Apache |
| 1.3.3. Later version use -h instead). |
| |
| </DL> |
| |
| <H2>Configuration files</H2> |
| The server will read three files for configuration directives. Any |
| directive may appear in any of these files. The the names of these |
| files are taken to be relative to the server root; this is set by the |
| <A HREF="mod/core.html#serverroot">ServerRoot</A> directive, the |
| <CODE>-d</CODE> command line flag, or (on Windows only) the registry |
| (see <A HREF="windows.html#run">Running Apache for Windows</A>). |
| |
| Conventionally, the files are: |
| <DL> |
| <DT><CODE>conf/httpd.conf</CODE> |
| <DD>Contains directives that control the operation of the server daemon. |
| The filename may be overridden with the <CODE>-f</CODE> command line flag. |
| |
| <DT><CODE>conf/srm.conf</CODE> |
| <DD>Contains directives that control the specification of documents that |
| the server can provide to clients. The filename may be overridden with |
| the <A HREF="mod/core.html#resourceconfig">ResourceConfig</A> directive. |
| |
| <DT><CODE>conf/access.conf</CODE> |
| <DD>Contains directives that control access to documents. |
| The filename may be overridden with the |
| <A HREF="mod/core.html#accessconfig">AccessConfig</A> directive. |
| </DL> |
| However, these conventions need not be adhered to. |
| <P> |
| The server also reads a file containing mime document types; the filename |
| is set by the <A HREF="mod/mod_mime.html#typesconfig">TypesConfig</A> |
| directive, |
| and is <CODE>conf/mime.types</CODE> by default. |
| |
| <H2>Log files</H2> |
| <H3>security warning</H3> |
| Anyone who can write to the directory where Apache is writing a |
| log file can almost certainly gain access to the uid that the server is |
| started as, which is normally root. Do <EM>NOT</EM> give people write |
| access to the directory the logs are stored in without being aware of |
| the consequences; see the <A HREF="misc/security_tips.html">security tips</A> |
| document for details. |
| <H3>pid file</H3> |
| |
| On startup, Apache saves the process id of the parent httpd process to |
| the file <CODE>logs/httpd.pid</CODE>. This filename can be changed |
| with the <A HREF="mod/core.html#pidfile">PidFile</A> directive. The |
| process-id is for use by the administrator in restarting and |
| terminating the daemon: on Unix, a HUP or USR1 signal causes the |
| daemon to re-read its configuration files and a TERM signal causes it |
| to die gracefully; on Windows, use the -k command line option instead. |
| For more information see the <A HREF="stopping.html">Stopping and |
| Restarting</A> page. |
| |
| <P> |
| If the process dies (or is killed) abnormally, then it will be necessary to |
| kill the children httpd processes. |
| |
| <H3>Error log</H3> |
| |
| The server will log error messages to a log file, by default |
| <CODE>logs/error_log</CODE> on Unix or <CODE>logs/error.log</CODE> on |
| Windows and OS/2. The filename can be set using the <A |
| HREF="mod/core.html#errorlog">ErrorLog</A> directive; different error |
| logs can be set for different <A |
| HREF="mod/core.html#virtualhost">virtual hosts</A>. |
| |
| <H3>Transfer log</H3> |
| |
| The server will typically log each request to a transfer file, by |
| default <CODE>logs/access_log</CODE> on Unix or |
| <CODE>logs/access.log</CODE> on Windows and OS/2. The filename can be |
| set using a <A |
| HREF="mod/mod_log_config.html#transferlog">TransferLog</A> directive |
| or additional log files created with the <A |
| HREF="mod/mod_log_config.html#customlog">CustomLog</A> directive; |
| different transfer logs can be set for different <A |
| HREF="mod/core.html#virtualhost">virtual hosts</A>. |
| |
| <!--#include virtual="footer.html" --> |
| </BODY> |
| </HTML> |