The Multiple Server Administration interface of Apache Manager stores Apache configurations in eDirectory so that a change to one Web server's configuration can be inherited by all other servers defined in a Server Group. This makes server management and configuration faster, easier, and more accurate.
To do this, Apache Manager uses two key components: eDirectory and a configuration daemon. A basic understanding of these two components can help you to better understand and use the Multiple Server Administration interface.
eDirectory is used by Apache Manager in two ways: first, as a database where Apache configuration directives are stored, and second, as an environment that allows Apache configuration objects to be shared and inherited.
Apache Manager divides the Apache configuration file ( httpd.conf) into a hierarchy of configuration objects and then stores them in eDirectory. By storing directives in a hierarchy of objects, they can be applied to a single server, a group of servers, or to an entire Web farm.
Some blocks are unique from others, such as virtual host or Apache module blocks, because they utilize directives unique to them. Therefore, they appear as unique and separate objects.
The httpd.conf file is divided into a set of five object classes: server group, server, virtual host, module, and block. These object classes are defined in the following table.
Table 6-1 eDirectory Object Classes and Definitions
By defining a server object within a directory and combining the object with one or more virtual host, module, and block objects, an entire configuration for an Apache Web server can be stored, manipulated, and shared.
Each object class contains a set of attributes that store the data that is required to produce a portion of the configuration in a complete httpd.conf file. Additionally, each object class can store any number of directives that you might want defined at that level of the object hierarchy.
The configuration daemon is a small Java application that runs along with the Apache server software. It serves as a conduit between each Web server's actual configuration file and the directory service that holds Apache's configuration objects.
The configuration daemon extracts Apache directives from directory server objects, assembles them, and then creates a new httpd.conf configuration file. After the configuration file is created, the daemon restarts Apache so that new changes can be read by the Apache Web server.
HINT:When Apache Manager is started, so is the configuration daemon. However, if you need to start the daemon manually, type ap2webman at the NetWare® system console. Also, using this command automatically imports your current Apache Web server configurations, including any virtual hosts. For more information, see Section 6.5, Adding or Removing Servers to or from a Server Group.
The first time the daemon is run for a specific instance of the Apache Web server, it creates a server object in the object hierarchy and ensures that the configuration stored in the directory matches the current configuration file. The daemon then continues to monitor the directory for any changes made to a particular server. If you manually change the configuration file stored on the server's hard drive, the daemon detects the change and imports it into the server configuration that was previously stored in the directory.
This process ensures that the configuration file used to configure a specific instance of Apache remains synchronized with the shared configuration objects in the directory. If a change is detected, it updates the configuration file and notifies Apache that it is time to reload the configuration file. If a configuration has not yet been created in the directory, the daemon imports the current configuration file.
The startup.properties file stored in volume:\apache2\conf\daemon is used to configure the daemon. By default, it contains the following configurations:
# NWConfVersion = 2
InitialContextFactory = com.sun.jndi.ldap.LdapCtxFactory
ProviderURL = airport.newyork.digitalairlines.com
#Port = 389
Port = 636
UseSSL = yes
SecurityAuthentication = simple
UserID = cn=admin,o=cents
#Password = <Your-Password>
ServerDN = cn=airport,cn=NetWare Group,cn=Apache Group,o=cents
ServerName = airport.newyork.digitalairlines.com
ConfigFile = sys:/apache2/conf/httpd.conf
BackupDir = sys:/apache2/conf/backup/
StartApacheCmd = sys:/system/ap2webup.ncf
RestartApacheCmd = sys:/system/ap2webrs.ncf
StopApacheCmd = sys:/system/ap2webdn.ncf
RestartDelay = 10000
StartupErrorLog=sys:/apache2/logs/startup.err
StorageMode = FILE
Depending on changes you might make to your server, you might need to modify some of the paths. Most critically, you might have to make changes to UserID and ServerDN, making sure that if you move your administrator user object, you must specify the new location in this file.