Starting Apache

Starting Apache On Windows

On Windows, Apache is normally run as a service on Windows NT, or as a console application on Windows 95. For details, see running Apache for Windows.

Starting Apache on Unix

On Unix, the httpd program is run as a daemon which executes continuously in the background to handle requests. A shell script called apachectl is provided which can be used to control the daemon process. This shell script can often be used as an init script to start httpd on system boot, or it can be called directly with the options listed below.

If the Port specified in the configuration file is the default of 80, then it is necessary to have root privileges in order to start apache. If Apache will not start and no error messages are printed to the console, be sure to check the ErrorLog for a report of the problem. See also the debugging instructions outlined in the Apache FAQ.

apachectl Command Line Options

start
Start httpd. If additional command line options need to be passed to httpd (see below), then the HTTPD variable at the top of the apachectl script should be edited to include them.
stop
Stop httpd by issuing the kill signal to the parent httpd process, whose process ID is contained in the file pointed to by the PidFile directive.
restart
Restart httpd if it is running by sending a SIGHUP signal to the parent process. If the server is not running, then it will be started. apachectl will refuse to restart the server if there is a syntax error in the configuration files (see configtest below).
graceful
Restart httpd if it is running by sending a SIGWINCH signal to the parent process. This type of restart is less disruptive to current clients. If the server is not running, then it will be started. apachectl will refuse to restart the server if there is a syntax error in the configuration files.
fullstatus
Show a screen indicating the status of the Apache processes. This option requires the presence of lynx, and for mod_status to be enabled.
status
A shorter form of the fullstatus display. This option requires the presence of lynx, and for mod_status to be enabled.
configtest
Do a syntax test of the Apache configuration files. See the httpd -t command line option below.
help
Show a help screen.

For additional information on the effects of the various apachectl options, see the documentation on stopping and restarting Apache.

httpd Command Line Options

The following options are recognized on the httpd command line:
-d directory
Set the initial value for the ServerRoot variable to directory. This can be overridden by the ServerRoot command in the configuration file. The default is /usr/local/apache on Unix, /apache on Windows and /os2httpd on OS/2.
-D name
Define a name for use in in IfDefine 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.
-f file
Execute the commands in the file on startup. If config does not begin with a /, then it is taken to be a path relative to the ServerRoot. The default is conf/httpd.conf.
-C "directive"
Process the given apache "directive" (just as if it had been part of a configuration file) before actually reading the regular configuration files.
-c "directive"
Process the given apache "directive" after reading all the regular configuration files.
-v
Print the version of httpd and its build date, and then exit.
-V
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 (e.g., -DUSE_MMAP_FILES), then exit.
-L
Give a list of directives together with expected arguments and places where the directive is valid, then exit.
-l
Give a list of all modules compiled into the server, then exit.
-h
Print a list of the httpd command line options, then exit.
-t
Test the configuration file syntax (i.e., 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 -T command instead.
To check and print a summary of the current virtual host settings, use -t -D DUMP_VHOSTS.
-T
Test the configuration file syntax (i.e., 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.
-R directory
If Apache is compiled with SHARED_CORE, then this directive can be used to specify an alternate location for shared object files.

When Apache is used under Windows, the following additional command line options are available.

-n name
Set service name and use its ServerConfigFile.
-k option
Signal Apache to restart or shutdown. option is one of "shutdown" or "restart".
-i
Install an Apache service
-u
Uninstall an Apache Service