Категория: Windows: Web серверы
The current Apache OpenOffice supports Microsoft Windows XP, Vista, Windows 7 and Windows 8.
Specific platform version notes:
Please note. Apache OpenOffice is distributed as a 32-bit application. It will run successfully in 32-bit mode on 64-bit versions of Windows 7 and Windows 8. But in those cases a 32-bit JVM is required for some functionality. Details are here .Hardware Requirements¶
Apache OpenOffice has the following special features on Windows:
If you find this article useful then please consider making a donation. It will be appreciated however big or small it might be and will encourage Brian to continue researching and writing about interesting subjects in the future.Introduction
Back in Issue 69 (May, 2001) of The Delphi Magazine in Apache Shared Modules . I looked at the Apache Web server running on Linux and how Kylix could be used to write CGI applications and also Apache shared modules or DSOs (the main thrust of the article). That was shortly after Kylix had been released, and discussed how to overcome a variety of problems, including the fact that the standard Apache binary distribution is not suitable for using shared modules.
This update looks at what issues need to borne in mind when using Delphi 6 to create Web applications for Apache running on Windows. Fortunately, things are a bit simpler here than they are in Linux (a welcome relief). This article should be considered an update to the original article rather than standalone, so if you are unfamiliar with Apache and DSOs (or shared modules) I recommend you have a read of it. Just ignore any references to Linux issues along the way, particularly about recompiling Apache (there is no need to do this with the Windows version of Apache).
Your first question might be to ask why we should bother looking at Apache anyway. After all, Apache on Windows is certainly not as well established as Apache on Linux, or IIS on Windows. Well, you should consider that whilst Windows 2000 Professional ships with a copy of IIS, it only has a 10 user limit. If you want your Web server to work well you will need to upgrade to Windows 2000 Server and get the appropriate additional licensing.
More things in Apache's favour include the fact that it is completely free and has its full source code freely available for download. Additionally, it is straightforward to configure through one textual configuration file and has updates made to its source code tree far more frequently than IIS. On top of this, the main source code base is evidently well established, given the mass acceptance of Apache on Internet servers (primarily Unix systems), and the documentation states that it can even load up ISAPI DLLs.
There is also the fact that the basic logic you place in a WebBroker or WebSnap application is much the same no matter what Web server protocol you are targeting, so you can easily target Apache Web server from your existing Web server applications by creating a new project file set up appropriately. A minimal amount of work can result in another Web server platform that you can say that you target.
Additionally, it is just at home on Windows 95, 98 or Me as it is under Windows NT or 2000, so can be used for non-sensitive Web servers on a company Intranet. If you need to test Apache out (because you are thinking of setting up a Linux Web server, for example), trying it out under Windows can be much more comfortable if you are new to Linux. Get the hang of what's required of Apache in Windows, then that is one problem out of the way when you set up your Linux box.
Anyway, the bottom line is that it provides another option on top of Microsoft's IIS or PWS, or Netscape server, or CGI applications, so it can be useful to know how to take advantage of it.Choosing Apache 1 or Apache 2
Apache 2 was released after Delphi 6 and introduces some important issues. The Apache 2 module format differs from the Apache 1 module format and as a consequence, Delphi 6 can only work with Apache 1.x.
To build shared modules for Apache 2 requires Delphi 7, which introduces additional support for Apache 2.x. The key difference in an Apache 2.x shared module, when compared with an Apache 1.x shared module is the project file uses clause. Shared modules targeting Apache 1.x use the ApacheApp.pas unit, whereas Apache 2.x projects use ApacheTwoApp.pas.
Note: Delphi 7 has only been certified for use with Apache up to version 2.0.39 as that was the most current version available when it was sent to manufacturing. Apache 2.0.40 introduces more changes that break the Delphi support and requiring modifications to the support units. However, all is not lost as unofficial patch information supplied by a Borland engineer is available online that allows Apache 2.0.40 and higher to be used with shared modules written in Delphi.
Figure 1: Delphi 7 Apache support
Kylix 3 was released just before Delphi 7 (indeed Delphi 7 includes a copy of the Delphi language version of Kylix 3 in the box), but Apache 2 support did not make it into that product. This may happen with an update pack, but in the meantime you could always try "borrowing" the pertinent Apache 2 source files from your copy of Delphi 7 and using those instead of the Apache 1 files in your shared module project. The Apache source files are located in $(DELPHI)\Source\Internet, where $(DELPHI) is the main Delphi installation directory.
The units used in Apache 1 applications are:
The files used in Apache 2 applications are:
So in theory you could copy the Apache 2 support files across to your project directory and modify the project uses clause to use ApacheTwoApp instead of ApacheApp.
Note: that this suggestion is speculative - I haven't tested it.Installing Apache
Before writing any Apache shared modules, you need to get hold of Apache and install it. You can get a ZIP file containing the source code from http://www.apache.org/dist/httpd/binaries/win32/. but that requires you to have Visual C++ to compile it. Instead, I recommend you get the precompiled version without source code from httpd.apache.org/dist/httpd/binaries/win32. I downloaded version 1.3.20, apache_1.3.20-win32-no_src-r2.msi, which was a Windows Installer file that can be used to install Apache. Clearly this means you need the Windows Installer on your machine, but if you haven't you can download it from the Microsoft Web site.
The last time I checked there were two main versions of Apache available, one is a version 1.x (Apache 1.3.28 ) and one is a version 2.x (Apache 2.0.47 ). As discussed earlier. if you are using Delphi 6 you must download the 1.x version as support for 2.x only arrives in Delphi 7.
Before installing, you should terminate any other Web servers you have running (I had IIS running on Windows 2000), as they will typically all fight for the same default TCP port (port 80). I suspended IIS through the Internet Information Services Control Panel applet (in Control Panel's Administrative Tools folder).
When you run the file, the installation wizard will start:
Figure 2: Installing Apache for Windows
When it gets around to asking you about your Web server information, you will be best placed to answer the questions. Since I want to access my Web server by specifying its machine name (Cube), that's what I tell the installation program:
Figure 3: Specifying my Web server settings
This will mean I can browse to http://Cube from anywhere on my network and gain access to Cube's Web server.
Notice in Figure 3 that the installation asks if you wish Apache to run as a service. On Windows NT/2000, this will be a good choice for a production system, as it keeps Apache running from boot-up to shutdown, but is not recommended on Windows 9x, as it is still at an experimental stage on these platforms.
On a development system (and on Windows 9x), you might find it easier to choose the other option, which installs it for manual invocation in a console window. This option makes it straightforward to debug your Apache shared modules and is the recommended option when installing on Windows 9x.Controlling Apache
When installation is done, about 4Mb of disk space will have been consumed (even though the installation program suggests it will take about 15Mb) and Apache should be ready for use. Depending whether you chose to install Apache as a service or not, your Apache Start menu folder will be organised differently. Figure 4 shows the menu structure for the service installation.
Figure 4: The Apache service Start Menu Group
If you chose the other option (manually starting Apache in Figure 3 ), the Control Apache Server menu will not be present, but you will have one extra menu item under Apache httpd Server. which says Start Apache in Console .
If you installed Apache as a service, it will be running each time you start Windows. You can stop Apache with the Stop menu item and start it with the Start item. The Restart item will attempt to stop Apache if it is running, and then start it again. This is a convenient way of getting Apache to re-read its configuration file, after you have made changes to it.
If Apache is installed for manual invocation, the Start Apache in Console item will start the Apache process in a console window (in Apache 1.3.4 and earlier, this option was called Apache Server ). This process can be terminated by pressing Ctrl+C in the console window (in version 1.3.13 and later) or by clicking the console window's cross button (in version 1.3.15 and later).
For both installation types, you can also terminate Apache by passing it appropriate command-line switches (it might be convenient to add a new shortcut with this command line to the Apache Start menu folder, if you installed it for manual invocation):
When Apache is running, you can invoke your Web server's home page, with http://localhost. and you should get the default Apache home page:
Figure 5: The default Apache homepageWriting a Shared Module
To create a shared module in Delphi 6, choose File | New | Other. then choose Web Server Application. In the Web Server Application wizard, choose Apache Shared Module (DLL) and press OK. This creates a DLL-based WebBroker application, where we need to focus on the project file (choose Project | View Source ).
Note: Delphi 7 and later will give you a choice of Apache versions to target, which affects the Apache support unit used in the project source file.
The default content of the project file looks like:
[we will use Visual Studio 98 / VC++ 6.0][Visual Studio .NET will also work with the same instructions]
[Read below 'Notes' for clarification on system path]
To build mod_deflate, the zlib source code directory is placed under C:\build\httpd-2.x.x\srclib (as httpd-2.x.x\srclib\zlib). The main Apache 2.0/2.2 build process will automatically compile the zlib source code and build mod_deflate. Note that to build zlib v1.2.3 under Apache 2.0, the C:\build\httpd-2.0.x\modules\filters\mod_deflate.dep/dsp/mak files will need to be patched. Do NOT perform this patching step if building mod_deflate under Apache 2.2, or if building against zlib v1.1.4.
Patch mod_deflate (zlib 1.2.3) to build under Apache 2.0.
[Optional] Build zlib with ASM options.
To build mod_ssl, the OpenSSL source code directory is placed under C:\build\httpd-2.x.x\srclib (as httpd-2.x.x\srclib\openssl). The OpenSSL source is then manually compiled to prepare for the main Apache 2.0/2.2 build process.
Configure the build.
['--openssldir=DIR' tells openssl.exe where to look for openssl.cnf][we must use unix forward style slashes(/), instead of windows style back slashes(\)]
> perl Configure --openssldir=C:/www/Apache2/bin VC-WIN32
Use x86 assembly functions for performance improvements.
Note that if your Compiler or System does not include MASM (ml.exe error): run 'ms\do_ms' instead.
> nmake -f ms\ntdll.mak
[optional] Test the built OpenSSL package.
The Apache 2.2.3 Windows source has problems in four projects dsp and mak files. Also, a perl script has to be run to convert the projects to the VC++ version that is being used to compile the code. Both of these problems should be fixed under Apache 2.2.4
Download apache-2.2.3-projects.zip and extract the following 4 dsp and mak project files to the given directories.
If using VS.NET 2005 to compile Apache 2.2.3, download cvtdsp.pl and run 'perl cvtdsp.pl -2005' (For VC++ 6.0: 'perl cvtdsp.pl -6' but this is unnecessary).Build/Install Apache
Apache 2.0/2.2 can be built using the command line, or with the Visual Studio Workspace IDE. The command line build is the perfered choice.Command-Line Build Instructions
Build Apache 2.0/2.2 in Release mode under C:\www\Apache22 (for 2.2) or C:\www\Apache2 (for 2.0), with the server listening on localhost (127.0.0.1, your local system) on port 80 (regular HTTP port).
\httpd-2.0.x> nmake /f Makefile.win SERVERNAME="localhost" PORT=80 INSTDIR="C:\www\Apache2" installr
Apache.dsw is the Visual Studio workspace, which exposes the entire list of working .dsp projects that are required for the complete Apache 2.0/2.2 binary release.
To build mod_security, the built Apache2 libraries and include files are used.
Edit file C:\build\modsecurity-apache-1.9.4\apache2\makefile.win and change the BASE path to the built Apache2 dir.
BASE = "C:/www/Apache2/"
If building against Apache 2.2, edit file C:\build\modsecurity-apache-1.9.4\apache2\makefile.win and update the following line to reflect the new Apache 2.2 library names.
LIBS = $(BASE)\lib\libhttpd.lib $(BASE)\lib\libapr-1.lib $(BASE)\lib\libaprutil-1.lib
. \modsecurity-apache-1.9.4\apache2> nmake /f makefile.win
Copy generated file mod_security.dll to dir C:\www\Apache[2,22]\modules and file mod_security.lib to dir C:\www\Apache[2,22]\libAdditional Steps and Information
During the Apache 2.0/2.2 build process, the needed OpenSSL files (libeay32.dll, ssleay32.dll, openssl.exe) are placed into C:\www\Apache[2,22]\bin, except openssl.cnf. openssl.cnf is the OpenSSL configuration file. This file needs be copied manually.
From directory. \httpd-2.x.x\srclib\openssl\apps copy file openssl.cnf to C:\www\Apache22\bin (2.2) or C:\www\Apache22\bin (2.0) [note that .cnf file extensions are invisible, by default, on Windows 2000/XP]
Apache v2.x (win32) file ssl.conf contains a syntax problem that needs to be addressed.
Change 'SSLMutex file:logs/ssl_mutex' under ssl.conf to 'SSLMutex default' [the default 'file:logs/ssl_mutex' option is not available under win32]Update Configuration Files
Now that the Apache httpd Web-Server has been successfully built -- [before proceeding with startup] configuration file httpd.conf will need to be updated (for mod_deflate and other changes) and an SSL Private/Public Key-Pair will need to be created (for mod_ssl).
Note that if "localhost" will be used, make sure that file %SystemRoot%\system32\drivers\etc\hosts contains line.
127.0.0.1 <tab> localhost
mod_deflate requires several additions and updates to be made to httpd.conf, the Apache 2.0/2.2 configuration file.
Open C:\www\Apache[2,22]\conf\httpd.conf, add.
The default Apache DocumentRoot/Webroot is set to. \Apache22\htdocs (for 2.2) or. \Apache2\htdocs (for 2.0) -- our Guides and our Web-Server Suite has this changed to \www\webroot -- update DocumentRoot if you are also going to use our other Guides. Note that when testing Apache, you will need to make/copy index.html and/or other files into the new directory, as it will be empty.
Locate line DocumentRoot "/www/Apache[2,22]/htdocs". replace with.
Locate line <Directory "/www/Apache[2,22]/htdocs">. replace with.
<Directory "/www/webroot">Startup and Operation
Executables 'httpd.exe' (for 2.2) and 'apache.exe' (for 2.0) are located under directory 'C:\www\Apache22\bin' (for 2.2) or 'C:\www\Apache2\bin' (for 2.0) - which should be included into the System PATH. If this dir is not in the PATH, 'httpd.exe' or 'apache.exe' should be run from a command line that is under 'C:\www\Apache[2,22]\bin'.
Install the 'Apache2' Service.
Many webmasters choose to install a copy of the Apache web server on their machines so that they can test their PHP and Perl scripts before they upload it to their "live" websites. This allows them to fix any problems on their site before it actually affects their website's visitors. This article deals with how you can set up and configure Apache 2 on your own computer so that you can test your scripts and site.Preliminary Notes Which Version of Apache to Use
At present, there are three major versions of Apache available: the 1.3 series, the 2.0 series and the 2.2 series. You should choose the version that matches the one used by your web host. If you are using Apache 1.3, you should probably check out my other tutorial, How to Install Apache 1.x on Windows at http://www.thesitewizard.com/archive/apache.shtmlIf You're Using Windows Vista, Windows 7 or Later
If you're using Windows Vista, please see the How to Install Apache 2.2 on Windows Vista tutorial instead. The later versions of Windows require a different installation procedure.For Offline Testing
This installation guide is meant for people who want to install Apache for private offline use, such as to test your own scripts or website on your own machine. It is not intended for you to set up a "live" website that is connected to the Internet. The instructions here do not take into account things like security or your real domain names and the like, which you will need to configure for if your server is going to be exposed to the Internet.Steps to Installing and Configuring Apache 2 for Windows XP Download Apache 2
Firstly, download a copy of Apache 2. Since we are talking about Apache 2 here, be sure to scroll down the page to the appropriate section. Select the "Other files" link in that section to get a complete listing of the available Apache 2 versions. In the new page that appears, click the "binaries" folder followed by the "win32" folder. A list of files with different version numbers will be listed.
If you want the Apache 2.0 series, and the current version of the Apache 2.0 series is, say, 2.0.61, look for the file named "apache-2.0.61-win32-x86-no_ssl.msi". Likewise if you want the Apache 2.2 series, and the current version is, say, 2.2.6, go for the file named "apache-2.2.6-win32-x86-no_ssl.msi".
Click it and save the file to your hard disk. Remember where you saved it so that you can run it later.Run the Apache Installer
When you have finished downloading the file, double-click it to run the Apache installer. Follow the instructions to install Apache.
When you arrive at the "Server Information" dialog box, enter "localhost" (without the quotes) for the Network Domain as well as for the Server Name and whatever email address you wish for the "Administrator's Email Address" field. The installer uses the information you enter to create a default Apache configuration file for you. You can always go back and manually change these values in your configuration file if you change your mind later. Leave the default setting of "for All Users, on Port 80, as a Service" as it is. Click "Next" when you're done.
When asked about the Setup Type, select "Typical" and click "Next".
Allow the installer to install to the default folder in the next screen. Note that this tutorial will assume that you are using the default folder of "c:\Program Files\Apache Group\" here. Click "Next".
Finally click the "Install" button to allow the installer to set up Apache. When it is done, click the "Finish" button.Enabling and Disabling the Apache Service
The Apache installer automatically starts the Apache service when it finishes the installation. If you ever wish to stop the Apache 2 service and only start it manually when you need to use it for testing, go to Control Panel -> Administrative Tools -> Services, look for the "Apache2" service and double-click it. From here you can stop the service and change the startup type to "Manual". The Apache service will then terminate and only start when you return to this control panel applet to manually start it. This is useful if, like me, you're only using the server to test your scripts, and don't want the server running all the time.Changing the Server Name and Administrator's Email Address
If you want to change the server name that you entered when you set up Apache, use the Start menu to open the Apache configuration file: you can find the appropriate item at Start -> Programs -> Apache HTTP Server -> Configure Apache Server -> Edit the Apache httpd.conf Configuration File.
A Notepad window will open with your Apache configuration file loaded. If you ever need to load your configuration file with another ASCII editor. it can be found at "C:\Program Files\Apache Group\Apache2\conf\httpd.conf" for Apache 2.0 and "C:/Program Files/Apache Software Foundation/Apache2.2" for Apache 2.2.
Search for the following text and replace the "localhost" with the name you want.
Likewise if you want to change the Administrator's Email Address that you entered earlier, look for a line like the following:
The exact email address displayed will be different, depending on what you entered during the setup process earlier.
In general, if you are just setting up Apache for private offline testing, you can basically leave these settings as they are.Configuring Apache to Accept Server Side Includes (SSI)
If you want the web server to parse Server Side Includes (SSI directives). search for the text "server-side includes" in the file. Add the following lines just after the block of text containing those words:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Alternatively, you can uncomment the example text given in the configuration file by removing the hash prefix ("#") before each line.
Apache will now handle the SSI directives that occur in files with names ending in ".shtml".
If you want "index.shtml" to be your default start page for your directories, ie, if you want Apache to load "index.shtml" when you type "localhost" or "localhost/directory/", you will need to search for a line in your "httpd.conf" that begins with "DirectoryIndex" and add index.shtml to the list of files there. For example, modify it as follows:
DirectoryIndex index.shtml index.html
Adding it before index.html means that Apache will give preference to index.shtml if both are present.Save the Configuration File and Restart Apache
When you are satisfied with your changes, save the file - just use the "Save" item from the "File" menu or type Ctrl+S. After you make a configuration change, you need to restart Apache. To do this, go to the Start Menu and click the "Restart" item in the "Control Apache" folder, that is, select Start -> Programs -> Apache HTTP Server -> Control Apache Server -> Restart.How to Test Your Apache Server
To test if your server is installed and configured properly, open up a browser and type "localhost" in the location bar of your browser. You should be able to see the default Apache test page.Where to Place Your Website
By default, your pages should be placed in the "C:\Program Files\Apache Group\Apache2\htdocs" folder for Apache 2.0 and the "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs" folder for Apache 2.2. When your site is ready, simply delete the existing files in the folder and replace them with those you want to test.
Posted on Friday, May 11, 2012 in Windows by Anindya
Apache HTTP Server 2.4.2 was released on April 17, 2012. This version is the second GA release of the new 2.4 branch and provides a number of security and bug fixes. The complete changelog for version 2.4.2 can be found here .
Below you will find the 32 bit and 64 bit Windows binaries compiled by me. The binaries were compiled with Visual C++ 2008 (VC9) against apr 1.4.6, apr-util 1.4.1, apr-iconv 1.2.1, expat 2.1.0, libxml2 2.7.8, lua 5.1.5, OpenSSL 1.0.1c, pcre 8.30 and zlib 1.2.7. IPv6 has also been enabled. The installers are digitally signed, so you can check the digital signatures to verify the integrity of the installers. You can also do the same using the provided file hashes.21 Comments
Thats a great news, I can’t wait for your post
Available Languages: en | ko
This document explains how to install, configure and run Apache 2.2 under Microsoft Windows. If you have questions after reviewing the documentation (and any event and error logs), you should consult the peer-supported users' mailing list .Operating System Requirements
Running Apache on Windows 9x is ignored by the developers, and is strongly discouraged. On Windows NT 4.0, installing Service Pack 6 is required. Apache HTTP Server versions later than 2.2 will not run on any operating system earlier than Windows 2000.Downloading Apache for Windows
The Apache HTTP Server Project itself does not provide binary releases of software, only source code. Individual committers may provide binary packages as a convenience, but it is not a release deliverable.
If you cannot compile the Apache HTTP Server yourself, you can obtain a binary package from numerous binary distributions available on the Internet.
Popular options for deploying Apache httpd, and, optionally, PHP and MySQL, on Microsoft Windows, include:Installing Apache for Windows
You need Microsoft Installer 2.0 or above for the installation to work. For Windows NT 4.0 and 2000 refer to Microsoft's article KB 292539. Windows XP and later do not require this update. The Windows 98/ME installer engine appears to no longer be available from Microsoft, and these instructions no longer detail such prerequisites.
Note that you cannot install two versions of Apache 2.2 on the same computer with the binary installer. You can, however, install a version of the 1.3 series and a version of the 2.2 series on the same computer without problems. If you need to have two different 2.2 versions on the same computer, you have to compile and install Apache from the source .
Run the Apache .msi file you downloaded above. The installation will ask you for these things:
Network Domain. Enter the DNS domain in which your server is or will be registered in. For example, if your server's full DNS name is server.mydomain.net. you would type mydomain.net here.
Server Name. Your server's full DNS name. From the example above, you would type server.mydomain.net here.
Administrator's Email Address. Enter the server administrator's or webmaster's email address here. This address will be displayed along with error messages to the client by default.
For whom to install Apache Select for All Users, on Port 80, as a Service - Recommended if you'd like your new Apache to listen at port 80 for incoming traffic. It will run as a service (that is, Apache will run even if no one is logged in on the server at the moment) Select only for the Current User, on Port 8080, when started Manually if you'd like to install Apache for your personal experimenting or if you already have another WWW server running on port 80.
The installation type. Select Typical for everything except the source code and libraries for module development. With Custom you can specify what to install. A full install will require about 13 megabytes of free disk space. This does not include the size of your web site(s).
Where to install. The default path is C:\Program Files\Apache Software Foundation under which a directory called Apache2.2 will be created by default.
During the installation, Apache will configure the files in the conf subdirectory to reflect the chosen installation directory. However, if any of the configuration files in this directory already exist, they will not be overwritten. Instead, the new copy of the corresponding file will be left with the extension .default. So, for example, if conf\httpd.conf already exists, it will be renamed as conf\httpd.conf.default. After the installation you should manually check to see what new settings are in the .default file, and if necessary, update your existing configuration file.
Also, if you already have a file called htdocs\index.html. it will not be overwritten (and no index.html.default will be installed either). This means it should be safe to install Apache over an existing installation, although you would have to stop the existing running server before doing the installation, and then start the new one after the installation is finished.
After installing Apache, you must edit the configuration files in the conf subdirectory as required. These files will be configured during the installation so that Apache is ready to be run from the directory it was installed into, with the documents server from the subdirectory htdocs. There are lots of other options which you should set before you really start using Apache. However, to get started quickly, the files should work as installed.Advanced Installation Topics
One feature of the installer, "Build Headers and Libraries", can be ignored by most users, but should be installed if compiling third party modules. The "APR Iconv Code Pages" can similarly be omitted by most users, unless using mod_charset_lite or a third party module which relies on APR internationalization features.
There are requests to ship a .zip file from time to time. There is no point in the ASF consuming additional storage, mirroring and bandwidth for this purpose, because the .msi installer allows the installation artifacts to all be unpacked using the msiexec /a network installation option. Using this command against any .msi will result in an exploded tree of all of the individual files and components.
The installation options above can be customized by users familiar with msiexec.exe options and silent installation. The actual installer sources are available in the httpd/httpd/win32-msi/ tree of the httpd project subversion respository. For reference, some of the more common variables which may be modified are;
The installation level of various features, which may be individually toggled, include;
Apache is configured by the files in the conf subdirectory. These are the same files used to configure the Unix version, but there are a few different directives for Apache on Windows. See the directive index for all the available directives.
The main differences in Apache for Windows are:
Because Apache for Windows is multithreaded, it does not use a separate process for each request, as Apache can on Unix. Instead there are usually only two Apache processes running: a parent process, and a child which handles the requests. Within the child process each request is handled by a separate thread.
The process management directives are also different:
MaxRequestsPerChild. Like the Unix directive, this controls how many requests (actually, connections) which a single child process will serve before exiting. However, unlike on Unix, a replacement process is not instantly available. Use the default MaxRequestsPerChild 0. unless instructed to change the behavior to overcome a memory leak in third party modules or in-process applications.
Warning: The server configuration file is reread when a new child process is started. If you have modified httpd.conf. the new child may not start or you may receive unexpected results.
ThreadsPerChild. This directive is new. It tells the server how many threads it should use. This is the maximum number of connections the server can handle at once, so be sure to set this number high enough for your site if you get a lot of hits. The recommended default is ThreadsPerChild 150. but this must be adjusted to reflect the greatest anticipated number of simultaneous connections to accept.
The directives that accept filenames as arguments must use Windows filenames instead of Unix ones. However, because Apache may interpret backslashes as an "escape character" sequence, you should consistently use forward slashes in path names, not backslashes.
While filenames are generally case-insensitive on Windows, URLs are still treated internally as case-sensitive before they are mapped to the filesystem. For example, the <Location>. Alias. and ProxyPass directives all use case-sensitive arguments. For this reason, it is particularly important to use the <Directory> directive when attempting to limit access to content in the filesystem, since this directive applies to any content in a directory, regardless of how it is accessed. If you wish to assure that only lowercase is used in URLs, you can use something like:
RewriteMap lowercase int:tolower
RewriteRule (.*) $
When running, Apache needs write access only to the logs directory and any configured cache directory tree. Due to the issue of case insensitive and short 8.3 format names, Apache must validate all path names given. This means that each directory which Apache evaluates, from the drive root up to the directory leaf, must have read, list and traverse directory permissions. If Apache2.2 is installed at C:\Program Files, then the root directory, Program Files and Apache2.2 must all be visible to Apache.
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 \Apache2.2\modules directory. To activate these or other modules, the new LoadModule directive must be used. For example, to activate the status module, use the following (in addition to the status-activating directives in access.conf ):
LoadModule status_module modules/mod_status.so
Information on creating loadable modules is also available.
Apache can also load ISAPI (Internet Server Application Programming Interface) extensions such as those used by Microsoft IIS and other Windows servers. More information is available. Note that Apache cannot load ISAPI Filters, and ISAPI Handlers with some Microsoft feature extensions will not work.
When running CGI scripts, the method Apache uses to find the interpreter for the script is configurable using the ScriptInterpreterSource directive.
Since it is often difficult to manage files with names like .htaccess in Windows, you may find it useful to change the name of this per-directory configuration file using the AccessFilename directive.
Any errors during Apache startup are logged into the Windows event log when running on Windows NT. This mechanism acts as a backup for those situations where Apache is not yet prepared to use the error.log file. You can review the Windows Application Event Log by using the Event Viewer, e.g. Start - Settings - Control Panel - Administrative Tools - Event Viewer.Running Apache as a Service
You can install Apache as a service automatically during the installation. If you chose to install for all users, the installation will create an Apache service for you. If you specify to install for yourself only, you can manually register Apache as a service after the installation. You have to be a member of the Administrators group for the service installation to succeed.
Apache comes with a utility called the Apache Service Monitor. With it you can see and manage the state of all installed Apache services on any machine on your network. To be able to manage an Apache service with the monitor, you have to first install the service (either automatically via the installation or manually).
You can install Apache as a Windows NT service as follows from the command prompt at the Apache bin subdirectory:
httpd.exe -k install
If you need to specify the name of the service you want to install, use the following command. You have to do this if you have several different service installations of Apache on your computer. If you specify a name during the install, you have to also specify it during any other -k operation.
httpd.exe -k install -n "MyServiceName"
If you need to have specifically named configuration files for different services, you must use this: