diff options
Diffstat (limited to 'docs/manual/platform/windows.html')
-rw-r--r-- | docs/manual/platform/windows.html | 559 |
1 files changed, 0 insertions, 559 deletions
diff --git a/docs/manual/platform/windows.html b/docs/manual/platform/windows.html deleted file mode 100644 index 018932e054..0000000000 --- a/docs/manual/platform/windows.html +++ /dev/null @@ -1,559 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<HTML> -<HEAD> -<TITLE>Using Apache with Microsoft Windows</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">Using Apache With Microsoft Windows</H1> - -<P>This document explains how to install, configure and run - Apache 1.3 under Microsoft Windows. Please note that at - this time, Windows support is entirely experimental, and is - recommended only for experienced users. The Apache Group does not - guarantee that this software will work as documented, or even at - all. If you find any bugs, or wish to contribute in other ways, please - use our <A HREF="http://www.apache.org/bug_report.html">bug reporting - page.</A></P> - -<P><STRONG>Warning: Apache on NT has not yet been optimized for performance. -Apache still performs best, and is most reliable on Unix platforms. Over -time we will improve NT performance. Folks doing comparative reviews -of webserver performance are asked to compare against Apache -on a Unix platform such as Solaris, FreeBSD, or Linux.</STRONG></P> - -<P> - -Most of this document assumes that you are installing Windows from a -binary distribution. If you want to compile Apache yourself (possibly -to help with development, or to track down bugs), see the section on -<A HREF="#comp">Compiling Apache for Windows</A> below. - -<HR> - -<UL> - <LI><A HREF="#req">Requirements</A> - <LI><A HREF="#down">Downloading Apache for Windows</A> - <LI><A HREF="#inst">Installing Apache for Windows (binary install)</A> - <LI><A HREF="#run">Running Apache for Windows</A> - <LI><A HREF="#use">Using Apache for Windows</A> - <LI><A HREF="#cmdline">Running Apache for Windows from the Command Line</A> - <LI><A HREF="#service">Running Apache for Windows as a Service</A> - <LI><A HREF="#signal">Signalling Console Apache when running</A> - <LI><A HREF="#signalsrv">Signalling Service Apache when running</A> - <LI><A HREF="#comp">Compiling Apache for Windows</A> -</UL> - -<HR> - -<H2><A NAME="req">Requirements</A></H2> - -Apache 1.3 is designed to run on Windows NT 4.0. The binary installer -will only work in Intel processors. Apache may also run on Windows 95, -Windows 98 and Windows NT 3.5.1, but these have not been tested. In -all cases TCP/IP networking must be installed. - -<P> - -If running on Windows 95, using the "Winsock2" upgrade is recommended -but may not be necessary. If running on NT 4.0, installing Service Pack 2 -is recommended. - -<H2><A NAME="down">Downloading Apache for Windows</A></H2> - -<P>Information on the latest version of Apache can be found on the -Apache web server at <A -HREF="http://www.apache.org/">http://www.apache.org/</A>. This will -list the current release, any more recent alpha or beta-test releases, -together with details of mirror web and anonymous ftp sites.</P> - -<P> - -You should download the version of Apache for Windows with the -<CODE>.exe</CODE> extension. This is a single file containing Apache, -ready to install and run. There may also be a <CODE>.zip</CODE> file -containing the source code, to compile Apache yourself. (If there is -no <SAMP>.zip</SAMP> file, the source will be available in a -<SAMP>.tar.gz</SAMP> file but this will contain Unix line endings. You -will have to convert at least the <SAMP>.mak</SAMP> and -<SAMP>.dsp</SAMP> files to have DOS line endings before MSVC will -understand them). - -<H2><A NAME="inst">Installing Apache for Windows</A></H2> - -Run the Apache <SAMP>.exe</SAMP> file you downloaded above. This will -ask for: - -<UL> - - <LI>the directory to install Apache into (the default is - <CODE>\Program Files\Apache Group\Apache</CODE> although you can - change this to any other directory) - - <LI>the start menu name (default is "Apache Web Server") - - <LI>the installation type. The "Typical" option installs - everything except the source code. The "Minimum" option does not - install the manuals or source code. Choose the "Custom" install if - you want to install the source code. - -</UL> - -<P> - -During the installation, Apache will configure the files in the -<SAMP>conf</SAMP> directory for your chosen installation -directory. However if any of the files in this directory already exist -they will <STRONG>not</STRONG> be overwritten. Instead the new copy of -the corresponding file will be left with the extension -<SAMP>.default</SAMP>. So, for example, if -<SAMP>conf\httpd.conf</SAMP> already exists it will not be altered, -but the version which would have been installed will be left in -<SAMP>conf\httpd.conf.default</SAMP>. After the installation has -finished you should manually check to see what in new in the -<SAMP>.default</SAMP> file, and if necessary update your existing -configuration files. - -<P> - -Also, if you already have a file called <SAMP>htdocs\index.html</SAMP> -then it will not be overwritten (no <SAMP>index.html.default</SAMP> -file will be installed either). This should mean it a safe to install -Apache over an existing installation (but you will have to stop the -existing server running before doing the installation, then start the -new one after the installation is finished). - -<P> - -After installing Apache, you should edit the configuration files in -the <SAMP>conf</SAMP> directory as required. These files will be -configured during the install ready for Apache to be run from the -directory where it was installed, with the documents served from the -subdirectory <SAMP>htdocs</SAMP>. There are lots of other options -which should be set before you start really using Apache. However to -get started quickly the files should work as installed. - -<H2><A NAME="run">Running Apache for Windows</A></H2> - -There are two ways you can run Apache: - -<UL> - <LI>As a <A HREF="#service">"service"</A> (available on NT only). This is the best option if - you want Apache to automatically start when you machine boots, and to - keep Apache running when you log-off. - - <LI>From a <A HREF="#cmdline">console window</A>. This is the only option - available for - Windows 95 users. -</UL> - -To start Apache as a service, you first need to install it as a -service. Multiple Apache services can be installed, each with a -different name and configuration. To install the default Apache -service named "Apache", run the "Install Apache as Service (NT only)" -option from the Start menu. Once this is done you can start the "Apache" -service by opening the Services window (in the Control Panel), selecting Apache, -then clicking on Start. Apache will now be running in the background. You -can later stop Apache by clicking on Stop. As an alternative to using -the Services window, you can start and stop the "Apache" service from the control -line with - -<PRE> - NET START APACHE - NET STOP APACHE -</PRE> - -See <A HREF="#signalsrv">Signalling Service Apache when Running</A> -for more information on installing and controlling Apache services. - -<P> - -To run Apache from a console window, select the "Start Apache as -console app" option from the Start menu (in Apache 1.3.4 and earlier, -this option was called "Apache Server"). This will open a console -window and start Apache running inside it. The window will remain -active until you stop Apache. To stop Apache running, either select -the "Shutdown Apache console app" icon option from the Start menu -(this is not available in Apache 1.3.4 or earlier), or see <A -HREF="#signal">Signalling Console Apache when Running</A> for how -to control Apache from the command line. - -<P> - -After starting Apache running (either in a console window or as a -service) if will be listening to port 80 (unless you changed the -<SAMP>Port</SAMP>, <SAMP>Listen</SAMP> or <SAMP>BindAddress</SAMP> -directives in the configuration files). To connect to the server and -access the default page, launch a browser and enter this URL: - -<PRE> - http://localhost/ -</PRE> - -This should respond with a welcome page, and a link to the Apache -manual. If nothing happens or you get an error, look in the -<SAMP>error_log</SAMP> file in the <SAMP>logs</SAMP> directory. -If your host isn't connected to the net, you may have to use -this URL: - -<PRE> - http://127.0.0.1/ -</PRE> - -<P> - -Once your basic installation is working, you should configure it -properly by editing the files in the <SAMP>conf</SAMP> directory. - -<H2><A NAME="use">Configuring Apache for Windows</A></H2> - -Apache is configured by files in the <SAMP>conf</SAMP> -directory. These are the same as files used to configure the Unix -version, but there are a few different directives for Apache on -Windows. See the <A HREF="./">Apache documentation</A> for all the -available directives. - -<P> - -The main differences in Apache for Windows are: - -<UL> - <LI><P>Because Apache for Windows is multithreaded, it does not use a - separate process for each request, as Apache does with - Unix. Instead there are usually only two Apache processes running: - a parent process, and a child which handles the requests. Within - the child each request is handled by a separate thread. - <P> - - So the "process"-management directives are different: - <P><A - HREF="mod/core.html#maxrequestsperchild">MaxRequestsPerChild</A> - - Like the Unix directive, this controls how many requests a - process will serve before exiting. However, unlike Unix, a - process serves all the requests at once, not just one, so if - this is set, it is recommended that a very high number is - used. The recommended default, <CODE>MaxRequestsPerChild - 0</CODE>, does not cause the process to ever exit. - <P><A HREF="mod/core.html#threadsperchild">ThreadsPerChild</A> - - This directive is new, and tells the server how many threads it - should use. This is the maximum number of connections the server - can handle at once; be sure and set this number high enough for - your site if you get a lot of hits. The recommended default is - <CODE>ThreadsPerChild 50</CODE>.</P> - <LI><P>The directives that accept filenames as arguments now must use - Windows filenames instead of Unix ones. However, because Apache - uses Unix-style names internally, you must use forward slashes, not - backslashes. Drive letters can be used; if omitted, the drive with - the Apache executable will be assumed.</P> - <LI><P>Apache for Windows contains the ability to load modules at runtime, - without recompiling the server. If Apache is compiled normally, it - will install a number of optional modules in the - <CODE>\Apache\modules</CODE> directory. To activate these, or other - modules, the new <A HREF="mod/mod_so.html#loadmodule">LoadModule</A> - directive must be used. For example, to active the status module, - use the following (in addition to the status-activating directives - in <CODE>access.conf</CODE>):</P> -<PRE> - LoadModule status_module modules/ApacheModuleStatus.dll -</PRE> - <P>Information on <A HREF="mod/mod_so.html#creating">creating loadable - modules</A> is also available.</P> - <LI><P>Apache can also load ISAPI Extensions (<EM>i.e.</EM>, Internet Server - Applications), such as those used by Microsoft's IIS, and other - Windows servers. <A HREF="mod/mod_isapi.html">More information - is available.</A> -</UL> - -<H2><A NAME="service">Running Apache for Windows as a Service</A></H2> - -You can install Apache as a Windows NT service as follows: - -<PRE> - apache -i -n "service name" -</PRE> - -To install a service to use a particular configuration, specify the -configuration file when the service is installed: - -<PRE> - apache -i -n "service name" -f "\my server\conf\my.conf" -</PRE> - -To remove an Apache service, use - -<PRE> - apache -u -n "service name" -</PRE> - -The default "service name", if one is not specified, is "Apache". - -<P> - -Once a service is installed, you can use the <SAMP>-n</SAMP> option, in conjunction -with other options, to refer to a service's configuration file. For example:<br> - -To test a service's configuration file: -<PRE> - apache -n "service name" -t -</PRE> - -To start a console Apache using a service's configuration file: -<PRE> - apache -n "service name" -</PRE> - -<H2><A NAME="cmdline">Running Apache for Windows from the Command Line</A></H2> - -The Start menu icons and the NT Service manager can provide a simple -interface for administering Apache. But in some cases it is easier to -work from the command line. - -<P> -When working with Apache it is important to know how it will find the -configuration files. You can specify a configuration file on the command line -in two ways: - -<UL> -<LI>-f specifies a path to a particular configuration file -</UL> -<PRE> apache -f "c:\my server\conf\my.conf"</PRE> -<PRE> apache -f test\test.conf</PRE> -<UL> -<LI>-n specifies the configuration file of an installed Apache service -</UL> -<PRE> apache -n "service name"</PRE> - -In these cases, the proper ServerRoot should be set in the configuration file. - -<P> - -If you don't specify a configuration file name with -f or -n, Apache will -use the file name compiled into the server, usually "conf/httpd.conf". Invoking -Apache with the -V switch will display this value labeled as SERVER_CONFIG_FILE. -Apache will then determine it's ServerRoot by trying the following, in this order: - -<UL> -<LI>A ServerRoot directive via a -C switch. -<LI>The -d switch on the command line. -<LI>Current working directory -<LI>A registry entry, created if you did a binary install. -<LI>The server root compiled into the server. -</UL> - -<P> -The server root compiled into the server is usually "/apache". -invoking apache with the -V switch will display this value -labeled as HTTPD_ROOT. - -<P> -When invoked from the start menu, Apache is usually passed no arguments, -so using the registry entry is the preferred technique for console Apache. - -<P> -During a binary installation, a registry key will have -been installed, for example: -<PRE> - HKEY_LOCAL_MACHINE\Software\Apache Group\Apache\1.3.4\ServerRoot -</PRE> - -<P> -This key is compiled into the server and can enable you to test -new versions without affecting the current version. Of course -you must take care not to install the new version on top of the -old version in the file system. - -<P> -If you did not do a binary install then Apache will in some -scenarios complain that about the missing registry key. This -warning can be ignored if it otherwise was able to find it's -configuration files. - -<P> -The value of this key is the "ServerRoot" directory, containing the -<SAMP>conf</SAMP> directory. When Apache starts it will read the -<SAMP>httpd.conf</SAMP> file from this directory. If this file -contains a <SAMP>ServerRoot</SAMP> directive which is different from -the directory obtained from the registry key above, Apache will forget -the registry key and use the directory from the configuration file. -If you copy the Apache directory or configuration files to a new -location it is vital that you update the <SAMP>ServerRoot</SAMP> -directory in the <SAMP>httpd.conf</SAMP> file to the new location. - -<P> -To run Apache from the command line as a console application, use the -following command: - -<PRE> - apache -</PRE> - -Apache will execute, and will remain running until it is stopped by pressing -control-C. - -<H2><A NAME="signalsrv">Signalling Service Apache when running</A></H2> - -On Windows NT, multiple instances of Apache can be run as services. -Signal an Apache service to start, restart, or shutdown as follows: - -<PRE> - apache -n "service name" -k start - apache -n "service name" -k restart - apache -n "service name" -k shutdown -</PRE> - -In addition, you can use the native NT NET command to -start and stop Apache services as follows: - -<PRE> - NET START "service name" - NET STOP "service name" -</PRE> - -<H2><A NAME="signal">Signalling Console Apache when running</A></H2> - -On Windows 95, Apache runs as a console application. You can tell a -running Apache to stop by opening another console window and running - -<PRE> - apache -k shutdown -</PRE> -<BLOCKQUOTE> - <STRONG>Note: This option is only available with Apache 1.3.3 and - later. For earlier versions, you need to use Control-C in the - Apache console window to shut down the server.</STRONG> -</BLOCKQUOTE> - -<P> -This should be used instead of pressing Control-C in the running -Apache console window, because it lets Apache end any current -transactions and cleanup gracefully. - -<P> - -You can also tell Apache to restart. This makes it re-read the -configuration files. Any transactions in progress are allowed to -complete without interruption. To restart Apache, run - -<PRE> - apache -k restart -</PRE> -<BLOCKQUOTE> - <STRONG>Note: This option is only available with Apache 1.3.3 and - later. For earlier versions, you need to use Control-C in the - Apache console window to shut down the server.</STRONG> -</BLOCKQUOTE> - -<P> -Note for people familiar with the Unix version of Apache: these -commands provide a Windows equivalent to <CODE>kill -TERM -<EM>pid</EM></CODE> and <CODE>kill -USR1 <EM>pid</EM></CODE>. The command -line option used, <CODE>-k</CODE>, was chosen as a reminder of the -"kill" command used on Unix. - -<H2><A NAME="comp">Compiling Apache for Windows</A></H2> - -<P>Compiling Apache requires Microsoft Visual C++ 5.0 to be properly - installed. It is easiest to compile with the command-line tools - (nmake, <EM>etc.</EM>..). Consult the VC++ manual to determine how to install - them.</P> - -<P>First, unpack the Apache distribution into an appropriate - directory. Open a command-line prompt, and change to the - <CODE>src</CODE> subdirectory of the Apache distribution.</P> - -<P>The master Apache makefile instructions are contained in the - <CODE>Makefile.nt</CODE> file. To compile Apache on Windows NT, simply - use one of the following commands: -<UL> -<LI><CODE>nmake /f Makefile.nt _apacher</CODE> (release build) -<LI><CODE>nmake /f Makefile.nt _apached</CODE> (debug build) -</UL> - -<P><em>(1.3.4 and later)</em> To compile Apache on Windows 95, use one of -<UL> -<LI><CODE>nmake /f Makefile_win32.txt</CODE> (release build) -<LI><CODE>nmake /f Makefile_win32_debug.txt</CODE> (debug build) -</UL> - -<P>These will both compile Apache. The latter will include debugging - information in the resulting files, making it easier to find bugs and - track down problems.</P> - -<P>Apache can also be compiled using VC++'s Visual Studio development - environment. Although compiling Apache in this manner is not as - simple, it makes it possible to easily modify the Apache source, or - to compile Apache if the command-line tools are not installed. - Project files (<CODE>.DSP</CODE>) are included for each of the - portions of Apache. To build Apache from the these projects files - you will need to build the following projects <EM>in this order</EM>: - - <OL> - <LI><CODE>os\win32\ApacheOS.dsp</CODE> - <LI><CODE>regex\regex.dsp</CODE> - <LI><CODE>ap\ap.dsp</CODE> - <LI><CODE>main\gen_uri_delims.dsp</CODE> - <LI><CODE>main\gen_test_char.dsp</CODE> - <LI><CODE>ApacheCore.dsp</CODE> - <LI><CODE>Apache.dsp</CODE> - </OL> - - In addition, the <CODE>src\os\win32</CODE> subdirectory contains - project files for the optional modules (see below).</P> - -<P>Once Apache has been compiled, it needs to be installed in its server - root directory. The default is the <CODE>\Apache</CODE> - directory, on the current hard drive. </P> - -<P>To install the files into the <CODE>\Apache</CODE> directory - automatically, use one the following nmake commands (see above):</P> -<UL> -<LI><CODE>nmake /f Makefile.nt installr INSTDIR=<EM>dir</EM></CODE> - (for release build) -<LI><CODE>nmake /f Makefile.nt installd INSTDIR=<EM>dir</EM></CODE> - (for debug build) -</UL> -or, for Windows 95 (1.3.4 and later), use one of: -<UL> -<LI><CODE>nmake /f Makefile_win32.txt install INSTDIR=<EM>dir</EM></CODE> - (for release build) -<LI><CODE>nmake /f Makefile_win32_debug.txt install INSTDIR=<EM>dir</EM></CODE> - (for debug build) -</UL> - -The dir argument to INSTDIR gives the installation directory; it can -be omitted if Apache is to be installed into <SAMP>\Apache</SAMP>. - -<P>This will install the following:</P> - -<UL> - <LI><CODE><EM>dir</EM>\Apache.exe</CODE> - Apache executable - <LI><CODE><EM>dir</EM>\ApacheCore.dll</CODE> - Main Apache shared library - <LI><CODE><EM>dir</EM>\modules\ApacheModule*.dll</CODE> - Optional Apache - modules (7 files) - <LI><CODE><EM>dir</EM>\conf</CODE> - Empty configuration directory - <LI><CODE><EM>dir</EM>\logs</CODE> - Empty logging directory -</UL> - -<P>If you do not have nmake, or wish to install in a different directory, - be sure to use a similar naming scheme.</P> - -<P> -Before running the server you must fill out the conf directory. -Copy the *.conf-dist-win from the distribution conf directory -and rename *.conf. Edit the @@ServerRoot@@ entries to your -actual server root (for example "C:\apache"). Copy over -the conf/magic and conf/mime.types files as well. - -<!--#include virtual="footer.html" --> -</BODY> -</HTML> - |