|
Apache HTTP Server
Starting Apache
On Windows, Apache is normally run as a service on Windows NT, or as a console application
on Windows 95. This does not apply in its full extend for the Cygwin platform. For details,
see running Apache for Windows.
On Unix, the httpd program
is run as a daemon which executes continuously in the background to handle requests. It is
possible to have Apache invoked by the Internet daemon inetd each time a
connection to the HTTP service is made using the
ServerType directive, but
this is not recommended.
If the Port 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 completed a few preliminary activities such as opening its log
files, it will launch several child processes which do the work of listening for and
answering requests from clients. The main httpd process continues to run as the
root user, but the child processes run as a less privileged user. This is controlled by
Apache's process creation
directives.
The first thing that httpd does when it is invoked is to locate and read the
configuration file httpd.conf.
The location of this file is set at compile-time, but it is possible to specify its location
at run time using the -f command-line option as in
/usr/local/apache/bin/httpd -f /usr/local/apache/conf/httpd.conf
As an alternative to invoking the httpd binary directly, a shell script called
apachectl is provided which
can be used to control the daemon process with simple commands such as apachectl start
and apachectl stop.
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
DocumentRoot directory and
the local copy of the documentation linked from that page.
If Apache suffers a fatal problem during startup, it will write a message describing the
problem either to the console or to the
ErrorLog before exiting. One of
the most common error messages is "Unable to bind to Port ...". This
message is usually caused by either:
- Trying to start the server on a privileged port when not logged in as the root user; or
- Trying to start the server when there is another instance of Apache or some other web
server already bound to the same port.
For further trouble-shooting instructions, consult the Apache
FAQ.
If you want your server to continue running after a system reboot, you should add a call to
httpd or apachectl to your system startup files (typically rc.local
or a file in an rc.N directory). This will start Apache as root. Before doing
this ensure that your server is properly configured for security and access restrictions. The apachectl
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.
Additional information about the command-line options of
httpd and
apachectl as well as other
support programs included with the server is available on the
Server and Supporting Programs page. There
is also documentation on all the modules
included with the Apache distribution and the
directives that they provide.
Comparisons of different bathroom vanity tops
and cabinets. Where to find cheap
brochure printing company and services. How to use
glucosamine sulphate for arthritis
treatment.
Apache HTTP Server
|