|
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:
- Change
index.html to sitesearch.html. The variable should now look like
the following:
- 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>
|
|
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:
- Use the
default User ID, WebZUser, and password, WebZUser.
- Click
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)
|