| <!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> |
| |
| |
| <ul> |
| <li><a href="#windows">Starting Apache on Windows</a></li> |
| <li><a href="#unix">Starting Apache on Unix</a> |
| <ul> |
| <li><a href="#errors">Errors During Start-up</a></li> |
| <li><a href="#boot">Starting at Boot-Time</a></li> |
| <li><a href="#info">Additional Information</a></li> |
| </ul> |
| </li> |
| </ul> |
| |
| <hr> |
| |
| <h2><a name="windows">Starting Apache On Windows</a></h2> |
| |
| <p>On Windows, Apache is normally run as a service on Windows NT, or |
| as a console application on Windows 95. For details, see <A |
| HREF="platform/windows.html#run">running Apache for Windows</A>.</p> |
| |
| <h2><a name="unix">Starting Apache on Unix</a></h2> |
| |
| <p>On Unix, the <a href="programs/httpd.html">httpd</a> program is run |
| as a daemon which executes continuously in the background to handle |
| requests.</p> |
| |
| <p>If the <a href="mod/core.html#port">Port</a> specified in the |
| configuration file is the default of 80 (or any other port below |
| 1024), then it is necessary to have root privileges in order to start |
| apache, so that it can bind to this privileged port. Once the server |
| has started and performed a few preliminary activities such as opening |
| its log files, it will launch several <em>child</em> processes which |
| do the work of listening for and answering requests from clients. The |
| main <code>httpd</code> process continues to run as the root user, but |
| the child processes run as a less privileged user. This is controlled |
| by the selected <a href="mpm.html">Multi-Processing Module</a>.</p> |
| |
| <p>The first thing that <code>httpd</code> does when it is invoked is |
| to locate and read the <a href="configuring.html">configuration |
| file</a> <code>httpd.conf</code>. The location of this file is set at |
| compile-time, but it is possible to specify its location at run time |
| using the <code>-f</code> command-line option as in</p> |
| <blockquote><code> /usr/local/apache/bin/httpd -f |
| /usr/local/apache/conf/httpd.conf </code></blockquote> |
| |
| <p>As an alternative to invoking the <code>httpd</code> binary |
| directly, a shell script called <a |
| href="programs/apachectl.html">apachectl</a> is provided which can be |
| used to control the daemon process with simple commands such as |
| <code>apachectl start</code> and <code>apachectl stop</code>.</p> |
| |
| <p>If all goes well during startup, the server will detach from the |
| terminal and the command prompt will return almost immediately. |
| This indicates that the server is up and running. You can then |
| use your browser to connect to the server and view the test |
| page in the <a href="mod/core.html#documentroot">DocumentRoot</a> |
| directory and the local copy of the documentation linked from |
| that page.</p> |
| |
| <h3><a name="errors">Errors During Start-up</a></h3> |
| |
| <p>If Apache suffers a fatal problem during startup, it will write a |
| message describing the problem either to the console or to the <a |
| href="mod/core.html#errorlog">ErrorLog</a> before exiting. One of the |
| most common error messages is "<code>Unable to bind to Port |
| ...</code>". This message is usually caused by either:</p> |
| <ul> |
| <li>Trying to start the server on a privileged port when not |
| logged in as the root user; or</li> |
| <li>Trying to start the server when there is another instance |
| of Apache or some other web server already bound to the same Port.</li> |
| </ul> |
| <p>For further trouble-shooting instructions, consult the Apache <a |
| href="misc/FAQ.html">FAQ</a>.</p> |
| |
| <h3><a name="boot">Starting at Boot-Time</a></h3> |
| |
| <p>If you want your server to continue running after a system reboot, |
| you should add a call to <code>httpd</code> or <code>apachectl</code> |
| to your system startup files (typically <code>rc.local</code> or a |
| file in an <code>rc.N</code> directory). This will start Apache as |
| root. Before doing this ensure that your server is properly configured |
| for security and access restrictions. The <code>apachectl</code> |
| script is designed so that it can often be linked directly as an init |
| script, but be sure to check the exact requirements of your system.</p> |
| |
| <h3><a name="info">Additional Information</a></h3> |
| |
| <p>Additional information about the command-line options of <a |
| href="programs/httpd.html">httpd</a> and <a |
| href="programs/apachectl.html">apachectl</a> as well as other support |
| programs included with the server is available on the <a |
| href="programs/">Server and Supporting Programs</a> page. There is |
| also documentation on all the <a href="mod/">modules</a> included with |
| the Apache distribution and the <a |
| href="mod/directives.html">directives</a> that they provide.</p> |
| |
| |
| <!--#include virtual="footer.html" --> |
| </BODY> |
| </HTML> |