Configuring ACL PC and ACL UNIX CL-HTTP
- Basic Configuration
- Production Configuration
- Standalone Configuration
- Basic Configuration
1. System Requirements:
- If you are using ACL5: Check if new patches are available.
- To get ACL patches check:
Franz site or
Franz FTP site.
- If you are using ACL 4.3: CL-HTTP requires NO patches at this time.
- If you are using ACL 4.2: CL-HTTP requires recent patches to be loaded.
- If you are using ACLPC 3.0: CL-HTTP requires two patches to be loaded.
Install the patches prerr.fsl and socket3.fsl from ftp://ftp.franz.com/pub/patches/aclwin/3.0.1/
in the ALLEGRO/UPDATE directory before building/loading CL-HTTP in ACLPC. See also
http:acl;obc;-read-me-.text.
- If you are using ACLPC 3.0.1: CL-HTTP requires patches to be loaded.
Install patches from ftp://ftp.franz.com/pub/patches/aclwin/3.0.1/
in the ALLEGRO/UPDATE directory before building/loading CL-HTTP in ACLPC. See also
http:acl;obc;-read-me-.text.
- Under bare Allegro Common Lisp (ACL) for UNIX (SunOS 4.1.3x and SunOS 5.4)
the CL-HTTP image size in 1996 was around 6M bytes (depending on features loaded).
Therefore the initial CL-HTTP server runs within 16M bytes of memory.
2.0 Start Server on ACLPC for Windows NT or 95:
You can add a line of the form:
-
(load "C:\\[PATH-TO...]\\CL-HTTP-XX-XX\\ACL\\STARTPC.LISP")
- in the ALLEGRO/STARTUP.LSP file to start CL-HTTP on ACLPC. For instructions
to build, save an image and run a CL-HTTP, see
http:acl;obc;-read-me-.text.
2. Start Server on UNIX:
Copy http:acl;obc;http.script to http:acl;obc;http and change the top shell variables (if needed) including:
- HTTP= path where this version of CL-HTTP is accessible.
- BIND80= path where the root-owned version of bind80 will be located.
- DOMAINNAME= DNS domain name of your site (this is usually optional).
Then run the shell script
http:acl;obc;http
to set-up and
start the CL-HTTP server from UNIX. The shell script may be used to compile,
build and run the CL-HTTP server. (Shell: $ chmod 755 acl/http; acl/http -help). See also
http:acl;obc;-read-me-.text. Note:
Using http:acl;obc;http
replaces step 3 throught 7 below.
3. Load Server: To load
the server directly from ACL (i.e. if you are not using the shell script
http:acl;obc;http),
start ACL, change the directory to the current CL-HTTP source directory and load the file
http:acl;obc;start.lisp. Use the
commands ":cd ~[...]/cl-http" (to set the current-directory to the present
CL-HTTP source directory), then ":ld acl/start" to start the
compile/load/run script from ACL. The start file defines the HTTP logical host
and the required system declaration files. Note: Using
http:acl;obc;start.lisp
replaces steps 4 through 7 below.
4. Set Configuration
Switches: Load Configuration.lisp or
equivalent to initialize the parameters controlling the operation of the
server. The comments describe the various switches.
5. ACL Specific Configuration
Switches: Load http:acl;obc;configuration.lisp
or equivalent to initialize parameters required for the ACL version under
UNIX. The comments describe the reason for these switches.
6. Export URLs: Use HTTP:EXPORT-URL
function to make URL available through the server. At first, load the examples
in http:acl;obc;exports.lisp
and Exports.lisp. Then,
you can adapt or extend these examples to meet your own needs.
7. Start Server: Evaluate (HTTP:START) to start
the server using ACL command line argumetns from the UNIX, also see
HTTP:ENABLE-HTTP-SERVICE
to start the server without arguments.
8. Stop Server: Evaluate
(HTTP:EXIT)
to stop the server and exit ACL. Evaluate (HTTP:EXIT NIL) to stop the server
and remain in ACL, also see the equivalent HTTP:DISABLE-HTTP-SERVICE to only stop the server.
- Production Configuration
Once you are ready to open up your server to production level loads, you can
improve server performance by making the following changes to your version of
Configuration.lisp:
Disable Log Domain
Resolution: Set the variable HTTP:*RESOLVE-IP-ADDRESSES-FOR-LOG*
to NIL or your machine will be bogged down trying to resolve client domain
names. This is done by default.
Disable Log Notifications:
Turn off log notifications on the console with HTTP:LOG-NOTIFICATIONS-ON. See examples in the script
http:acl;obc;http.script.
Log notifications is turned off by default when starting CL-HTTP from the
shell script unless the "-log" option is specified.
Tune Simultaneous
Connections: Adjust the number of simultaneous connections that you allow
with HTTP:SET-MAXIMUM-NUMBER-OF-CONNECTIONS.
- Standalone Configuration
CL-HTTP has not been tested in standalone configuration under UNIX, and it's
not clear what network services (if any) are needed for the ACL/UNIX tcp
interface to work properly in standalone. However one can already use the same
workstation on an isolated network as both CL-HTTP server and client. If
references to URLs cannot be translated, use the IP address of the server.
References to the local host in HTML may have to omit the host component
so that URLs will be relative to the local host (IP address) serving the
documents.
If you have any questions or suggestions, or would like to join other CL-HTTP users on the Internet, send mail to www-cl@csail.mit.edu