|
This release of Mac OS X Server includes version 1.3 of the Apache Web server. This version offers new features and slightly different usage. For example, Apache now opens properly with the apachectl command, rather than by using the apache command directly.
See the Apache manual (/System/Documentation/Administration/Services/apache/index.html) for Apache version 1.3 release notes and instructions.
Patches have been sent to the Apache Group so that versions of the Apache Web server after version 1.3.4 should build on Mac OS X Server without needing to port the software. For or more information, see http://www.apache.org/ .
Apache now includes DSO support. For more information, see the "Dynamic Shared Object (DSO) Support" section later in this document. Apache headers needed for the compilation of loadable modules are now available in the Apache Framework.
The location of files on Mac OS X Server reflects the structure of the Mac OS X Server directory, which extends the standard BSD filesystem conventions.
Due to an unimplemented feature of the dynamic linker, both soft and graceful restarts of Apache cause a significant penalty in memory consumption. See "Dynamic Shared Object (DSO) Support" below.
Graceful restarts are believed to cause Apache to become unstable and may cause the server to exit with an error message in the error log, such as "[warn] long lost child came home!" You should avoid graceful restarts anyway because of the DSO unloading problem. To avoid this problem, use the same workaround described in the "Dynamic Shared Object (DSO) Support" section next.
Apache now loads its modules dynamically using dyld. This means that Apache does not need to be recompiled to add additional modules if the modules are compiled as dynamic modules. In addition, you can now disable code that you don't want linked into Apache simply by editing the server configuration.
To provide all the Apache features, all standard Apache modules are compiled into the Apache binary. However; you can selectively add and remove the modules you are interested in using. See the Apache documentation for details on developing, configuring, and using DSO modules.
The dyld API allows runtime linking of executable files, but unloading these files is not implemented currently. Sending a HUP signal to Apache, which asks Apache to reload its configuration, causes Apache to attempt to unload its modules and then load them. The unload operation fails without notification but the load operation will succeed and will use any new symbols found in the modules, if any have changed. As a result of this, the process size will grow, consuming additional memory each time you soft restart the server in this way.
The commands apachectl restart and apachectl graceful attempt a soft or graceful restart, so both run into this problem.
The workaround is to always hard restart the server by stopping it, then restarting it using apachectl stop; apachectl start .
Resolving pathnames can require a significant amount of time. If it's important that your server is able to deliver a large number of documents per second, then the default document root ( /Local/Library/WebServer/DocumentRoot ) may not be appropriate. If this is an issue, you may want to move your document root to the root of the filesystem, for example /WebDocs . For best performance, you may choose to mount a fast disk on the document root directory.
Avoid loading any modules that you don't need and disable any features which don't apply to your server usage.
Loaded modules require additional memory. (See "Dynamic Shared Object (DSO) Support" earlier.) and may add additional processing on some or all incoming requests.
If you need to maximize the performance of your Apache Web server, you may want to compile a version which sets compile-time settings to meet your needs. See the Apache documentation for more information on compiling your own server and suggestions on maximizing performace at compile time.
The official Apache distribution is available from The Apache Group, although the port to Mac OS X Server may not yet be integrated into the official distribution. Apache source code which compiles properly on Mac OS X Server may be available on the Developer ToolKit CD or from ftp.apple.com.
Because of the way in which Mac OS Standard (HFS) and Mac OS Extended (HFS Plus) format volumes handle uppercase and lowercase file names, you should avoid using these volumes to store your Apache document root. Apache may fail to operate as documented on case-insensitive filesystems. For example, access control checks may fail and compromise the security of your server.
You should also avoid locating your documents on NFS volumes. Doing so may significantly reduce the performance and reliability of your server.
Document Information | |
Product Area: | Mac OS System Software |
Category: | Mac OS X Server |
Sub Category: | Apache |
Keywords: | kmosXserver |
Copyright © 2000 Apple Computer, Inc. All rights reserved.