My Apache HTTPD and Tomcat installation cosists for following version:

1. RedHat 8.0
2. Apache HTTPD 2.0.47 (from source)
3. Tomcat 4.1.24 (binary)
4. JK2 Connector (jakarta-tomcat-connector-4.1.24-src)

I followed all the setup instructions to install JK2 connector.
I am running HTTPD and Tomcat as same user (not as root ofcourse) [point to note here 
is that HTTPD is started as root but later switched to different user defined in 
httpd.conf file]

A part of workers2.properties looks like:
------------------
[shm:]
info=Scoreboard. Required for reconfiguration and status with multiprocess servers
file=/usr/local/apache/httpd/logs/shm.file
size=1000000
debug=0
disabled=0
-----------------

I start HTTPD first, wait, and then Tomcat. Tomcat (MOD_JK2) reports errors as seen in 
the following log.  I could the reason, why permission denied, since HTTPD starts up 
as root first and then switch to other user, in meantime "shm.file" gets created as 
root and so is not accessible by tomcat (which is started as other user and not root).

INFO: Starting Coyote HTTP/1.1 on port 8080
[Fri Jul 18 15:16:27 2003] ( info ) [jk_config_file.c (320)]  cfg.update() Updating 
config /usr/local/apache/httpd/conf/workers2.properties 0 1058551783
[Fri Jul 18 15:16:27 2003] ( info ) [jk_config_file.c (331)]  config.setConfig():  
Reading properties /usr/local/apache/httpd/conf/workers2.properties 7
[Fri Jul 18 15:16:27 2003] ( info ) [jk_logger_file.c (184)]  Initializing log file 
stderr
[Fri Jul 18 15:16:27 2003] (error ) [jk_shm.c (150)]  shm.create(): error opening file 
/usr/local/apache/httpd/logs/shm.file 13 Permission denied
[Fri Jul 18 15:16:27 2003] (error ) [jk_shm.c (358)]  shm.create(): error mmapping 
/usr/local/apache/httpd/logs/shm.file
[Fri Jul 18 15:16:27 2003] ( info ) [jk_workerEnv.c (403)]  workerEnv.init() ok 
/usr/local/apache/httpd/conf/workers2.properties
Jul 18, 2003 3:16:27 PM org.apache.jk.apr.AprImpl init
INFO: JK2: Initialized apr
Jul 18, 2003 3:16:27 PM org.apache.jk.common.ChannelSocket init
INFO: JK2: ajp13 listening on /0.0.0.0:8009
Jul 18, 2003 3:16:27 PM org.apache.jk.common.ChannelUn init
INFO: JK: listening on unix socket: /usr/local/apache/jakarta/tomcat/work/jk2.socket
[Fri Jul 18 15:16:27 2003] ( info ) [jk_jni_aprImpl.c (472)]  jkInvoke() invoke 
593e1450 
Jul 18, 2003 3:16:27 PM org.apache.jk.common.ChannelJni init
INFO: JK2: listening on channel.jni:jni
Jul 18, 2003 3:16:27 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=11/174  
config=/usr/local/apache/jakarta/tomcat/conf/jk2.properties

Consider other senario, assuming there is no such file like "shm.file" (since I 
started HTTPD before, so I shut it down and delete the shm.file), start Tomcat first 
it runs fine and does not log any error (see the log), I assume here that this is not 
a serious problem.

Comments !!!

INFO: Initializing Coyote HTTP/1.1 on port 8080
GlobalResourcesLifecycleListener: Naming exception processing jdbc: 
org.apache.naming.NamingContext:[EMAIL PROTECTED] javax.naming.NamingException: Could 
not create resource factory, 
ClassNotFoundException:org.apache.commons.dbcp.BasicDataSourceFactory
Starting service Tomcat-Standalone
Apache Tomcat/4.1.24-LE-jdk14
Jul 18, 2003 3:31:20 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on port 8080
[Fri Jul 18 15:31:20 2003] ( info ) [jk_config_file.c (320)]  cfg.update() Updating 
config /usr/local/apache/httpd/conf/workers2.properties -2130427774 1058551783
[Fri Jul 18 15:31:20 2003] ( info ) [jk_config_file.c (331)]  config.setConfig():  
Reading properties /usr/local/apache/httpd/conf/workers2.properties 7
[Fri Jul 18 15:31:20 2003] ( info ) [jk_logger_file.c (184)]  Initializing log file 
stderr
[Fri Jul 18 15:31:20 2003] ( info ) [jk_workerEnv.c (403)]  workerEnv.init() ok 
/usr/local/apache/httpd/conf/workers2.properties
Jul 18, 2003 3:31:20 PM org.apache.jk.apr.AprImpl init
INFO: JK2: Initialized apr
Jul 18, 2003 3:31:20 PM org.apache.jk.common.ChannelSocket init
INFO: JK2: ajp13 listening on /0.0.0.0:8009
Jul 18, 2003 3:31:20 PM org.apache.jk.common.ChannelUn init
INFO: JK: listening on unix socket: /usr/local/apache/jakarta/tomcat/work/jk2.socket
[Fri Jul 18 15:31:20 2003] ( info ) [jk_jni_aprImpl.c (472)]  jkInvoke() invoke 
5990f450 
Jul 18, 2003 3:31:20 PM org.apache.jk.common.ChannelJni init
INFO: JK2: listening on channel.jni:jni
Jul 18, 2003 3:31:20 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=2/209  
config=/usr/local/apache/jakarta/tomcat/conf/jk2.properties

Reply via email to