[mod-lisp-devel] setting up mod_lisp with apache
Sheng Han
shengh at cadence.com
Wed Oct 27 09:53:09 UTC 2004
Hi there,
I've some difficulty in setting up mod_lisp in apache. Hope someone out
there can shede some light on this.
I've compiled mod_lisp.c:
[root at lnx-mucvcadpool2 httpd-1-3-31]# ll
total 116
drwxr-xr-x 2 root root 4096 Oct 27 11:21 bin
drwxr-xr-x 2 root root 4096 Oct 25 17:49 cgi-bin
drwxr-xr-x 2 root root 4096 Oct 27 11:22 conf
drwxr-xr-x 3 root root 4096 Oct 25 17:49 htdocs
drwxr-xr-x 3 root root 4096 Oct 25 17:49 icons
drwxr-xr-x 3 root root 4096 Oct 26 17:21 include
drwxr-xr-x 2 root root 4096 Oct 27 11:21 libexec
drwxr-xr-x 2 root root 4096 Oct 26 17:22 logs
drwxr-xr-x 4 root root 4096 Oct 25 17:48 man
-rw-r--r-- 1 root root 49217 Oct 26 17:15
mod_lisp.c
drwxr-xr-x 2 nobody nobody 4096 Oct 25 17:49 proxy
[root at lnx-mucvcadpool2 httpd-1-3-31]#
[root at lnx-mucvcadpool2 bin]# ./apxs -a -i -c ../mod_lisp.c
gcc -DLINUX=22 -DHAVE_SET_DUMPABLE -DUSE_HSREGEX -fpic
-DSHARED_MODULE -I/home2/software/httpd-1-3-31/include -c
../mod_lisp.c
gcc -shared -o ../mod_lisp.so mod_lisp.o
[activating module `lisp' in
/home2/software/httpd-1-3-31/conf/httpd.conf]
cp ../mod_lisp.so
/home2/software/httpd-1-3-31/libexec/mod_lisp.so
chmod 755 /home2/software/httpd-1-3-31/libexec/mod_lisp.so
cp /home2/software/httpd-1-3-31/conf/httpd.conf
/home2/software/httpd-1-3-31/conf/httpd.conf.bak
cp /home2/software/httpd-1-3-31/conf/httpd.conf.new
/home2/software/httpd-1-3-31/conf/httpd.conf
rm /home2/software/httpd-1-3-31/conf/httpd.conf.new
Modified the httpd.conf file:
.....<snip> ....
LoadModule setenvif_module libexec/mod_setenvif.so
LoadModule lisp_module libexec/mod_lisp.so
...
ClearModuleList
...
AddModule mod_lisp.c
# Setup lisp dir for lisp code to be handled by LISP
LispServer 127.0.0.1 3000 "fractal"
<Location /asp>
SetHandler lisp-handler
</Location>
Alias /asp/ "/home2/software/asp/"
<Directory "/home2/software/asp">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
The server seems not happy with the port setting 3000, or its not
listening to 3000:
* (fetch-mod-lisp-url "localhost" "/asp/fixed")
Error in function CONNECT-TO-INET-SOCKET:
Error connecting socket to [localhost:3000]: Connection
refused
[Condition of type SIMPLE-ERROR]
Restarts:
0: [ABORT] Return to Top-Level.
Debug (type H for help)
(CONNECT-TO-INET-SOCKET "localhost" 3000 :STREAM)
Source: Error finding source:
Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file
no longer exists:
target:code/internet.lisp.
0] 0
So I added this to httpd.conf:
Listen 3000
restart and run the test function again:
* (fetch-mod-lisp-url "localhost" "/asp/fixed")
(("<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">" .
"<HTML><HEAD>")
("<TITLE>501 Method Not Implemented</TITLE>" . "</HEAD><BODY>")
("<H1>Method Not Implemented</H1>" . "url to /index.html not
supported.<P>")
("Invalid method in request url<P>" . "<HR>")
("<ADDRESS>Apache/1.3.31 Server at lnx-mucvcadpool2 Port
8000</ADDRESS>"
. "</BODY></HTML>"))
So I assume the server is openning the port and lisp is listening to
this port, am I right?
But as you can see, " ...Method Not Implemented...", in the returned
text. Something must be wrong.
Oh, of cause I have already open a lisp session in terminal and load the
cmucl lisp file:
(load "/home2/software/asp/modlisp-cmucl.lisp")
Now the problem is if I point my browser to the area that lisp suppose
to handle:
http://127.0.0.1:8000/asp/debug-table
As I understand debug-talbe is a predefined function in
modlisp-cmucl.lisp, so something should happen. However, I received
nothing in the browser, empty screen and empty source file. Look at the
apache log file:
In access.log:
127.0.0.1 - - [27/Oct/2004:11:43:46 +0200] "remote-ip-addr"
501 -
127.0.0.1 - - [27/Oct/2004:11:43:46 +0200] "GET
/asp/debug-table HTTP/1.1" 200 5
In error.log:
[Wed Oct 27 11:34:10 2004] [notice] SIGHUP received. Attempting
to restart
[Wed Oct 27 11:34:10 2004] [error] Cannot remove module
mod_lisp.c: not found in module list
[Wed Oct 27 11:34:10 2004] [notice] Apache/1.3.31 (Unix)
mod_lisp/2.35 configured -- resuming normal operations
[Wed Oct 27 11:34:10 2004] [notice] Accept mutex: sysvsem
(Default: sysvsem)
[Wed Oct 27 11:34:14 2004] [error] [client 127.0.0.1] Invalid
method in request url
[Wed Oct 27 11:43:46 2004] [error] [client 127.0.0.1] Invalid
method in request remote-ip-addr
Note the mod_lis.c is not found in module list. Where should I put it?
First invalid method in request url is generated from this function call
in lisp session:
(fetch-mod-lisp-url "localhost" "/asp/fixed")
the second "invalid mthod in request remote-ip-addr" is from the
broswser request for "debug-table".
It seems to me something is still wrong. Maybe someone can point it out?
Many thanks,
sheng
More information about the mod-lisp-devel
mailing list