Main -> Documentation -> WebZ System Administration -> Configuring the WebZ Extension -> Configuring an Existing 1.3.x Apache Web Server to Use the WebZ Extension

Configuring an Existing 1.3.x Apache Web Server to Use the WebZ Extension

Contents

Introduction
Document Conventions
Requirements
Assumptions
Procedure
Messages During Apache Recompilation


Introduction

You can use an existing Apache Web server to connect patrons to the Open SiteSearch WebZ system through a Web browser instead of using the Apache server that is included in the SiteSearch installation. To use an existing server, you must add the WebZ Extension module that is included in the Open SiteSearch Web server installation package to the Apache server configuration file and recompile the server. You also need to move the HTML and image files used to create the WebZ Out-of-the-Box Interface (OBI) and edit the WebZ configuration files accordingly.

Important  
Note:   

OCLC recommends that you use the Apache server included with the SiteSearch installation as a dedicated server for your WebZ Z39.50 and non-Z39.50 resources (and the Record Builder application included with OCLC Database Builder, if applicable) to ensure searching efficiency and ease of administration for the following reasons:

  • If you use your existing Apache server to host the Open SiteSearch system in addition to hosting other Web resources, the server's performance may be affected.
  • For WebZ to function with your existing Apache server, you must place your HTML and image files in directories directly underneath your Web server's document root directory. This may cause confusion if you have additional non-SiteSearch directories at this level.
  • If you are using the Record Builder application included with Database Builder, it is not possible to run WebZ and Record Builder on the same Web server port. You can add the WebZ extension to your existing copy of Apache and use this software as Record Builder's Web server, but you must specify another Web server port for Record Builder, use another httpd.conf file (with another name) for Record Builder, and create a separate startup script for Record Builder's Web server. If you use the Apache server included with the SiteSearch installation, the Database Builder installation procedure automatically takes care of all these tasks for you.

Document Conventions

  • Apache 1.3.x refers to any Apache 1.3 version.
  • Apache 1.2.x refers to any Apache 1.2 version.
  • <ExistingServer_root> is the location of the existing Apache server.
  • <WebZ_root> is the location of the WebZ software, including the Apache server that you installed as part of the SiteSearch installation
  • <ApacheInst_root> is the location where you initially uncompressed and compiled Apache.
  • 4.0.x refers to any SiteSearch 4 version prior to 4.1.0; that is, 4.0.0, 4.0.0a, 4.0.1, or 4.0.2.
  • 4.1.x refers to SiteSearch 4.1.0 or 4.1.1.

Requirements

As the SiteSearch suite system administrator, you must have:


Assumptions

This document makes the following assumptions:

  • Your existing Apache server has the default installed directory structure.
  • Your existing Apache server and the WebZ software run on the same host.
  • You plan to move the HTML files for the OBI, version 1 to your Apache server's document root directory.

Procedure

Follow the steps below to use an existing Apache server to access the WebZ system through a Web browser.

1. Edit your existing httpd.conf file:

  • Move to the <ExistingServer_root>/conf directory and open the httpd.conf file in a text editor.
  • Define the location of the WebSvrExt.ini configuration file. Add the following line to the end of httpd.conf.
  • WebZIni   <WebZ_root>/ini/WebSvrExt.ini
    

  • Save and close httpd.conf.

2. Rename WebZ's index.html file:

  • Move to the <WebZ_root>/htdocs/obiv1 directory.
  • Rename index.html as sitesearch.html.

3. Edit the appropriate interface style configuration files (pagesFrame.ini and pagesNoFrame.ini) to the change the reference to WebZ's index page (index.html) file to sitesearch.html:

  • Move to the <WebZ_root>/ini/interface/obiv1 directory, and open pagesFrame.ini in a text editor. Find the index variable at the top of the [pages] section:
index = index.html
  • Change index.html to sitesearch.html. The variable should now look like the following:
index = sitesearch.html
  • Save and close the file.
  • Repeat the above steps for pagesNoFrame.ini.

4. Move the HTML and image files associated with the OBI, version 1 to the existing Apache server's document root directory. Copy the following directories and files located in the <WebZ_root>/htdocs/obiv1 directory into the <ExistingServer_root>/htdocs/ directory:

  • /error
  • /help (and its associated subdirectories)
  • /html
  • /images
  • sitesearch.html
Important Note:   

You MUST place the OBI directories and files directly under the <ExistingServer_root>/htdocs directory. DO NOT change the directory structure of these files or move them underneath any subdirectories in the <ExistingServer_root>/htdocs directory. If you do not maintain the exact directory structure, you will need to edit the HTML files and Java classes to reference images and links within the OBI.

5. Configure a new DocumentRoot for the WebZ system to locate the OBI HTML and image files:

  • Move to the <WebZ_root>/ini directory.
  • Open the JaSSIServer.ini configuration file in a text editor.
  • Edit the value of the DocumentRoot variable in the [JaSSI] section to reflect the full path name of the <ExistingServer_root>/htdocs directory.
  • Save and close JaSSIServer.ini.

6. Move the WebZ Extension to <ApacheInst_root>.

  • Create a new directory named webz in the <ApacheInst_root>/src/modules directory.
  • Copy the contents of the <WebZ_root>/httpd/apache_1.3.x/libexec/platform directory, where platform is the type of operating system that your host runs on, into the <ApacheInst_root>/src/modules/webz directory.

7. Create a new file named Makefile in the <ApacheInst_root>/src/modules/webz directory with the following contents:

all:
libWebZ.a: echo "libWebZ.a build"
Note:   

The indention at the beginning of the third line is a tab (not four spaces).

This file allows the server to recompile with the WebZ Extension.

8. Stop the Apache server in <ExistingServer_root>, as described in the server documentation.

9. Create the Apache make files.

Note:   

In addition to setting up the Apache make files, this step also creates a file named config.status that contains this command. If you ever need to repeat this procedure, you can enter "./config.status" at the command line instead of retyping this command.

  • Move to the <ApacheInst_root> directory.
  • Type the following at the command prompt, without the continuation characters ("\"), which are only included for readability. If you wish to compile any additional modules, include the appropriate enable-module= statements as part of this command line. See the Apache documentation for information about compiling third-party modules.
./configure \
--with-layout=Apache_install_directory --activate-module=src/modules/webz/libwebz.a \
--enable-module=webz \
--enable-module=log_confide \
--enable-module=usertrack

You see messages like the following:

Configuring for Apache, Version 1.3.6
+ using installation path layout: Apache (config.layout) + activated webz module (modules/webz/libwebz.a) Creating Makefile
Creating Configuration.apaci in src
Creating Makefile in src
+ configured for Solaris 260 platform
+ setting C compiler to gcc
+ setting C pre-processor to gcc - E
+ checking for system header files
+ adding selected modules
+ doing sanity check on compiler and options
Creating Makefile in src/support
Creating Makefile in src/main
Creating Makefile in src/ap
Creating Makefile in src/regex
Creating Makefile in src/os/unix
Creating Makefile in src/modules/standard
10. If you have previously compiled the Apache server, type "make clean" at the command prompt in <ApacheInst_root>.

11. Type "make" at the command prompt to recompile the Apache server.

Click here for a listing of messages similar to that shown as the server recompiles the modules defined in the config.status file.

12. Copy or move the httpd file in <ApacheInst_root>/src to the <ExistingServer_root>/bin directory.

13. Verify that the Web sites and resources currently running on the existing server function correctly with the new module(s) before testing the WebZ system:

  • Start the existing Apache server in <ExistingServer_root> as instructed in the server documentation.
  • Navigate through the resources, making sure that nothing has been affected by the adjustment to the server configuration.
  • Pay particular attention to any advanced features implemented in the Web site(s), such as CGI scripts or JavaScript.

14. Add a link on the existing server's index.html page to the OBI logon screen.

  • Move to the <ExistingServer_root>/htdocs directory.
  • Open the index.html file in a text editor.
  • Add a link similar to the following in the index.html file to allow you to test access to the OBI:
<A HREF="sitesearch.html">Search the WebZ System</A>
  • Save and close the file.

15. Start the WebZ system.

16. Test the WebZ system through the new server.

  • Open the existing server's index.html page in a Web browser.
  • Click the WebZ link that you created in step 14. You should see the logon screen for the OBI, version 1:
OBI, version 1, logon screen
  • Use the default User ID, WebZUser, and password, WebZUser.
  • Click Go button to move to the database selection screen.
  • Perform several searches and review the search results to ensure that the system functions correctly.

If this test fails for any reason, repeat the steps above to ensure that you have added the WebZ Extension correctly.



Messages During Apache Recompilation

Note:   

This listing includes continuation characters ("\") for long lines. These characters do not appear in the actual messages that you see while you recompile the Apache Web server.

===> src
make[1]: Entering directory `<WebServer_root>'
make[2]: Entering directory `<WebServer_root>/src'
===> src/Os/UNIX
gcc -c -I../../Os/UNIX -I../../include -DSOLARIS2=260 `../../apaci` os.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` \
os-inline.c
rm -f libos.a
ar cr libos.a os.o os-inline.o
ranlib libos.a
<=== src/os/unix
===> src/ap
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` ap_execve.c
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` ap_cpystrn.c
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` ap_signal.c
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` ap_slack.c
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` ap_snprintf.c
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` ap_fnmatch.c
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` ap_md5c.c
rm -f libap.a
ar cr libap.a ap_execve.o ap_cpystrn.o ap_signal.o ap_slack.o ap_snprintf.o \
ap_fnmatch.o ap_md5c.o
ranlib libap.a
<=== src/ap
===> src/main
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` gen_test_char.c
gcc -DSOLARIS2=260 `../apaci` -o gen_test_char gen_test_char.o -lsocket -lnsl
./gen_test_char >test_char.h
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` alloc.c
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` buff.c
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` http_config.c
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` http_core.c
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` http_log.c gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` http_main.c gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` http_protocol.c
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` http_request.c gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` http_vhost.c
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` util.c
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` util_date.c gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` util_script.c
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` util_uri.c
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` rfc1413.c
rm -f libmain.a
ar cr libmain.a alloc.o buff.o http_config.o http_core.o http_log.o \
http_main.o http_protocol.o http_request.o http_vhost.o util.o util_date.o \
util_script.o util_uri.o util_md5.o rfc1413.o
ranlib libmain.a
<=== src/main
===> src/modules
===> src/modules/standard
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` mod_env.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` \
mod_log_config.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` mod_mime.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` \
mod_negotiation.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` \
mod_status.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` \
mod_include.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` \
mod_autoindex.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` mod_dir.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` mod_cgi.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` mod_asis.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` mod_imap.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` \
mod_actions.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` \
mod_userdir.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` \
mod_alias.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` \
mod_access.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` mod_auth.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` \
mod_usertrack.c
gcc -c -I../../os/unix -I../../include -DSOLARIS2=260 `../../apaci` \
mod_setenvif.c
rm -f libstandard.a
ar cr libstandard.a mod_env.o mod_log_config.o mod_mime.o mod_negotiation.o \
mod_status.o mod_include.o mod_autoindex.o mod_dir.o mod_cgi.o mod_asis.o \
mod_imap.o mod_actions.o mod_userdir.o mod_alias.o mod_access.o mod_auth.o \
mod_usertrack.o mod_setenvif.o
ranlib libstandard.a
<=== src/modules/standard
===> src/modules/webz
make[4]: Nothing to be done for `all'.
<=== src/modules/webz
<=== src/modules
gcc -c -I./os/unix -I./include -DSOLARIS2=260 `./apaci` modules.c
gcc -c -I./os/unix -I./include -DSOLARIS2=260 `./apaci` buildmark.c
gcc -DSOLARIS2=260 `./apaci` \
-o httpd buildmark.o modules.o modules/webz/libwebz.a \
modules/standard/libstandard.a main/libmain.a ./os/unix/libos.a \
ap/libap.a -lsocket -lnsl
make[2]: Leaving directory `<WebServer_root>/src'
make[1]: Leaving directory `<WebServer_root>'
make[1]: Entering directory `<WebServer_root>'
===> src/support
make[2]: Entering directory `/ss5/java/mckeown/apache_1.3.6/src/support'
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` htpasswd.c
gcc -DSOLARIS2=260 `../apaci` htpasswd.o -o htpasswd -L../os/unix \
-L../ap -los -lap -lsocket -lnsl
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` htdigest.c
gcc -DSOLARIS2=260 `../apaci` htdigest.o -o htdigest -L../os/unix \
-L../ap -los -lap -lsocket -lnsl
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` rotatelogs.c
gcc -DSOLARIS2=260 `../apaci` rotatelogs.o -o rotatelogs -L../os/unix \
-L../ap -los -lap -lsocket -lnsl
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` logresolve.c
gcc -DSOLARIS2=260 `../apaci` logresolve.o -o logresolve -L../os/unix \
-L../ap -los -lap -lsocket -lnsl
gcc -c -I../os/unix -I../include -DSOLARIS2=260 `../apaci` ab.c
gcc -DSOLARIS2=260 `../apaci` ab.o -o ab -L../os/unix -L../ap -los -lap \
-lsocket -lnsl
make[2]: Leaving directory `<WebServer_root>/src/support'
<=== src/support
make[1]: Leaving directory `<WebServer_root>'
<=== src

See Also

Operating the WebZ System
Installing the WebZ Extension (Version 4.1.x)
Installing WebZ (Version 4.1.x)

 

[Main][Documentation][Support][Technical Reference][Community][Glossary][Search]

Last Modified: